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

怎样修复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、寻找ubuntu所在分区:
(就是寻找你的Linux系统是装在以上哪个分区里)
grub rescue> ls (hd0,msdos1)/
若出现unknown filesystem字样,则尝试下一个
……
若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。

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、进入命令行启动ubuntu

进入系统启动选项界面后还是进不去,因为你还没有真正的修改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、进入ubuntu修复grub

在终端里运行

 sudo update-grub
 sudo grub-install /dev/sda

6、重启,搞定!!

注:我当时只是修改了1~3步骤,然后在菜单栏就可以进入系统了,且一切正常。

可惜,在重启时,系统就只有一个光标在左上角不停的闪,咋也进不了系统。后来开机按F2,开机启动项改为硬盘启动就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值