使用移动硬盘有时候打开一个目录或者一个盘符会出现磁盘结构损坏且无法读取,出现这种情况就是文件系统出错(NTFS文件系统下是MFT损坏,FAT文件系统下是FAT表损坏),本文就以NTFS文件系统为例
现在就手工来修复,使用的工具是十六进制编辑器winhex
打开winhex进入到这个损坏的分区如下图所示:
接下来就定位到MFT的位置观察一下,一般情况下MFT所在的位置是6291456扇区,如果发现6291456扇区不是MFT的位置,那就全盘搜索46 49 4C 45 (十六进制)
在6291456扇区现在可以看到已经变得面目全非了,接下来就是重建MFT,其实重建MFT挺简单的,找一个好的NTFS文件系统把他的MFT复制一个,如图所示
这是我另一个NTFS文件系统现在就复制一个MFT 这里需要注意的是一个MFT占用两个扇区,复制的时候要注意一下
MFT改完之后要把MFTMirr也改一下|之前的文章有介绍MFTMirr这里就不讲了)因为MFT损坏后MFTMIrr也会损坏,MFTMirr的位置在16号扇区
重建完MFT后要把80属性的簇流改一下
首先跳出MFT的范围
算一下找的对不对,用当前扇区减去索引值|6291966-255-255=6291456)减两遍的意思是一个MFT项占两个扇区算出的结果刚好等于MFT的位置,说明找的没错
现在就将索引值填入MFT的80属性簇流中,这个索引值需要先+1然后*4,原因是MFT占两扇区要*2,一个簇占8个扇区要 /8 ,+1是从0开始的(本文算出的结果是64)
1:在Data Interpreter 32bit中填入64
2:在Data Interpreter 32bit中填入63|64-1)
3:在Data Interpreter 32bit中填入262144(64*8*512)
4:在Data Interpreter 32bit中填入262144
5:在Data Interpreter 32bit中填入262144
把簇流的第一个字节改为32,然后把MFTMirr也改一下,都改之后更新一下快照。
提示增加了177个文件,恢复完成