首页 > 代码库 > 救活摧毁的MBR区

救活摧毁的MBR区


Windows中毒:

   就在昨天,我把硬盘可怕的摧毁了一遍,又复生了一遍,真是心惊胆战,余波未平。

究竟怎么回事?请听我细细道来。

   因为平时没有用杀毒软件和安全保护的习惯,所以在下载所需软件的时候,不小心

让计算机上的win7系统中毒了,当时还没有感觉,当进入双系统默认启动windows之后,

先是蓝屏,然后系统便开始不断的重启,情况似乎很糟糕,然后我便尝试进入安全模式,

先是等待了一下,但似乎还是进不去,然后又重启,进入了不断的启动循环之中。

  当时我心中暗自庆幸,还好双启动引导是安装在linux区域上,所以即便windows进不去,

但linux还是能进去的,于是我就变换了开机启动项进入了linux。


用错的linux命令:

  一开始我是想杀毒来着,但linux上没有安装杀毒软件,这时我发现了windows D盘上备份

的ghost镜像,心里便下定主意,用ghost来恢复C盘。

  然后我便查找相关资料,最后发现用dd这支命令似乎可以进行数据文件的复制,达到很

强大的效果。所以先是fdisk -l -u查看了分区相关信息,然后参考了man说明和U盘启动盘制作

的方法,便在控制台上敲下了dd if=/media/beyondray/win7_64.gho of=/dev/sda 这条

命令,命令结束后重启系统,满怀期望的等待C盘的恢复。

   可是世界总是让人失望的,等待的事没有发生,现在只剩下满屏幕的黑屏,和几句短短的

英文,连linux都进不去了,事情变的比原来更糟糕了!!!


MBR,C盘部分数据全损:

  然后我就用手机百度了一下怎么回事,后来发现原来是我潜意识里认识的错误,因为我本能

的认为ghost镜像是包含MBR区,也就是446字节主引导记录MBR,64字节硬盘分区表DPT,还

有“55,AA"结束标志的,但实际上除非是整个硬盘的镜像,否则只是某盘的一个拷贝,这也就

意味着,我的dd数据复制操作把MBR区全部覆盖了,没有主引导记录,自然就不能引导linux

中的双启动引导项,而且更糟糕的是,硬盘分区表也破坏了,而且我没有事先的备份!!


DOS工具初步确定C盘地址边界:

   后来我在同学的电脑上用iso镜像写入了一个ghost的windows工具,然后就琢磨着这么把

主引导记录和分区表信息写回去,因为直接硬盘分区的话是会格式化整个硬盘的,而我的F

盘里装着一些个人爱好的东西,而G盘里则放着很多程序工具和源代码,所以我不想让硬盘

毁于一旦!!

   琢磨了很久,最后发现DOS工具箱里的diskgen似乎可以找回分区地址表和重写主引导记录,

而SPFDISK则可以直接查看到整个硬盘的情况,但是这个DOS下的diskgen似乎很不给力,每

次都找出一小块区域,而且会搜索很久,按这种进度,等找到完整的分区地址表估计需要5个

小时以上,而且似乎由于某些兼容的原因,这个工具用不了多久就会自动重启,真是可怕,经

过一番思考,我想,如果能找到C盘的边界,尽管其他分区是错误的,但至少可以安装windows

系统了,只要进入了windows系统,再用win7下的diskgen可能会比DOS下的diskgen效果好

很多。

   所以,我便继续使用DOS下的diskgen,重建分区地址表,虽然想法是好的,但这DOS下的

软件比我想象中运行起来要糟糕,这不,搜索到3000多磁柱,又自动重启了,这样下去,哪里

是个头啊!!于是我又仔细思考了下方法,要不要换个硬盘镜像?但最终我还是决定继续使用,

因为我想到了一个似乎不错的方法,原来的C盘约莫60G左右,但我不敢确定它究竟是精确的,

还是稍有偏差,于是我一狠心就把前58个G的硬盘格式化了,然后更新分区地址表,再重建,

自动交互,这时很快就搜索到了60G的边界,并且连同后面的分区地址也找到了几个,但是

不是全部都是准确的,但现在管不了那么多了,先重写地址表和主引导记录,然后装了windows

再说。

   但事情似乎没有我想象中进展的那么顺利,再进入ghost中的windows 7安装后总是会显示

Invalid specification的信息,难道是我主引导记录和分区地址表的问题吗?然后我又进入了

diskgen查看了一下,拔下U盘又看了下开机的信息,发现似乎并没有boot之类的信息,然后

上网查了下相关的资料,发现似乎是ghost不太好用的问题,而不是主引导记录之类的问题,

于是我便在同学的电脑上又在U盘上刻录了一个MSDN的windows 7 Ultimate版本的硬盘安装,

这下总归没有问题了吧?


成功安装windows7:
   如我所想,在进入U盘启动盘之后,先是格式化了找到的60G C盘,然后便成功安装了WIN7,

其中的细枝末节不多说,之后因为透明效果无法启动又去NVDIA更新了显卡驱动,但最根本的

问题似乎都没有解决,D盘,E盘,F盘,G盘都无法使用,点击后马上提示格式化,于是我便

立即下载了diskgen这个数据恢复软件。


成功恢复D, F, G盘:

  似乎diskgenius操作很友好,而且更另我吃惊的是,重建硬盘分区后,只是短短几秒就自动

找到D,F,G盘,比DOS下那个版本好用了不知多少,但E盘似乎没找出来,不过这不重要,因为

E盘里放的软件比较少,而且都是QQ之类的日常软件,于是我便没有多做考虑直接格式化了E盘

重新保存了分区地址表,这时硬盘上的所有盘都搞定了,至于linux,本身使用的不多,而且没放

重要的东西,所以以后要用到的时候再重新安装好了。


自我认识:

   似乎命运的安排总是如此,不经意间又给自己上了一课操作系统,不同的是,以前没有系统知识,

都是让别人解决的,而这次是自己独自解决的,其中的收获自然不言而喻,其中有三条规则我需要

将其牢牢在心:


1.在每个细节都确定之前,不要过分的相信自己,要懂得怀疑自己,这样做真的对吗?否则可能会酿成悲剧。

2.及时备份重要的数据,以免丢失,不怕一万,就怕万一,因为这世上是没有后悔药吃的。

3.思考是一种很强大的力量,它可以让你解决一个从没有接触过的问题。



救活摧毁的MBR区