ご存知のように、NTFS ではメタデータを MFT レコード (いくつかの実行を含む) と呼ばれる構造に保存します。
本は次の質問をします
短いファイルが長いファイルよりも多くの MFT レコードを使用している可能性はありますか?
答えはノーだと思います。メタデータが複数の MFT のサイズであるファイルがある場合は、実行を使用する必要があるためです。他の提案はありますか?
答えはイエスです。
MFT レコード (NT4 までは 4KB、現在は 1KB) にはファイル属性 (ファイル名、セキュリティ情報、小さなファイル データなど) が含まれます。これらの属性の一部は、常駐 (= 属性ヘッダーと属性データの両方が MFT レコードにある) または非常駐 (属性ヘッダーのみが MFT にあり、属性データはディスク上の別の場所に保存されます。たとえば、データ属性は通常、非居住者)。一部の属性は常駐しておく必要があります。たとえば、ファイル名属性です。一部の属性は、常駐または非常駐にすることができます。たとえば、データ属性です。
ファイルが大きい場合、MFT レコードにはデータ属性の属性ヘッダーのみが含まれますが、データは別の場所にあることを意味します。したがって、ファイルが大きい場合でも、MFT レコードは 1 つしか使用されません。一方、非常に小さなファイルでも、このファイルに複数のファイル名 (リンク) がある場合、NTFS はすべてのファイル名属性に対応するために、より多くの MFT レコードを割り当てる必要があり、多くの MFT レコードにまたがる可能性があります (属性と呼ばれる特別な属性を使用)。リスト)。
通常、新しく作成された (まだデータのない) ファイルは常駐されます。つまり、十分なスペースがある限り、新しいデータは MFT レコードに配置されます。データが大きくなり、使用可能な MFT レコード スペースに収まらなくなると、データは MFT からクラスターのブロックに移動することによって非常駐になります (実行リストを持ちます)。ファイルが非常駐である場合、後でデータが 1 バイトまたは 0 バイトに縮小された場合、常駐に戻されることはありません。
sparse
ファイルのタイプが であり、データがまだ書き込まれていない場合、大きなデータが常に非常駐になるとは限りません。サイズが 1MB のスパース ファイルは、書き込まれたデータが利用可能な MFT レコード スペースに収まる限り常駐できます。
0 バイトのファイルは、複数のハードリンクがある場合、複数の MFT レコードを使用することさえできます。この場合、他の MFT レコードには、残りのハードリンク名が格納されます。