装完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 的情况,直接可以进入到启动的选择菜单中。