Grub 的默认内核优先级

Grub 的默认内核优先级

我最近在我的一台机器上安装了 Arch。我在UEFI模式下安装了grub。在设置 Arch 时,我安装了linux-lts.我使用了几天,后来决定同时使用 LTS 和常规内核。所以,我安装了linux(常规)包。安装后,我假设 grub 会启动到最新的linux.但是,它继续启动到较旧的linux-lts.我尝试重新生成 initramfs 并更新 grub 几次,但没有成功。为了让 grub 在最新版本中启动linux,我必须使用 编辑 grub 菜单项grub-customizer

这是 grub 的正常行为吗?我在某处读到,grub 实际上会优先考虑最新的内核(如果找到)并直接启动它。那么,就我而言,为什么会有所不同?我是否配置错误?

答案1

我发现了 grub 默认内核优先级的预期行为。正如我在问题中所说,grub 实际上能够检测内核的更高版本号并将其设置为默认内核。当grub-mkconfig被调用时,它会加载/etc/grub.d.其中一个脚本是/etc/grub.d/10_linux.该脚本有一个功能version_find_latest可以帮助实际检测新版本。更多信息在这里:https://askubuntu.com/questions/1254758/how-does-update-grub-decide-which-kernel-to-set-as-the-default

不过,我无法弄清楚我的 Arch 系统出了什么问题。由于我的错误导致了一些严重错误,我不得不重新安装系统,后来我切换了我的发行版。

但是,由于 Arch 使用相同的命令grub-mkconfig并且在 中也有相同的脚本/etc/grub.d,因此它应该显示相同的行为。

看 :https://archlinux.org/packages/core/x86_64/grub/

相关内容