我正在编写一些代码来解析 NTFS 卷中磁盘上的 MFT。这很简单,但一个特殊的角落案例引起了我的注意,我在互联网上的任何地方都找不到明确的答案。
对于 NTFS 中的普通文件,如果文件的属性多于单个记录的容量(例如,如果文件有很多硬链接,则有很多 $FILE_NAME 属性,或者很多$DATA 属性(如果它有许多备用数据流)。
参考编号为 0 的 $MFT 文件保存 MFT 本身的数据运行。通常它是一个没有孩子的单一记录。$MFT 文件是否有可能有子记录?如果可能的话,你怎么知道在哪里可以找到它们?这些子记录是否必须以非常低的参考号存储,以便您可以可靠地获取它们,而不必已经解析 $MFT 以知道它们在磁盘上的位置?