$MFT文件在RAID分析中可以很方便地帮我们找到校验块的位置,还能够分析出条带大小。

用$MFT文件定位校验块

$MFT文件由文件记录构成,每个文件记录的大小为两个扇区,并且文件记录都是以固定的4个字节开始,这4个字节是十六进制的“46 49 4C 45”。通过这个特征我们可以判断RAID-5中哪些条带是数据块,哪些条带是校验块。

例如一个由3块成员盘组成的RAID-5,这3块成员盘已经做成文件镜像,分别命名为1.img、2.img、3.img,将它们都用WinHex打开,找到$MFT文件所在位置,并把3块成员盘跳转到同一个扇区进行比较,如图17-15所示。

$MFT文件在RAID分析中的作用-数据恢复迷

图17-15 3块成员盘的比较

从图17-15中可以看出1.img和3.img都是正常的文件记录,扇区的前4个字节是十六进制的“46 49 4C 45”,而2.img当前扇区前4个字节则是0,说明2.img当前扇区所在条带是校验块。

注意:这种判断校验块的方法只适用于成员盘数目为奇数的RAID-5。

用$MFT文件判断条带大小

还用图17-15中的例子来说,从这3块成员盘的文件记录中,还可以看到它们的文件记录号,如图17-16所示。

$MFT文件在RAID分析中的作用-数据恢复迷

图17-16 成员盘的文件记录号

1.img的当前文件记录号为0x23,换算为十进制等于35;2.img当前扇区是校验,不用管它;3.img的当前文件记录号为0x33,换算为十进制等于51。因为当前的3块成员盘都在同一个扇区的位置,所以相邻两块成员盘的文件记录号相减的结果就是一个条带包含的文件记录数,用51减去35等于16,也就是说该RAID-5条带大小为16个文件记录的大小,而每个文件记录占2个扇区,所以条带大小为32个扇区。