分区表损坏引发的血案

来源:互联网 发布:origins蘑菇水 知乎 编辑:程序博客网 时间:2024/05/31 18:49

情景描述:

        本人机器配置500G硬盘。最初分为:系统隐藏引导分区;C盘,60G;D盘,100G;E盘,100G;F盘,100G;G盘,100G。最初安装的是Windows7 32位旗舰版本。由于ubuntu desktop 13.10出来,工作也需要linux系统,在windows7中用虚拟机性能太差,也想支持下linux下的桌面系统,所以,在windows7中的硬盘管理中,把最后一个盘移出40G给ubuntu用。ubuntu分区为:sdb10为数据区,sdb11为系统分区,sdb12为交换分区。ok,安装ubuntu正常使用。

       话说有一日,发现windows7中毒,于是就开始了Ghost恢复。用U盘引导,开始Ghost恢复,但是恢复到最后0秒时。Ghost就死了,等了半天也没有反应。所是就强制重启。这时,问题就出现了:重就用U盘引导,出现在有windows pe时就死机了。然后重启,直接从硬盘引导,一样在显示winodws 标志时就死了。用ubuntu desktop 做的U盘启动,ubuntu倒时可以进入到系统,但进入系统后,系统就死了。进入安装模式,在读硬盘时死了,这时已明白是分区损坏。所以想拿到别的机器上去把C盘格式化下。但是拿到别的机器上后,出现同样的问题,系统启动是在windows标志时就死了。然后,进入带命令行的安全模式启动。发现死在/System/driver/disk.sys 处。

       结合上面现象分析问题:能从硬盘引导,说明硬盘没有损坏。应该是分区表损坏导制windows7驱动读取分区表时出错,进入了死循环。ubuntu可以从U盘启动,但是进入没发现硬盘,后死机,说明检测到硬盘分区表损坏,但没有进入死循环,从而引导启了系统。但是进入系统后就死了的原因,我推测是由于ubuntu需要交换分区,而它有交换分区建立到硬盘上了,而硬盘上可识别的分区大小太小,导制ubuntu无响应。

       由于ubuntu desktop 13.10的恢复模式没找到,所以下载了CentOS-6.5-i386-minimal.iso 。制做成启动U盘。启动电脑,进入恢复模式。fdisk查看分区,果然有报错,有几百个分区。


删掉系统隐藏引导分区。再查看,好了分区表出现在眼前,但是还是有两个错误。


这两个错误都出现在linux分区中,由于linux没有重要数据。所以果断删除。到此,成功解决问题。

       总结:1、由于ubuntu desktop 13.10建立的分区是ext4的,ghost不能正确识别导制恢复时破坏分区表。

                  2、windows磁盘驱动存在BUG,在此情况下会进入死循环。

                  3、ubuntu启动时,需要硬盘的支持,没有精简的恢复模式。





0 0
原创粉丝点击