几天前我在我的本本上将某一个分区一分为二,重新启动的时候出现如下错误:
因为我的电脑是Ubuntu的,开机用的是grub引导,而grub就放在Ubuntu里的/boot/grub下。由于我多分出了一个区,导致grub找不到原先的Ubuntu所在分区,自然就找不到/boot/grub了,因此解决这个问题很简单,只要把grub和/boot/grub对应上就可以了。
步骤如下:
1.
输入ls,如下所示:
会列出目前磁盘上可用的所有分区,根据原先磁盘上的分区顺序大概确定Ubuntu所在分区是这几个中的哪一个(无法确定也没关系,一个一个试呗)
2.
输入set,如下所示:
会列出当前grub的设置,正是因为这些设置错误,才导致grub无法找到Ubuntu分区,既然grub找不到,那我们要手动指定了。
3.
以(hd0,msdos1)为例,分别输入:
set root=hd0,msdos1
set prefix=(hd0,msdos1)/boot/grub
如下所示:
注:这里的格式可能会随grub的版本不同而不同,只要和之前set列出的格式一致就可以了
4.
再输入set,发现我们已经设置好了:
5.
输入insmod normal回车,发现还是出错了,说明我们之前指定的msdos1是错误的:
呵呵,其实我本来就知道它是不对的,只是为了演示而已。
6.
那么现在我们指定msdos8,还是和之前的输入一样:
7.
发现这次没有出错,说明msdos8就是Ubuntu所在的分区,同时,我们还注意到提示符”grub rescue>”变成了高亮,来个特写:
8.
输入normal,如下所示:
哈哈,我们熟悉的grub菜单又回来了~~
我感觉这种问题挺常见的,以前也碰到过,在此留个纪念。
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2