由于在Windows下面对分区修改(我是删除分区造成),导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了:
grub rescue >
在此情况下,可以如下解决,并不用重新安装系统
第一步,找出你的Linux盘在那个分区以及grub目录在什么位置。
如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可:
grub rescue>ls
回车后,ls命令会列出所有磁盘分区信息,如:
hd0, (hd0,msdos7),(hd0,msdos8),(hd0,msdos5)......
循环使用如下命令,直至显示该分区所包含文件内容而不是unknown filesystem以及其他一些不正常信息
grub rescue>ls (hd0,msdos7)/boot/grub
(网上有写ls (hd0,0)/grub的,可能根据不同linux发行版本不同吧,Ubuntu 12.04是grub是放在/boot下面的。或者可以ls其他文件也一样)
假设我们试到(hd0,msdos7)时,成功显示了文件夹中的所有文件时,则表示grub在该分区中。
第二步:设置如下
grub rescue>set root=(hd0,msdos7)
//括号里分区为上一步尝试成功的分区,即linux grub 所在分区
grub rescue>set prefix=(hd0,msdos7)/boot/grub
第三步:
grub rescue>insmod /boot/grub/normal.mod
至此,应该退出了grub rescue模式,进入了熟悉的grub模式
第四步:
grub>normal (到此为止我的电脑进入了Ubuntu启动界面,如果还不行继续下面步骤)
第五步:修复grub
进入Linux系统后,在命令行里
sudo update-grub
第六步:
sudo grub-install /dev/sda //sda是你的启动磁盘