NTファイルシステム
NTFSは1993年にWindowsNTから採用され、WindowsNTや2000で使われるセキュリティやファイルサイズなどを強化したファイルシステムです。
WinNTの流れをくむWindows XPでは、Windows98やMeで用いられたFAT32ファイルシステムも使えますが、標準のファイルシステムはNTFSとなります。
NTFSはMS-DOSとの互換性を気にすることなく新規に開発されただけあって、読み書き速度やディスク利用効率に優れています。ユーザーごとのファイルへのアクセス許可やディスク使用量制限も可能でマルチユーザー環境でも使えます。
また、FAT32ではHDDの空き容量にかかわらず、1ファイル最大4GBまでしか記録できませんが、NTFSでは2TBまで対応しています。
NTFS
ディスクドライブ | クラスタサイズ |
---|---|
512MB 迄 1024MB 迄 2048MB 迄 4096MB 迄 8192MB 迄 16384MB 迄 32768MB 迄 32768MB 以上 |
512 バイト 1KB 2KB 4KB 8KB 16KB 32KB 64KB |
ただし、NT3.51 以降では NTFS の標準クラスターサイズは 4KB が上限になります。また、FAT から NTFS Convert した場合、クラスターサイズは 512 バイトになります。(XP および .NET Server 以降の Convert.exe では、任意のクラスターサイズで Convert 可能です。 )
NTFSでは、ディスク中に含まれるすべてのファイルやフォルダごとに固定長の管理レコードを作成し、これを集中的に管理することで、ファイル・システムの柔軟性と機能性、信頼性を向上させい ます。この管理レコード群はMFT(MasterFile Table)と呼ばれ、MFTの概要は次の図のようになります。
![]() |
MFTの構成 |
MFT(Master File Table)は、ファイルやディレクトリごとに1つないし複数が対応する固定サイズ(通常は1Kbytes)のレコードからなります。このレコードの内部には、ファイル名やタイムスタンプに加え、ファイルの属性が記録されます。特徴的なのは、図の上側のレコードに示すようにファイルのデータ自体も属性の一部として捉え、サイズの小さなもの(通常は750bytes程度かそれ以下)については、MFT中のレコードに直接データを記録することです。MFTレコード内に収まりきらないサイズのファイルについては、図の下側のレコードに示すようにMFT外部のクラスタにこれを書き込み、そのクラスタへのインデックスをMFTレコードに記録しておきます。 |
このようにMFTは、固定長のレコードからなるテーブルで、NTFSボリューム中に存在するファイルやディレクトリごとに1つ複数のエントリが対応します。レコード・サイズは最小で1Kbytes、最大で4Kbytesですが、通常は1Kbytesになります。新しいファイルやフォルダが作成されると、MFT内のレコードが1つ割り当てられ ます。
MFTには、ファイル名やファイルのタイムスタンプ(作成日時/更新日時/アクセス日時)、アクセス権などの基本情報に加え、ファイルのデータ自身(ファイル本体)も属性の一部として捉え
ます。これがNTFSの大きな特徴の1となります。
つまり他の属性データのサイズにもよるが、通常は約750bytes程度までの小さなファイルなら、MFTレコード内に記録されてしまい、この場合、ファイル名などに関する情報と、データ自体を同じ場所から読み出すことが可能なので、ファイル・アクセスは極めて高速にな
ます。