2015年9月12日星期六

硬盘恢复数据的经历

  我家里的个人电脑上有两块硬盘,主盘前年购买,从盘五年前购买,以前一直使用没有问题,也没有坏道,可就在昨天,我那个使用了五年时间的硬盘忽然出现了故障,系统启动后无法读取从盘文件,看不到硬盘,重启进入BOIS,只能看到一块硬盘,另一块看不到。然后关机,再进入BIOS又可以看到两块硬盘,然后操作系统启动后又找不到另一块硬盘了。

  我使用一些磁盘工具进行测试,发现磁盘工具读其他扇区正常,但是读分区表附近的扇区,就会出现死锁,然后系统就不认第二硬盘。

  这个损坏的硬盘有两个分区,1T容量,一个分区40G,剩余接近900G的容量为第二分区,绝大多数数据文件放在第二分区里,并且基本已经装满了硬盘,如果丢失的话,将会损失大量的数据。经过之前的测试,我判断是第二硬盘分区表附近的磁道坏了,磁头读过去就会出现故障。由于大部分数据在第二分区,因此数据内容估计没有受到损坏,还是有可能恢复的。

  这种硬盘损坏是我头一次遇到,一开始我尝试将硬盘数据复制到其他硬盘,经过几次操作,发现无法将硬盘中的文件复制出来,只要将硬盘接入,一读分区表就会不认盘。

  我只好尝试不再修复硬盘,而是将硬盘数据拷出。我手头上正好有一个同样大小的新硬盘,于是我考虑将整个硬盘进行对拷。一开始我使用Ghost进行硬盘复制,结果不但没复制成功,硬盘的分区反而丢失了。看来用Ghost修复硬盘太不靠谱了。

  经过了一次失败,我开始选用另一个工具:DiskGenius磁盘工具,使用其“扇区拷贝”功能对所有扇区进行复制,这个功能有一个不错的特点,就是支持“逆向复制”,可以从后往前拷贝,这对于我目前这种硬盘损坏情况非常适合。拷贝了5、6个小时,终于在95%的附近拷贝死锁,又不认硬盘了。尽管如此,我相信绝大多数数据内容都已经复制过去了。

  重新启动之后,使用DiskGenius的查找丢失分区功能进行分区查找,但是只找到一个分区,另一个没找到,只用查找丢失文件功能,终于找到了硬盘里数万个文件,然后将其复制出来,在未恢复分区的情况下,可以找到文件目录,但文件只能恢复开始的一小部分,大小都是小于64K,数据内容都是错的,大文件都打不开。看来必须恢复第二分区才能进行文件恢复操作。

  原有分区无法保存到损坏的硬盘里,而且一复制就不认盘,导致硬盘开头的数据无法复制,因此我只好另想办法,在新硬盘里手动建立分区。

  根据就硬盘的分区大小和分区数据,我在新的硬盘里,手动建立两个和原有硬盘完全相同的分区,起始柱面、磁头、扇区、终止柱面等参数应该和原有硬盘完全相同。之后使用DiskGenius的“已删除或格式化后的文件恢复”功能,寻找丢失文件,这时候再将里面的大文件复制出来,发现大文件里的数据都是正常的,ZIP等格式也正确,图片显示正常,看来这次恢复是正常了。

  接下来的操作就简单而耗时了,在电脑接上一个移动硬盘,在DiskGenius里全选被恢复的文件,然后将其复制到移动硬盘里就可以正常恢复,估计恢复时间需要6、7个小时。

  我浪费了2天时间来恢复硬盘数据,使用了原硬盘两倍的存储空间来进行恢复操作,如果我当初能花1、2个小时对硬盘数据进行备份,那么就不会有这么多的时间浪费。还好这2天时间是值得的,因为数据已经完全恢复。

  一个重要的教训:硬盘使用超过了四年,就绝对不要在硬盘上保存重要的文件。