我有一个双启动 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 菜单恢复正常!