0

我开始研究文件系统,尤其是 FAT* 和 NTFS。

在 FAT 文件系统中,簇可能是 Data 或 Directory 簇,并且根目录的起始簇号始终是已知的,因为在 FAT32 之前它在格式化时是固定的,并且与 FAT32 一样,在引导的扩展 BIOS 块中可以找到部门。

另一方面,NTFS 组织主文件表下的所有内容,并为系统中的每个文件和目录提供 MFT 记录。主文件表的第 27 个位置标记为保留,第一个索引由 $MFT 记录组成,它描述了 MFT 本身。

我了解 NTFS 如何通过常驻/非常驻数据属性跟踪数据,而 FAT 使用目录条目来查找集群链的第一个集群并参考文件分配表进行进一步处理。

现在我的头脑发现很难“处理”这些事情。

我在哪里可以找到 NTFS 中的根目录?

MFT 记录中的目录如何表示?常驻和非常驻方式,如何通过当前 MFT 记录找到子目录 MFT 记录?

如果 MFT 记录后半部分中指定的集群运行超出 1024 字节限制怎么办?(我理解这意味着一个严重碎片化的文件)

4

1 回答 1

0

我必须回答自己,因为它可能对其他人有用。

NTFS 中的根目录位于 MFT 保留记录的索引 5 处。

NTFS 中的目录 MTF 记录几乎表示为文件 MTF 记录,但存储索引根和索引分配属性而不是数据属性部分。Index Root 包含 MFT 中 MFT 记录的索引,这些索引表示存储在实际目录中的文件和目录。

索引分配用于在数据运行大于 1024 字节限制的情况下,以取消引用数据延续到另一个 MFT 记录。

于 2017-09-10T15:29:20.393 回答