尽管 GRUB 应该被隐藏,但它却在启动时显示出来

尽管 GRUB 应该被隐藏,但它却在启动时显示出来

这是我的 GRUB 配置:

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

我的设备是联想 ThinkPad X1 Yoga(第 4 代),配备 1TB NVME SSD,当前运行 Kubuntu 21.10。

我该如何阻止它出现并中断启动过程?

答案1

我遇到了完全相同的问题(在 Ubuntu 21.10 上)并且能够修复它。

如果 grub 在驱动器上找到另一个操作系统(对我来说确实如此,因为我双启动了 Ubuntu 和 Windows,但不需要 grub),它会自动将超时重置为 10(如果设置为 0)。打开时,您可以/boot/grub/grub.cfg在文件末尾附近找到以下 if 语句:

if [ "${timeout}" = 0 ]; then
    set timeout=10
fi

正如/boot/grub/grub.cfg其本身所述,它是自动生成的,因此如果您直接编辑该文件,则在将来更新 grub 时对它的任何更改都将丢失。

为了持续修复此问题,请打开/etc/grub.d/30_os-prober,因为这是 if 语句的来源文件。您可以注释掉整个 if 语句,也可以将其编辑为set timeout=0

即使您没有双启动,也要仔细检查/boot/grub/grub.cfg以查找任何超时重置。如果有,它还应该显示哪个文件正在插入它。相应地编辑该文件。

保存文件update-grub并运行,下次启动时,grub 将不再出现。

相关内容