为什么 grub 一直默认救援选项?

为什么 grub 一直默认救援选项?

在此输入图像描述

将 Fedora 从 29 升级到 30 后,我注意到启动时 grub 一直选择旧的 4.x 内核。没问题。我曾经package-cleanup删除除最新的两个内核之外的所有内核。但现在 grub 默认使用救援选项。

它应该记住我最后选择的选项并默认为该选项,但事实并非如此。

我怎样才能解决这个问题?


更新

我一直无法解决这个问题。我努力了:

  • 设置dracut_rescue_image="no"/usr/lib/dracut/dracut.conf.d/02-rescue.conf
  • 删除了 initramfs.. 和 vmlinuz.. 用于救援内核
  • 删除了dracut-config-rescue
  • 删除grub.cfg/boot/grub2重建它grub2-mkconfig -o /boot/grub2.cfg(在完成上述所有操作之后)

我可以确认dracut_rescue_image="no",救援内核的 initramfs 和 vmlinux 仍然被删除。救援条目仍然保留在 grub 提示符中。

该条目仍然存在,但系统无法使用该条目引导,并且 grub 报告错误。但它仍然是默认选择...所以现在默认情况下,如果我不选择其他选项,系统将无法启动。


更新

我设法通过删除/boot/loader/entries路径中的条目来删除救援选项。现在默认使用5.2.9内核,但我不知道下次更新后是否仍会选择最新的内核。因为我不知道最初问题的根源,即使有了这个解决方案,原因仍然是一个谜。

澄清一下,默认条目仍然不是最后选择的选项,这正是我想要的。现在只是默认使用 5.2.9 内核。

答案1

我怀疑你的 grub 配置在某个地方被删除或损坏了。

这是一本有用的手册

基本上查看 GRUB_DEFAULT 设置是否正确。这里的 --id 是 example-gnu-linux。

menuentry 'GNU/Linux 发行版示例' --class gnu-linux --id example-gnu-linux { ... }

那么你可以使用以下命令将其设置为默认值:

GRUB_DEFAULT=示例-gnu-linux

相关内容