grub 保存的默认值在 bionic 中不起作用

grub 保存的默认值在 bionic 中不起作用

我有一个双启动 Debian stretch/Ubuntu bionic。主要启动管理器是 Debian。

在 bionic 中更新内核后,我启动 bionic 引导加载程序来测试新内核。bionic 中还安装了一个主线内核。

但我会将普通的 Ubuntu 内核设置为默认内核。

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_GFXPAYLOAD_LINUX=text

sudo grub-editenv list

saved_entry=gnulinux-advanced-0ddc8e0a-4b8a-479c-9502-5478ed3c4036>gnulinux-4.15.0-51-generic-advanced-0ddc8e0a-4b8a-479c-9502-5478ed3c4036
next_entry=

但在重启或关机 + 开机后,Ubuntu 会启动主线内核。我的菜单项是grep -i "menuentry '" /boot/grub/grub.cfg|sed -r "s|--class .*$||g"|nl -v 0

 0  menuentry 'Ubuntu' 
 1      menuentry 'Ubuntu, mit Linux 4.20.17-042017-generic' 
 2      menuentry 'Ubuntu, mit Linux 4.20.17-042017-generic (recovery mode)' 
 3      menuentry 'Ubuntu, mit Linux 4.15.0-51-generic' 
 4      menuentry 'Ubuntu, mit Linux 4.15.0-51-generic (recovery mode)' 
 5      menuentry 'Ubuntu, mit Linux 4.15.0-50-generic' 
 6      menuentry 'Ubuntu, mit Linux 4.15.0-50-generic (recovery mode)' 
 7  menuentry 'Ubuntu text' 
 8      menuentry 'Ubuntu text, mit Linux 4.20.17-042017-generic' 
 9      menuentry 'Ubuntu text, mit Linux 4.15.0-51-generic' 
10      menuentry 'Ubuntu text, mit Linux 4.15.0-50-generic' 

我的配置有什么问题?

笔记:我确实跑了sudo update-grub

答案1

你的问题听起来像这样:GRUB 2 “卡”在特定的启动选项上

答案中的解决方案:

在这种情况下,next_entry 字段在重启后并没有被清除(可能是由于某些 btrfs 不兼容?)

我成功地像这样取消设置它(再次,在 chroot 中):

grub2-editenv /boot/grub2/grubenv unset next_entry

重新启动后,grub 菜单恢复正常!

相关内容