Friday, May 05, 2006

干掉和重建Grub

干掉和重建Grub

装了ubuntu,Grub是装在MBR的。有一次从Windows XP休眠,再次开机后就无法进入Windows,情况是:在Grub list 选择Windows,然后回到Grub list。进入ubuntu没有问题。

当时手头有张Win XP恢复盘(德语),比较土,以前没有用过。从光盘启动后,没有任何停顿,没有任何选项,开始嘎叽嘎叽地安装了。新的Windows是装在D盘的。我不想有两个XP,安装过程中强行关机了。再次开机后只有windows自己的boot list了。选了老的那个,直接把D的windows目录删除,再把C盘下的boot.ini改成只有C盘的Windows。重启后一切正常,只不过开机过程中的语言成了德语。比较郁闷,这个语言是在哪里改的?

用ubuntu安装盘重装Grub。没有Suse的recovery那么简单。
  • 在boot提示行输入rescue
  • 之后就好像要重新安装ubuntu一样,选择语言、地区、键盘等。
  • 然后是配置网络,设置主机名,这些都可以随便设。
  • 然后出来一个分区表,选择原先的ubuntu分区,格式是 dev/discs/disc0/partX. X是1到n,可以一个个试过来,如果不是linux分区,会有错误提示,然后返回。选择linux分区之后进入# 命令行。
  • 输入 # grub-install /dev/sda 重装Grub,有些机器是/dev/hda (?)。
  • 之后有个警告,可以去 /boot/grub/device.map 查看原先是把grub装在哪里的。
  • 最后 # exit,重启,Grub菜单又回来了。
整个过程不到10分钟。

后来又重试了几次,发现windows休眠后的重启仍然正常。又试了一下fdisk /MBR,对于windows启动来说是绝对安全的。比较BT的是,用XP安装盘的恢复模式进入DOS命令行(实际上不是dos?)没有fdisk这个命令。要fdisk /MBR 只能用其他的dos启动盘。
del.icio.us Tags:

1 comment:

Anonymous said...

在系统恢复制式下有个fixmbr的命令,可以用于windows的mbr的修正工作!