|
前天不正常热插拔了一个160GB的移动[wiki]硬盘[/wiki](带1394和USB2.0的奈雷特),这种事我经常干,一直过于信任WINXP对于热插拔的良好支持,但是前天厄运之神终于降临了我。前天,有一次复制一个4GB的镜像文件时,突然觉得USB2.0有点慢,于是换成了1394,结果换上之后,系统自动安装了驱动(新装的系统,还没有用过1394所以要装驱动),之后提示我重启。重启就重启,没什么大不了的,但是奇怪的是重启后,系统进入了CHKDSK的扫描界面。这时我就有一种不好的预感了,因为他只扫描了前三个分区而已,我一共有五个分区,前三个是NTFS,第四个是EXT3(当初为了装ubuntu体验一下用PQ调整的分区),第五个也是NTFS,60GB大小。
怎么CHKDSK只扫描了前三个而已呢?EXT3没有扫描还可以理解,第五个分区明明是NTFS的怎么也没有扫描啊?结果一进系统一看,完了,果然,第五个分区显示为“本地磁盘”卷标没了,很明显这个分区已经变成RAW盘了。而且提示“文件或目录损坏,无法读取”。
我第一个想到的是DBR坏了,因为上次因为装ubuntu的GRUB时装错了分区,装到了这个分区,就是DBR被GRUB覆盖掉了。结果用易我磁盘医生这种软件就轻松解决了,连winhex都不用开。 可是这次用易我磁盘医生竟然提示“无法修复引导记录”!!!
我就纳闷了,DPT不可能坏,因为能够正常识别第五个分区,只是无法读取而已。而且我之前备份过[wiki]分区表[/wiki],报着试试看的态度我恢复了一下DPT,果然没用。
然后我又用“C:CHKDSK /F J:”,竟然提示“无法识别卷版本”,以前从来不会这样的。我在网上搜了一搜,才发现很有可能是MFT损坏了,之前从来没有遇到过啊,太棘手了。然后我用R-STUDIO扫描了一下,果然,提示MFT文件已经超出边界之外,无法读取!!!而且还有几个[wiki]扇区[/wiki]的读取显示I/O错误。是[wiki]坏道[/wiki]的原因吗?不过我用HDTUNE却扫描不出坏道来!!!
不过难怪我用EASY RECOVERY尝试恢复时,竟然一个有用的文件都找不到,唯一找到几个还是没有名字的,在SYSTEM VOLUME INFOMATION里面的文件。
我后来在论坛上搜了一下,发现我的情况与这两位兄弟的非常类似,MFT元文件产生了移位!!
下面是图, @FILE0的标记明明应该是从扇区的开头开始的,而这里却是从第二行开始:
第一行是什么东西,标记坏道用的吗?
总之,最后用GetDataBack for NTFS可以很好的恢复所有数据,但是不从实质上解决这个问题实在是不爽,我希望能够直接在原分区上把数据修复!!!希望大家提供具体的方案!!!!!!谢谢了!!!!!!!!!!!!!
顺便一提GDB FOR NTFS对MFT损坏的修复的确非常牛X,竟然能够通过搜索整个分区重新建立起一个新的MFT和目录树!!!实在是太牛了,不得不赞一个!!!
对了,用GetDataBack进行扫描恢复时,在扫描到大约36%的地方,也就是大约235618200扇区开始,开始提示出错,竟然一共出现了大约十六连续的个I/O错误!!!!是坏道的原因吗?十六个,每个1[wiki]字节[/wiki]大小?十六个就16字节,一个[wiki]簇[/wiki]是多大?可能不只十六个,下面是LOG:
---Error handler entered at 2008-5-8 2:07:21---
Error: NotifyException
Message: USER CANCEL NO SHOW
Info: FAT:28
Address: 004D5D05
004D594A-000D494A 004D5CF2-000D4CF2 005A101D-001A001D 00643EE3-00242EE3 0041B796-0001A796 0043ABA1-00039BA1 0043CFFD-0003BFFD 0043CDE3-0003BDE3 0044FE56-0004EE56 00458820-00057820 0066559A-0026459A
Action: Cancel
---
TIMECHECK: Scan took 0:00:04 seconds
Job load: RecoveryID=882905542, SaveLevel=3
TJobIdent.LoadFromStream START @0(18504159)
---Error handler entered at 2008-5-8 2:09:14---
Error: NotifyException
Message: USER CANCEL NO SHOW
Info: RECSTEP3:262
Address: 004D5D05
004D594A-000D494A 004D5CF2-000D4CF2 00647DBF-00246DBF 00647509-00246509 0063BCD9-0023ACD9 006417DB-002407DB 0041B796-0001A796 0043ABA1-00039BA1 0043CFFD-0003BFFD 0043CDE3-0003BDE3 0044FE56-0004EE56 00458820-00057820 0066559A-0026459A
Action: Cancel
像这种004D594A-000D494A的地址是如何计算的?它表示什么地址?
不过有一个现象很奇怪,今天我又重装了系统后,那个RAW的硬盘竟然可以用CHKDSK命令了!!!!真是百思不得其解!!??
不过不敢用,要是文件全变成xxxx.chk文件就惨了,还是等各位大侠提供一些实质性的意见后,我再动手吧。
MFT元文件移位现象会是因为不正常的热插拔导致的呢?
|
|