2019-05-23(转载)

怎样修复grub开机引导(grub rescue)

很多时候,特别是在linux调整分区后,开机重启时会出现

        error : unknow filesystem

        grub rescue>

        的字样,系统就是进不去。这表示你的grub2的配置文件坏了……

        由于分区调整或分区UUID改变造成grub2不能正常启动,从而进入修复模式了(grub rescue),也称救援模式。


        在救援模式下只有很少的命令可以用:set  ,  ls , insmod , root , prefix

        (1)set  查看环境变量,这里可以查看启动路径和分区。

        (2)ls   查看设备

        (3)insmod  加载模块

        (4)root  指定用于启动系统的分区,在救援模式下设置grub启动分区

        (5)prefix 设定grub启动路径

具体修复步骤如下:

       1、查看分区:grub rescue> ls   回车

            会出现如下字样:

            (hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)

       注:上面是我的分区设备,每个人可能不一样,但原理都是一样的。


       2、寻找kali所在分区:

           (就是寻找你的Linux系统是装在以上哪个分区里)

             grub rescue> ls (hd0,msdos1)/

            若出现unknown filesystem字样,则尝试下一个

            ……

            若出现的是你的kali主文件夹下的文件夹和文件的名字,那就是的要找的分区了。

        3、修改启动分区:

             (假如你找到的启动分区是hd0,msdos8)

grub rescue>root=(hd0,msdos8)

grub rescue>prefix=/boot/grub                         //grub路径设置

grub rescue>set root=(hd0,msdos8)

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

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

         grub rescue>normal

        之后你就会看到熟悉的启动菜单栏了


到这一步已经完了

如果还不行往下进行

#  4、进入命令行启动kali

         进入系统启动选项界面后还是进不去,

       因为你还没有真正的修改grub,这个要到ubuntu里修改

进入系统启动项界面后,按C进入命令行模式

        grub >set root=hd0,msdos8

        grub >set prefix=(hd0,msdos8)/boot/grub

        grub >linux /vmlinuz-xxx-xxx root=/dev/sda8 //里边的xxxx可以按Tab键,如果有acpi问题,在最后加一句acpi=off

grub >initrd /initrd.img-xxx-xxx

grub >boot

       这样就可以进入了

       5、进入Kali修复grub

 在终端里运行        sudo update-grub

                                        sudo grub-install /dev/sda

       6、重启,搞定!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容