win7和fedora 16 双系统的grub rescue 问题

来源:互联网 发布:青岛知豆电动车租赁 编辑:程序博客网 时间:2024/05/22 07:40

装完win7之后,再装fedora 16,由于分区原因,存在的grub rescue 问题;

1、ls 命令

grub rescue>ls                #查看下存在的硬盘分区情况;

结果:(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)

2、set

grub rescue>set        #查看下当前启动的

prefix=(hd0,msdos9)/boot/grub

root=hd0,msdos9

从上面可以看出来现在系统是从(hd0,msdos9)里启动的,

3、寻找fedora启动所在的分区

使用ls 命令,挨个地找fedora启动所在的分区,

如:grub rescue>ls (hd0,msdos8) / ,#查看是否在(hd0,msdos8),

执行该命令(注意,ls命令后的“/”不能少,否则会出现“bad filename”错误)后,如果结果为“unknown filesystem”,则说明不是Linux分区,继续查找,知道返回带有“ /boot”目录的分区。如果/boot是单独分区的,就会直接看到grub,grub2等文件,不会看到/boot,这就是fedora 启动盘。

在我电脑上找到的是(hd0,msdos8),(hd0,msdos8)里面grub,grub2等文件,grub2里面含有很多的mod格式的文件,

4、修改fedora启动所在的分区

通过上面的查找,知道fedora启动是在(hd0,msdos8),现在要把当前启动的(hd0,msdos9)修改为(hd0,msdos8),

/boot 单独分区的情况,如果不是单独分区就加上在grub2前加上/boot目录;

grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/grub2

运行了上述两条命令之后,再运行:

grub rescue>set

就可以看到启动开始(hd0,msdos9)修改为(hd0,msdos8),且grub rescue>字体颜色变得更白,接着输入下面两条命令:

grub rescue>insmod normal //启动normal启动

grub rescue>normal     #这两行命令现在我还没搞清楚

运行了这两行命令之后,就可以看到我们想要看到系统选择菜单,保持淡定,工作还没ko,做到这,下次重启电脑还会遇到grub rescure 的情况,这就是我们下面需要做的,只要一行命令就可以了,

进入fedora 系统,打开终端,用su 以root账号登陆,运行:

grub2-install /dev/sda     # 更新grub2

这样重启就不会再遇到 grub rescure 的情况,直接可以进入到启动的选择菜单中。