私は Debian Stretch / Ubuntu Bionic のデュアル ブートを使用しています。主要なブート マネージャーは Debian のものです。
bionic でカーネルを更新した後、新しいカーネルをテストするために bionic ブートローダーを起動します。bionic にはメインライン カーネルも 1 つインストールされています。
ただし、通常の 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 メニューは正常に戻りました。