主文件表
[本文档仅适用于 NTFS 卷的版本 3。]
主文件表 (MFT) 存储从 NTFS 分区检索文件所需的信息。
文件可能有一个或多个 MFT 记录,可以包含一个或多个属性。 在 NTFS 中,文件引用是基本文件记录的 MFT 段引用。 有关详细信息,请参阅 MFT_SEGMENT_REFERENCE。
MFT 包含文件记录段;其中前 16 个是为特殊文件保留的,例如:
- 0:MFT ($Mft)
- 5:根目录(\)
- 6:卷群集分配文件($Bitmap)
- 8:群集文件错误($BadClus)
每个文件记录段都以文件记录段标头开头。 有关详细信息,请参阅 FILE_RECORD_SEGMENT_HEADER。 每个文件记录段后跟一个或多个属性。 每个属性都以属性记录标头开头。 有关详细信息,请参阅 ATTRIBUTE_RECORD_HEADER。 属性记录包括属性类型(如$DATA或$BITMAP)、可选名称和属性值。 用户数据流是一个属性,与所有流一样。 属性列表以0xFFFFFFFF($END)终止。
下面是一些示例属性。
- $Mft文件包含按顺序排列的 MFT 记录段序列的未命名$DATA属性。
- $Mft文件包含一个未命名的$BITMAP属性,该属性指示正在使用哪些 MFT 记录。
- $Bitmap文件包含一个未命名的$DATA属性,该属性指示正在使用哪些群集。
- $BadClus文件包含一个名为$BAD的$DATA属性,该属性包含对应于每个错误的群集的条目。
在文件记录段中存储属性没有更多空间时,将分配其他文件记录段,并将其插入到名为属性列表的属性的第一个(或基)文件记录段中。 属性列表指示可以找到与文件关联的每个属性的位置。 这包括基本文件记录中的所有属性,属性列表本身除外。 有关详细信息,请参阅 ATTRIBUTE_LIST_ENTRY。
与 MFT 相关的结构包括:
- ATTRIBUTE_LIST_ENTRY
- ATTRIBUTE_RECORD_HEADER
- FILE_NAME
- FILE_RECORD_SEGMENT_HEADER
- MFT_SEGMENT_REFERENCE
- MULTI_SECTOR_HEADER
- STANDARD_INFORMATION
相关主题