NTFS 文件系统中的 MFT 在哪里

Where is MFT at NTFS filesystem

我想知道我是否到处都能找到 FF FF FF FF 它表示那里有一个 MFT 块。因为 here 他们说:

you can quite clearly see the 0xFFFFFFFF end of file marker that marks the end of the new MFT entry (byte offset 504).

不完全是。所有 MFT 条目都与 簇或文件记录大小 对齐,它们是磁盘扇区大小的倍数。通常 MFT 中的文件记录长度为 1024 字节,文件记录的大小和到 MFT 的偏移量存储在卷的第一个扇区中一个名为 NTFS bios 参数块 的结构中.您可以在 ReactOS 源代码中找到该结构 here.

所有 MFT 文件条目在偏移量 0 处都有一个幻数(例如 FILE 或 BAAD)。 MFT的确切大小可以通过解析MFT的第一条文件记录的属性得到,也就是MFT本身。一个未命名的非常驻数据属性包含整个 MFT 的大小和它在磁盘上的片段的数据 运行。

文章中提到的0xFFFFFFFF是在表示文件记录属性结束的最后一个属性的类型字段中找到的。解析此值会浪费时间而且不完全准确,因为其他文件可能包含它。