这篇文章上次修改于 1422 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
error:unknow filesystem
grub rescue>

有时因为多系统不正常的系统更新,或者对Linux分区调整后,导致grub2的配置文件损坏,不能正常启动Linux系统,从而进入grub rescue(救援模式),进行引导修复。

在救援模式下可以使用的命令只有如下几种:
(1)ls 查看设备情况
(2)set 设置环境变量
(3)root 设置启动系统的所在分区
(4)prefix 设置grub的启动路径

具体修复步骤如下:

  1. 查找Linux Kali系统所在分区

    查看所有磁盘的所有分区

    grub rescue>ls

    逐个分区查找系统位置

    grub rescue>ls(hd,msdos)/
  2. 修改Grub启动路径

    (假设找到的系统分区为hd0,gpt0)
    手动设置root与grub路径并启动normal.mod

    grub rescue>set root=(hd0,gpt0)
    grub rescue>set prefix=(hd0,gpt0)/boot/grub
    grub rescue>insmod normal
    grub rescue>normal

    至此可以看到熟悉的grub界面了,这里还是无法启动系统的,按'C'进入Grub命令行

  3. 进入Grub修改系统路径并启动系统

    在Grub命令行中键入

    grub>set root=(hd0,gpt0)
    grub>set prefix=(hd0,gpt0)/boot/grub
    grub>linux /vmlinuz root=/dev/sda0
    grub>initrd /initrd.img
    grub>boot

    ('/vmlinuz'与'/initrd.img'文件可以用Tab键进行查找,'sda0'需更改为自己系统的所在分区)
    boot后便会进入系统

  4. 在Linux Kali中修复Grub

    在进入系统后在终端中修复Grub

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

    ('sda'需更改为自己系统分区所在磁盘)
    至此Grub已经修复完毕

  5. 重启系统

    若存在多个系统需注意切换引导