マスター ファイル テーブル
From Wikipedia, the free encyclopedia
マスターファイルテーブル(英: Master File Table、MFT)とは、NT File System (NTFS) において、ファイルシステム上に存在するすべてのファイルのエントリを管理するファイルである。MFTには$Mftというファイル名が割り当てられ、MFT自身もMFT上にエントリが存在する。
メタファイル
ファイルシステムの構造
また、トランザクションジャーナルはファイルシステムの一貫性を保証し、突然のシステムダウンや稼動時の欠陥クラスタ発見など不意の障害が発生した場合にファイルシステム全体の破綻を招かないよう、常にファイルシステムへの操作が$MFTと$LogFileあるいはその両方に存在し、信頼性を確実なものにしている。ファイルシステムへの操作は$LogFileに次々と書き加えられていくが、$MFTと$LogFileはファイルシステム上に固定的に存在する領域としてカーネルのntfs.sysドライバから管理されている為、ファイルシステムの構造から独立しており、重要なトランザクションのアクセスはファイルシステムの論理層をバイパスしてハードディスクに直接書き込まれ、定期的に$LogFileから$MFTに転記が行われる。
MFTの断片化はパフォーマンスの悪化に繋がるため、NTFSは連続した領域をMFT専用として予約している。この領域のことをMFT領域と呼び、アクセスプライオリティ上ユーザーファイルがMFT領域に書き込まれないようになっている。しかし、この規則は絶対的ではなく、ファイルシステム容量が不足してくるとMFT領域にもユーザーファイルを保存する様になる。
MFT領域としてラベルされる領域のサイズはWindowsのバージョンによって異なる。Windows XP以前まではファイルシステムの12.5%が予約されていたが、Windows Vistaからは200MBをMFT領域として扱う。