自从升级到 Ubuntu 22.04 以来,我在运行 update-grub 后一直遇到问题;在 GRUB 菜单顶部,低延迟内核被选为首选版本,而不是“通用”版本。
问题:如何始终使最新的通用内核成为 GRUB 菜单中的首选?
答案1
回答:
在 /etc/grub.d 中以及特别是 10_linux 中 update-grub 使用的脚本中,我终于找到了解决方案。
- 复制 /etc/default/grub 和 /boot/grub/grub.cfg 以防出现问题。
- sudo nano /etc/default/grub
- 在文件底部添加行:GRUB_FLAVOUR_ORDER="generic" 并保存。
- sudo 更新 grub
- 重新启动之前,您可以通过在编辑器中打开 /boot/grub/grub.cfg 并查看“menuentry”的第一个实例并确保通用内核在其中来直观地验证通用内核是否是顶部菜单项。
这就是解决办法。
这一切的原因是:
10_linux 使用库 /usr/share/grub/grub-mkconfig_lib,该库具有以下函数:version_find_latest,它又调用 version_test_gt 来确定最新版本。
当在 /etc/default/grub 中设置 GRUB_FLAVOUR_ORDER="generic" 时,version_test_gt 包含在运行 sudo update-grub 时优先考虑“通用”内核的逻辑。