Ubuntu 22.04 更新完内核重启卡在 grub 命令行解决办法

倒霉伊始

升级内核过程中出现如下警告,然后重启引导失败:
Warning: os-prober will not be executed to detect other bootable partitions

屏幕内容如下:

                                       GNU GRUB version 2.06
    Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. 
    Anywhere else TAB lists possible device or file completions. ESC at any time exits.
grub>

从 GRUB 2 命令行界面启动系统

因为卡在 Grub 2 命令行界面,我们需要手动输命令引导。

  • 一般情况只需要输入 normal 并回车,就能像往常一样正常启动。
grub> normal
  • 如果报不认识该命令,那就加载 normal 模块,再来一遍前面的操作。
grub> insmod normal
grub> normal

进系统修复配置

根据知乎专栏作者 ayamir 写的文章 2021 Archlinux双系统安装教程(超详细)
说是更新到 Grub 2.06 的 os-prober 用户需要手动干预

grub 2.06 更新已经进入官方源,本次更新有以下两个需要注意的变化:

  1. 如果您正在使用 os-prober 生成其他系统的引导项,grub 2.06 不再自动启用 os-prober,您需要添 GRUB_DISABLE_OS_PROBER=false 至 /etc/default/grub 配置文件中并且重新运行 grub-mkconfig
  2. grub 2.06 现在会自动添加 固件设置菜单 引导项目,无需手动创建

不管何种原因导致的故障,我们都往 /etc/default/grub 这个文件末尾添加一行
(如果有找到 #GRUB_DISABLE_OS_PROBER=false 则去掉前面的井号 # 保存完事 )

GRUB_DISABLE_OS_PROBER=false

然后

sudo chmod 644 /etc/default/grub
sudo update-grub2
sudo apt update && apt install -y os-prober

彻底解决问题的关键步骤

搬运自 Ubuntu 只能进入grub命令行解决方案
sudo grub-install /dev/sda
(sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)

万事大吉

可以重启测试一下了