随着文件中片段数量的增加,您可以看到 MFT 记录中使用的字节数增加。正如预期的那样,它以 8 的增量增长,直到填满 1024 字节基本记录的每个最后一个字节,然后才拆分为第二条记录。乍一看,您可能期望答案是“1024 - headerlength”。
但是,随着第二条记录的增长,它不会使用该记录的每个字节。相反,它在 1016 处达到最高值,当它拆分为第三条记录时,留下 8 个字节的记录未使用(见下文)。如果我继续拆分运行,第三条记录也会拆分,再次拆分为 1016 而不是 1024。
NTFS 通常在处理 MFT 记录方面非常高效,这使得这种行为非常可疑。它闻起来像个虫子,尽管我想可能有一些模糊的原因是必要的。
但后来我开始尝试 4k MFT 记录 ( format /L
)。并且基本记录和扩展记录总是使用完整的 4096 字节。
所以现在它看起来真的像一个错误。虽然我不确定这个错误是否是 1k 记录在 1016 处达到顶峰,或者 4k 记录没有在 4088 处达到顶峰。要么有充分的理由保留这些最终字节,要么没有,对吧?
除了浪费宝贵的资源之外,它还使计算 MFT 记录上的“可用”空间变得非常复杂。公式真的是“假设记录将增长到 MFT 记录大小,除非它是扩展记录,然后减去 8,除非它是 4k 记录,然后不做减法?” 或者这种行为是否意味着这里还有其他一些标准?有诀窍吗?
FWIW,这是拆分前的 1016 字节记录(如在磁盘编辑器中所见)。您可以看到属性标记的结尾 (FFFFFFFF 82794711),后跟 8 个空字节。尾随的 02 00 是 MFT 记录使用的 Updatebytes。下一次拆分后,这条记录的大小减少了一半。
Offset | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ASCII
------------------------------------------------------------------------------------------------
00C8788400 | 46 49 4C 45 30 00 03 00 E2 2F 31 C5 11 00 00 00 | FILE0..../1.....
00C8788410 | 2F 00 00 00 38 00 01 00 F8 03 00 00 00 04 00 00 | /...8...........
00C8788420 | 51 31 00 00 00 00 8F 00 01 00 00 00 21 1E 02 00 | Q1..........!...
00C8788430 | 02 00 11 01 00 00 00 00 80 00 00 00 B8 03 00 00 | ................
00C8788440 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00C8788450 | 3E 08 00 00 00 00 00 00 40 00 00 00 00 00 00 00 | >.......@.......
00C8788460 | 00 F0 83 00 00 00 00 00 62 EB 83 00 00 00 00 00 | ........b.......
00C8788470 | 62 EB 83 00 00 00 00 00 41 01 80 F0 9E 03 11 01 | b.......A.......
00C8788480 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788490 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87884A0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87884B0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87884C0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87884D0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87884E0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87884F0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788500 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788510 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788520 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788530 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788540 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788550 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788560 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788570 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788580 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788590 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87885A0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87885B0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87885C0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87885D0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87885E0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87885F0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 02 00 | ................
00C8788600 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788610 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788620 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788630 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788640 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788650 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788660 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788670 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788680 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788690 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87886A0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87886B0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87886C0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C87886D0 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87886E0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87886F0 | FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788700 | 11 01 FF 11 01 FF 31 01 32 A1 FE 11 01 FF 21 01 | ......1.2.....!.
00C8788710 | 3A FE 11 01 FF 21 01 C3 F8 11 01 FF 21 01 BD FB | :....!......!...
00C8788720 | 11 01 FF 11 01 FF 21 01 52 FD 11 01 FF 11 01 FF | ......!.R.......
00C8788730 | 11 01 FF 21 01 A5 A9 11 01 FF 21 01 A2 EF 11 01 | ...!......!.....
00C8788740 | FA 11 01 F9 11 01 FF 11 01 FF 11 01 FF 11 01 FD | ................
00C8788750 | 11 01 FF 11 01 FB 11 01 FF 11 01 F2 11 01 FB 11 | ................
00C8788760 | 01 FC 11 01 FD 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C8788770 | FD 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF | ................
00C8788780 | 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C8788790 | 01 FF 11 01 FF 11 01 FF 11 01 FF 21 01 F4 FE 21 | ...........!...!
00C87887A0 | 01 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 | ................
00C87887B0 | 01 FF 11 01 FF 11 01 FF 21 01 FD FE 11 01 FF 11 | ........!.......
00C87887C0 | 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 FF 11 01 | ................
00C87887D0 | FF 11 01 85 11 01 FF 11 01 FB 11 01 FF 11 01 FF | ................
00C87887E0 | 11 01 FF 11 01 FB 42 1F 07 3A 3D C5 01 00 00 00 | ......B..:=.....
00C87887F0 | FF FF FF FF 82 79 47 11 00 00 00 00 00 00 02 00 | .....yG.........