首页 > 代码库 > 救活摧毁的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区