您的位置:首页 > 产品设计 > UI/UE

ubuntu 13.10之后的系统启动出现Grub rescue的修复方法

2015-01-27 10:10 831 查看
   先向大家介绍一下我遇到这个问题时的情况,我的本是:win7(C.D.E盘)+ubuntu kylin14.10双系统,当然了,当初装系统的时候因为开机引导的原因肯定是先装的win7,之后在win7下删除了F分区(128G)安装了ubuntu,好了,这样就为我今天遇到的问题埋下了伏笔.

   觉得自己完全能在unbuntu下工作学习之后,我在ubuntu下删除了win7,并将C盘分区删除(之前在ubuntu下格式化过C盘一次没有问题),删除分区之后,再用ci为剩下的磁盘空间重新分区的时候,系统提示了错误,具体提示的什么错误我也不记得了,不过我已经感觉的到系统出问题了,于是重启了一下,果然,开机之后黑屏并提示:

    Grub loading

    error:unknown filesystem

    Grub rescue>

    一番百度.google之后,我了解到之所以会出现上面的问题,原来是因为unbuntu使用的是grub用的grub2,而grub2分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面.由于上述操作.致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(已被删除). 

    解决办法:

    1.先使用ls命令,找到ubuntu安装的分区:在grub rescue>下输入

      ls

      会罗列系统磁盘的所有分区信息

例如(hd0) (hd0,msdos4),(hd0,msods3),(hd0,msdos2),(hd0,msdos1)

      2.然后依次调用如下命令:X表示分区的号码

      (1)如果/boot没有单独分区,用下面命令

       ls (hd0,msdosX)/boot/grub

      (2)如果/boot单独分区,则用下列命令:

       ls (hd0,msdosX)/grub

       假设找到(hd0,sd2)时,显示了grub.cfg文件,则表示linux安装在了这个分区.

       3.找到了grub目录,则调用如下命令

       (1)下面的命令是/boot没有单独分区的命令(X 是上面找到的linux安装目录分区号)

       grub rescue>set root=(hd0,msdosX)                               

       grub rescue>set prefix=(hd0,X)/boot/grub

       grub rescue>insmod /boot/grub/i386-pc/normal

       (2)以下是/boot单独分区的命令

        grub rescue>set root=(hd0,msdosX)                               

       grub rescue>set prefix=(hd0,X)/grub

       grub rescue>insmod /grub/i386-pc/normal

       然后调用如下命令
       grub rescue>normal

       重启,好了,现在我们已经能够看到引导界面了,不过现在我们还不能高兴的太早,如果现在再重启,问题依然存在.现在我们进入linux,对grub进行修复.

       进入linux,开启终端,在终端执行

       sudo update-grub

       sudo grub-install /dev/sda

       (sda是硬盘号,在这里不能千万不能指定分区号码)好了,现在系统已经修复完成了,现在重启应该没有问题了吧!

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息