Ubuntu开机出现grub rescue的模式下修复

 

  由于在Windows下面对分区修改,导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了

  grub rescue >

  在此情况下,可以如下解决,并不用重新安装系统

  第一步,找出你的Linux盘在那个分区以及grub目录在什么位置。

  如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可:

  grub rescue>ls

  回车后,ls命令会列出所有磁盘分区信息,如:

  hd0,4),(hd0,7),(hd0,8),(hd0,9)

  循环使用如下命令,直至显示该分区所包含文件内容而不是unknown filesystem以及其他一些不正常信息

  grub rescue>ls (hd0,0)/boot/grub

  (网上有写ls (hd0,0)/grub的,可能根据不同linux发行版本不同吧,Ubuntu 10.04是grub是放在/boot下面的。或者可以ls其他文件也一样)

  假设我们试到(hd0,8)时,成功显示了文件内容,则表示。

  第二步:

  grub rescue>set root=(hd0,8)

  //括号里分区为上一步尝试成功的分区,即linux grub 所在分区

  grub rescue>set prefix=(hd0,8)/boot/grub

  第三步:

  grub rescue>insmod normal.mod

  网上有些insmod /grub/normal.mod的,我的Ubuntu 10.04并不成功

  至此,应该退出了grub rescue模式,进入了熟悉的grub模式

  第四步:

  grub>normal

  第五步:修复grub

  进入Linux系统后,在命令行里

  sudo update-grub

  第六步:

  sudo grub-install /dev/sda //sda是你的启动磁盘