grub の保存されたデフォルトが bionic で動作しない

grub の保存されたデフォルトが bionic で動作しない

私は 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 メニューは正常に戻りました。

関連情報