Sunday, November 04, 2007

MBR恢复

今天电脑出现一个非常奇怪的事情,我的本本上装了双系统,XP和Ubuntu, 我的移动硬盘也是双系统,XP和Ubuntu, 然后我在我的本本上用magic对移动硬盘格式化等操作。等操作弄完,重新启动电脑, grub 居然出错, 显示error 17。在网上查了查,17的错误是不能认识引导区。 后来在网上查了查,原来是MBR在格式化硬盘的时候损坏了,真是想不通,对不同的硬盘操作,为什么会相互影响。废话少说,现在来恢复。

恢复MBR的办法,直接用XP安装盘启动,进入控制台,然后执行fixmbr。 XP可以恢复了。 Ubuntu仍然进不了。现在的情形几乎是原来双系统,重装xp后linux恢复不了,原因是MBR重写了,这里介绍两个方法来恢复:

1)一种方法是下载grldr, 放在C盘,然后修改boot.int, 在最后一行加上 C:\GRLDR="GRUB"。 虽然恢复以后的系统不是100%的完美,主要要两次引导,一次是grldr, 然后才是linux下的grub。

2) 第二种恢复是完全恢复,在恢复以前首先必须从floopy 或者恢复盘进入到GRUB。 比如从floopy恢复,先要把GRUB安装到floopy上面,安装的方法是

cd /usr/lib/grub/i386-pc

dd if=stage1 of=/dev/fd0 bs=512 count=1

dd if=stage2 of=/dev/fd0 bs=512 seek=1

然后从floopy启动, 进入到GRUB控制台。 

找可以用的stage1文件 

find /boot/grub/stage1

如果系统安装了多个操作系统,比如

  • SUSE on (hd0,1)
  • Kubuntu on (hd0,2) 
  • Mandriva on (hd0,4)

如果用SUSE的stage1文件

root (hd0,1)

如果用Kubuntu的stage1文件

root (hd0,2)

同理Mandriva

root (hd0,4)

最后setup(hd0)

然后退出。 

总结一下

find /boot/grub/stage1 (optional)
root (hdX,Y)
setup (hd0)
quit

重新启动机器 ok

No comments: