这是一个悲伤的故事,因为我的硬盘故障了,屏蔽掉坏道用了30多G。

笔记本比较老了,放了两块硬盘,一块是NGFF,一块是机械盘。当时SSD太贵了,平时用虚拟机比较多,所以机械盘选的是1T的HGST,7200rpm的。

事情最早是在国庆的时候,打开虚拟机的时候,发现经常出现磁盘故障,于是便通过虚拟机管理器对虚拟机磁盘进行磁盘碎片整理,整理的时候虚拟机提示发现CRC校验错误。

当时还没想到是机械盘故障了,以为仅仅是虚拟机的磁盘故障而已,然后花了2天时间来进行虚拟机修复。

用vdiskmanager进行了磁盘修复,网上有说法是vdiskmanager -R 进行修复,没学会怎么用,最后用的是磁盘克隆功能,期待能消除故障。碎片整理后,磁盘整理确实是没问题了。

但是虚拟机运行的时候,还是会出现故障,然后虚拟机就挂了。于是便新增加了一个虚拟机磁盘,试了下面三种方法来克隆数据:

1.进PE,用DiskGenius进行数据拷贝,拷贝到一半,继续出现磁盘故障,虚拟机挂掉。
2.在实体机中,用DiskGenius,挂载虚拟磁盘,进行数据拷贝,拷贝到一半,卡住不动了,其实这时候应该就应该想到是磁盘有坏道了,不过没经验,所以不知道。
3.进PE,然后用fastcopy,进行数据拷贝,发现C盘下sxs下有几个文件夹读取失败。

随后新建了一个同样操作系统的虚拟机,把对应的sxs文件拷贝出来,再用DiskGenius拷贝回去。基本也只能用DiskGenius操作了,如果进入操作系统是无法替换的,当然PE下没有测试过。

虚拟机到此似乎已经修好了,前前后后折腾了将近2天,愉快而又忙碌的国庆结束了。

事情就这么结束了,太单纯了…

上班第一天,硬盘就来了个下马威,继续故障。拿DiskGenius一看,硬盘都告警了。

C5 当前等待中扇区数(状态存疑/不稳定-等待后续判断) 数值都有3500多了…用坏道扫描工具扫描,出来80多个坏道。

继续修盘大业…

首先我得找出我的坏道上面堆了哪些文件,才能知道哪些文件要离我而去了。

这里研究了好久,老外的方法是用fsutil,这个用了下不是很方便,遂研究出来另外一种方法。需要计算器,DiskGenius和Disk Defrag Professional。

1.通过DiskGenius扫描坏道,记录下坏道所在的LBA.
2.用Disk Defrag Professional扫描硬盘,会显示某个磁盘簇上有哪些文件。
3.在DiskGenius中,选择分区,然后点击右边的分析,会出来磁盘使用情况,一个蓝色的长方形,上面有LBA和簇的对应信息。
4.根据DiskGenius中的LBA和簇的对应信息,在Disk Defrag Professional中找到坏块所在的文件。

找到了文件,就继续按上面的方法进行修复吧,如果坏的是非系统文件,就认栽吧。。。。

不幸中的万幸,坏的都在同一个分区,这个分区存放的都是虚拟机,然后通过一番查找,下面这么多虚拟机文件收到了影响。


F:\VMS\Windows 7 Develop\Windows 7 Develop-s020.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s002.vmdk
F:\VMS\Windows 7 Speed\Windows 7 Speed-s002.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s006.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s008.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s009.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s010.vmdk
F:\VMS\Windows 7 UT\Windows 7 UT-s005.vmdk
F:\VMS\SNMP Dev\SNMP Dev-s001.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s010.vmdk
F:\VMS\Windows 7 UT\Windows 7 UT-s005.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s012.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s017.vmdk
F:\VMS\SNMP Dev\SNMP Dev-s003.vmdk
F:\VMS\Windows 7 Develop\Windows 7 Develop-000002-s017.vmdk
F:\VMS\SNMP Dev\SNMP Dev-s003.vmdk
F:\VMS\SNMP Dev\Windows 7 Develop-s017.vmdk
F:\VMS\PWN_Ubuntu\PWN_Ubuntu-disk1.vmdk
F:\VMS\SNMP Dev\Windows 7 Develop-s017.vmdk
F:\VMS\Windows 7 UT\Windows 7 UT-s005.vmdk
F:\VMS\Windows 8 x86\Windows 8 x86-000003.vmdk

目前仅仅处理了2个虚拟机…好在把问题最大的Windows 7 Develop给处理了,这个6月份做了快照,还好快照被影响的不多,只能回滚了…剩下的想想就头大。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注