fedora-16 Linux 和 win7 双系统,出现grub rescue的处理

来源:互联网 发布:平民网络回合制游戏 编辑:程序博客网 时间:2024/05/17 07:20

本人安装的是win7+fedora16,今天想在自己电脑上装个oracle 11g,不过网上看到oracle 和 win7的兼容性好像不太好,安装的时候很麻烦,所以就想从C盘分了一个10G的区出来,想安装xp,在xp上装oracle,就找了一个GhostXP的光盘想直接在win7下读取光盘试试能不能直接恢复系统到新的分区。运行光盘—>选择“安装windowsXP”—>选择新的分区—>点击确定,结果发现没反应 = =

想到是不是只能从光驱启动才能进行系统恢复,于是关机从光驱启动,进入菜单后发现这个光盘只能恢复系统到C盘,于是放弃了想法。

---------------------------------------------------------此为背景--------------------------------------------------------------------

拿出光盘,重启电脑,这时令人紧张的一幕发生了:

系统引导错误,开机后无法找到内核,出现  GRUB loading

                                                                     erro: unknown filesystem

                                                                     grub rescue>_

于是,我想起来万能的百度,终于经过一顿百之后,略微知道了些原理:我的win7在c盘,fedora的硬盘空间是从d盘分出来的,每次系统启动时都是先进入grub,也就是现在fedora的启动目录里选择进入哪个系统,如果按分区来讲,grub在(hd0,msdos6)(每个人的可能不一样)也就是我的fedora安装的分区,那么启动时root应该设在(hd0,msdos6),可是不知道在什么时候GHOST的关盘修改了启动,把root改在了刚才我选择的分区(或者win7分区),反正是一个windows的分区,也就是NTFS的分区,问题就在这,linux是不能识别这种文件系统的,所以就有了erro:unknown filesystem。这时自然不能启动,所以grub就会启动修复模式,出现 grub rescue。此时我们要做的就是把grub重新指向(hd0,msdos6)。

!!!!!!!!!!!!!!!!下面才是我写这篇日志的原因!!!!!!!!!!!!!!!!!!!!

百度到了很多出现过同样问题的人,也有不少的解答。不过也不知道那些写日志的人是不是都亲自试验了!!有些写的根本就是错的!!按照他写的步骤根本执行不下去!!坑爹啊!!!

所以我就在这总结一下我的处理步骤,可能很少用到,不过我看百度能搜到人人的日志,所以希望能帮助那些遇到同样问题的人。以下步骤都经本人亲自操作可行。

由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载正常模块,然后进入正常模式。
rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)

1、查看分区

      因为每个人的分区情况不一样,所以要查看分区

                                           grub rescue>ls  回车

     就会出现(hd0)(hd0,msdos9) (hd0,msdos8) (hd0,msdos7)(hd0,msdos6) (hd0,msdos5) (hd0,msdos4)(hd0,msdos2)(hd0,msdos1)  注:上面是我的分区,每个人的可能不一样。

    因为不知道fedora装在了那个分区,所以挨个查看,用下面的语句:

                                          grub rescue>ls (hd0,msdosX)/  (这里的x是上面出现的数) 注意:特别注意 这 里 的“/”,如果没加"/"找到系统分区后会显示bad filename                                                         

                                         经试验上句等价于grub rescue>ls (hd0,X)/

    如果回车后显示unknown filesystem证明不是要找的分区,继续下一个,直到找到你敲完回车后会显示一列很长的目录   ../.../ lost+found /.../boot/.../....这就找对了。我的是(hd0,msdos6)。

2、设置grub的启动分区和路径

    输入下面四个命令:

                 grub rescue> root=(hd0,6)回车

                 grub rescue>prefix=(hd0,6)/boot/grub2  回车   注意:这里是grub2,网上的教程都写的grub,可能是针对的linux版本不一样,对于fedora来说一定要是grub2,否则在下面会显示not found file。

                 grub rescue>set root=(hd0,6) 回车

                 grub rescue>set prefix=(hd0,6)/boot/grub2  回车  注意:这里同样是grub2

3、加载基本模块,进入正常模式

         输入:grub rescue>insmod normal   回车  就可进入grub环境下,明显的变化是grub rescue的显示变得更亮了,grub rescue变为grub。然后输入  grub>normal 回车 就可以看到期盼已久的系统选择页面了。不过别以为到这里就算完成了全部工作,如果只做到这里下次再启动电脑是还是会进入grub rescue的。所以下一步。

4、更新grub

       在系统选择页面选择fedora,进入系统。

       打开终端,输入grub2-install /dev/sda ,稍等片刻就会提示installation finished. no error reported.

       如果说没有安装权限就先输入su回车,然后输入管理员密码再输入上述语句。

至此,大功告成!

原创粉丝点击