ファイル システム、特に FAT* と NTFS について勉強し始めました。
FAT ファイル システムでは、クラスターはデータ クラスターまたはディレクトリ クラスターである可能性があり、ルート ディレクトリの開始クラスター番号は常にわかっています。これは、FAT32 より前はフォーマット時に修正されていたためであり、FAT32 と同様に、ブートの拡張 BIOS ブロックで検出されます。セクタ。
一方、NTFS は、システム内の各ファイルとディレクトリの MFT レコードを使用して、マスター ファイル テーブルの下にすべてを整理します。マスター ファイル テーブルには、予約済みとしてマークされた最初の 27 番目の位置があり、最初のインデックスは、MFT 自体を記述する $MFT レコードで構成されます。
NTFS が常駐/非常駐データ属性を介してデータを追跡する方法を理解していますが、FAT はディレクトリ エントリを使用してクラスタ チェーンの最初のクラスタを検索し、さらに処理するためにファイル アロケーション テーブルを参照します。
今、私の心は、これらのことを「処理する」のが難しいと感じています。
NTFS のルート ディレクトリはどこにありますか?
ディレクトリは MFT レコードでどのように表されますか? 常駐および非常駐の両方の方法で、現在の MFT レコードを介してサブディレクトリ MFT レコードを見つけるにはどうすればよいですか?
MFT レコードの後半で指定されたクラスター実行が 1024 バイトの制限を超えた場合はどうなりますか? (これはひどく断片化されたファイルを意味することを理解しています)