NTFS の概要 =========== ドライバの開発は、最近になって (2001 年 6 月から)、Legato System 社 (http://www.legato.com) の支援を受けています。 NTFS ボリュームをマウントするにはファイルシステム種別 'ntfs' を使用し ます。現状、ドライバはフォールトトレランスのサポートをしておらず、読み 出しのみのモードで動作します。 危険な (!) 書き込みのサポートを有効にする場合は、データを失っても完全 に復旧できる状態か確認してください。さらに、Linux-NTFS プロジェクトの 配布物を http://sourceforge.net/projects/linux-ntfs/ にある Sourceforge からダウンロードして、Linux の NTFS ドライバによる損傷を修 復するために、Windows の再起動時 chkdsk が自動的に実行されるように、 Linux から書き込みを行った後は、配布物に含まれる ntfsfix ユーティリティ をいつも実行してください。Linux ではパーティションをアンマウントした * 後* に、再起動で Windows を動かすときはその *前* に、ntfsfix を実行す べきです。Windows への再起動の間に、残りの損傷を修復するため自動的に chkdsk が実行されます。エラーが見つからなければ、ドライバと ntfsfix が 十分満足に動作したというしるしです。(-; 実験的な書き込みのサポートは Windows NT4 およびそれ以降の ntfs のマウ ントに適用されますので注意してください。 バグを発見したと思うなら、それがまだ既知かどうか確かめるために、以下の "既知のバグ" のセクションを見てください。 ftdisk のサポートは、md ドライバの先頭のボリュームセットに対して成功し たという制限付きの報告がありましたが、ミラーセットおよびストライプセッ トでも動作するはずです - md ドライバが Windows NT と同様の配置を用いて 扱っていると仮定しての話です。しかし、NTFS パーティションのセクタ数が 奇数の場合、md ドライバの使用は失敗するでしょう。 サポートされるマウントオプション ================================ (表記上、<論理値> は 0(no,false) か 1(yes,true) をとります) iocharset=name ファイル名を返す時に使う文字セット。 VFAT と違い、NTFS では機種依存文字の使用は抑え られています。 utf8=<論理値> ファイル名の変換に UTF-8 を使います。 uni_xlate=<論理値>,2 現在の文字セットに含まれない文字を持つファイル 名に VFAT 形式のエンコーディングを使います。論 理値は機能を有効にし、2 という値は vfat.txt に 記載された ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12) のエ ンコーディングを有効にします。 uid= gid= umask= これらのオプションは mount(8) に記載された動作 をします。 既定値では、ファイルの所有者は root でその他の 人は読み出し禁止になっています。 posix=<論理値> 有効にすると、ファイルシステムは大文字と小文字 を区別します。8.3 形式の「短い名前」は隠されず にハードリンクとして現れます。 [訳注:短い名前とは、例えば "Program Files" に 対する PROGRA~1 といったものです。] show_sys_files=<論理値> 有効なら、通常のファイルとしてシステムファイル をすべて見せます。$MFT は特別に指定しなければ、 現れないことに注意してください。bash では、 "ls -l \$MFT" を使用します。 それらのシステムファイルには何も書かないように 気をつけてください。さもないと、カーネルをクラッ シュさせたり、ファイルシステムを壊します! 既知のバグと (誤った) 機能 ========================== - ファイルシステムを壊してしまうので、このドライバで書き込みを行わない でください。書き込みをしてしまった場合は、Linux-NTFS ツールを入手し て、書き込んだパーティションのマウントをはずした後 ntfsfix ユーティ リティを使用してください。 - show_sys_files マウントオプションを使った方が、一般的にうまく動作し ます。(その結果、システムファイルはショートおよびロングファイル名の 両方で見えることになります。) - 拡張レコードの書き込みはたぶんサポートされません。 sourceforge の linux-ntfs-dev@lists.sourceforge.net の Linux-NTFS 開発 メーリングリストにバグの報告/提案/フィードバック/雑言を送ってください。 履歴 ==== NTFS 1.1.15 (kernel 2.4.4 の NTFS ドライバからの変更): - 通常のファイルとしてシステムファイルをすべて見せるための新し いマウントオプション show_sys_files=<論理値> - ファイルおよび一般的な属性のサイズについて、NTFS ファイルシ ステムにサポートされる 2 テラバイトまでサポートしました。要 は、32 ビットで表せる i-ノード/クラスタをサポートしただけで す。 - 128 キロバイト以上のサイズの runlist をサポートしました (kmalloc() の代わりに vmalloc_32() を使用しました)。 - クラスタおよび mtf レコードの割り当ての競合を修正しました。 - 属性の扱い/検索/照合の主なバグを修正しました。 - run list を mapping pair array に圧縮するときの主なバグを修 正しました。 - i-ノードの割り当ての主なバグを修正しました。殊にファイル作成 と mkdir。 - メモリリークを修正しました。 - i-ノードの配置におけるシーケンス番号の割り当ての主なバグを修 正しました。 - 他の多くのバグを修正しましたが、思い出せません・・・ - Stanford の検証者が見つけた ntfs_dupuni2map() の NULL バグを 修正しました。 - 大きなスタック変数を、ntfs_get_free_cluster_count() の中で、 動的配置するように改造しました (Stanford の検証者が見つけま した)。 Kernel 2.4.4: - 履歴を開始 ---------------------------------------------------------------------- 日本語訳:野本浩一 校正:森本淳さん 後藤正徳さん 武井伸光さん