mbr的ubuntu引导位置更改及mbr损坏后的修复

    昨天在移动硬盘上装了ubuntu,不知怎么搞的,主硬盘的mbr被改掉了,启动了grub引导。没有接上移动硬盘的话,就进不了系统。直接以移动硬盘做为启动盘也无法进入。于是便尝试修复。

    经过测试发现主硬盘启动引导的是grub,而移动硬盘引导的是windows的ntldr(可能与在windows下做的格式化有关),因为mbr的512字节大小的空间中,前面446是引导程序,那么把这两个硬盘相关位置的mbr互换掉应该就可以了。

    于是用Acronic Disk Director(以下简称ADD)启动,在disk1或disk2上点右键,找到Edit选项,然后在菜单选项中选为二进制查看。这个,当前硬盘的mbr的二进制信息就显示出来。先选中当前块的第一个字节,然后从菜单中可以找到保存选项,将mbr的信息做为文件写到指定位置,写入前会弹出对话框,需要填入偏移量和长度,填入0-512即可。注意将存好的mbr文件备份到移动硬盘或其它地方,这里我把信息存到了主硬盘的目录下,导致我后来改坏了mbr,没有办法去恢复。不过忘记备份也没有关系,想把法把mbr恢复就行,下面我也有做这个说明。

    在我备份好了mdr后,在disk1上点右键,找到复制mdr的菜单项,这个时弹出对话框,选择你要复制到哪个硬盘,ADD是图形方式显示的,所以在相关硬盘的行上点一下即可。改好后执行commit,写入mbr,然后重启,打开启动设备列表,选择移动硬盘,这时grub可以正常启动并进去系统了。

    这个时候,两个硬盘的mbr数据基本一致了,实际上应该只是前面的446字节是一样的,后面记录的分区信息肯定不一样。但我失败也是失败在这里。重新进入ADD,打开disk1的mbr二进制文件查看,先中当前块的第一个字节,再从菜单中找到读取文件中的mbr,选择备份的移动硬盘的mbr打开,这是会弹出对话框,选择偏移量和长度,这个时需要填入0-446,默认的会自动填入选中的文件的大小,我在这里出了错,使用默认值,结果导致分区表损坏。如果填了446,然后保存并重启,大概可以能正常从主硬盘不依赖移动硬盘启动了。如果可以的话,到这里就结束了。

    如果你填了默认的512,那你的主硬盘可能就不能用了,除非你两个硬盘的分区一样,有可能会正常。我的两个硬盘分区不一样,大小是80G,500G,恢复完后,只看到一个50G的C盘,因为移动硬盘的第一个区是50G的。可以启动系统,但启动到一半就蓝屏了。

    去网上搜了下,有一些工具可以用,但是下载再刻盘估计一时半会儿搞不定。想起以前刻的雨林木风,集成了那么多工具,说不定有得用。

虽然并不去装它的盗版系统,但现在看来也是有备无患。启动进去找了一下,也有网上说的那种软件,挨个试了半天,但都没有效果。后来就挨个试,试的时候当然得小心,只要它只改写mbr,对我们影响就不大,可以随便试。因为mbr反正是坏了,我就清了一遍遍去重写。最后用DISKFIX解决了问题。它挨个把盘搜出来,然后提示你要不要使用,查找了一遍后,提示你把找到的盘写到mbr。然后重启,果然安全进入了主硬盘的系统。不知是什么问题,可能和重写了mbr有关,其它的盘还要在磁盘管理中挨个挂载一遍才行。

    还好万幸,东西都在。

你可能感兴趣的:(其它)