我开始研究文件系统,尤其是 FAT* 和 NTFS。
在 FAT 文件系统中,簇可能是 Data 或 Directory 簇,并且根目录的起始簇号始终是已知的,因为在 FAT32 之前它在格式化时是固定的,并且与 FAT32 一样,在引导的扩展 BIOS 块中可以找到部门。
另一方面,NTFS 组织主文件表下的所有内容,并为系统中的每个文件和目录提供 MFT 记录。主文件表的第 27 个位置标记为保留,第一个索引由 $MFT 记录组成,它描述了 MFT 本身。
我了解 NTFS 如何通过常驻/非常驻数据属性跟踪数据,而 FAT 使用目录条目来查找集群链的第一个集群并参考文件分配表进行进一步处理。
现在我的头脑发现很难“处理”这些事情。
我在哪里可以找到 NTFS 中的根目录?
MFT 记录中的目录如何表示?常驻和非常驻方式,如何通过当前 MFT 记录找到子目录 MFT 记录?
如果 MFT 记录后半部分中指定的集群运行超出 1024 字节限制怎么办?(我理解这意味着一个严重碎片化的文件)