在命令行下通过命令重新指定分区
- 由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载模块,然后进入正常模式;
- rescue模式下可以使用的命令有:set,ls,insmod,root,prefix(设置启动路径);
grub rescue模式下命令解释:
ls:查看系统设备状态
set:查看启动路径和分区
root:设置grub启动分区
prefix:设置grub的启动路径
insmod:加载模块
- 首先,就是要找到grub所在的分区。使用ls命令:grub rescue>ls ,然后就会列出你的磁盘上所有的分区,比如我的是:(hd0,msdos10),(hd0,msdos9)……;
- 然后,输入如下命令:ls (hd0,msdos10)/grub或者ls (hd0,msdos10)/boot/grub(一般是后一种).这里必须注意的是:这个命令只是一个模版,每个人的电脑可能是不一样的,请根据自己的电脑输入命令。如果系统返回:unknown filesystem,则继续输入列出的下一个分区,直到有某个分区显示的不是unknown filesystem,而是其它的内容的时候,grub所在的分区就找到了,继续;
- grub rescue> set root=(hd0,msdos10) ;
- grub rescue> set prefix=(hd0,msdos10)/boot/grub 或者可能是grub rescue> set prefix=(hd0,msdos10)/grub 这个看具体grub在哪个位置;
- grub rescue> insmod normal ;
- grub rescue> normal ;
- 此时,应该已经进入Ubuntu系统的正常模式,进入系统吧!
- 不过,事情还没玩。进入Linux系统后,在root终端中将grub再刷一遍:
# update-grub
# grub-install /dev/sda - 搞完之后,一切就OK了,之后再怎么重启都没问题了。如果以后再遇到类似的问题,同等视之。
当然也可以直接删除系统重新安装Ubuntu