
デフォルトのgrubエントリを設定するために使用できるツールはgrub-set-default
。
grub-set-default
デフォルト値を指定する3つの方法を指定します。 - 以下から取得します。マンページ:
MENU_ENTRY is a number, a menu item title or a menu item identifier.
私は最初の2つについて知っていますが、特定の状況でそれを使用することにはいくつかの制限があることがわかりました。
数字:
私が理解しているのはnumber
それが持っているインデックスなので、menuentry
新しいカーネルをインストールする場合、インストールされているカーネルと数によって異なります。
メニュー項目のタイトル
タイトル全体は、menuentry
構成の作成時に設定されたシステム言語によって異なります。たとえば、次の言語はデンマーク語に設定されているコンピュータにあります。
Ubuntu, med Linux 5.4.0-99-generic
。
言語設定に依存するため、言語が異なる可能性のある複数のコンピュータには理想的ではありません。
だから私の2つの質問は次のとおりです。
- 何ですか
menu item identifier
? - 新しくインストールされたカーネルがどの識別子を持つかをインストール前に予測できますか?言語設定やインストールされている他のカーネルに関係なく一貫性はありますか?
答え1
メニュー項目識別子とは何ですか?
上記の質問に対する正解を偶然見つけたようです。 /boot/grub/grub.cfgで説明されているように、以下のGrubメニューのサブメニューの最後の項目のメニュー項目識別子は次のとおりです。'gnulinux-advanced-79ff4213-58cc-4410-9b21-b6db63e1da04>gnulinux-5.4.0-109-lowlatency-advanced-79ff4213-58cc-4410-9b21-b6db63e1da04'
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-79ff4213-58cc-4410-9b21-b6db63e1da04' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 79ff4213-58cc-4410-9b21-b6db63e1da04
else
search --no-floppy --fs-uuid --set=root 79ff4213-58cc-4410-9b21-b6db63e1da04
fi
linux /boot/vmlinuz-5.13.0-40-generic root=UUID=79ff4213-58cc-4410-9b21-b6db63e1da04 ro quiet splash $vt_handoff
initrd /boot/initrd.img-5.13.0-40-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-79ff4213-58cc-4410-9b21-b6db63e1da04' {
menuentry 'Ubuntu, with Linux 5.13.0-40-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-40-generic-advanced-79ff4213-58cc-4410-9b21-b6db63e1da04' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 79ff4213-58cc-4410-9b21-b6db63e1da04
else
search --no-floppy --fs-uuid --set=root 79ff4213-58cc-4410-9b21-b6db63e1da04
fi
echo 'Loading Linux 5.13.0-40-generic ...'
linux /boot/vmlinuz-5.13.0-40-generic root=UUID=79ff4213-58cc-4410-9b21-b6db63e1da04 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-40-generic
}
menuentry 'Ubuntu, with Linux 5.13.0-40-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.13.0-40-generic-recovery-79ff4213-58cc-4410-9b21-b6db63e1da04' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 79ff4213-58cc-4410-9b21-b6db63e1da04
else
search --no-floppy --fs-uuid --set=root 79ff4213-58cc-4410-9b21-b6db63e1da04
fi
echo 'Loading Linux 5.13.0-40-generic ...'
linux /boot/vmlinuz-5.13.0-40-generic root=UUID=79ff4213-58cc-4410-9b21-b6db63e1da04 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.13.0-40-generic
}
menuentry 'Ubuntu, with Linux 5.4.0-109-lowlatency' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-109-lowlatency-advanced-79ff4213-58cc-4410-9b21-b6db63e1da04' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 79ff4213-58cc-4410-9b21-b6db63e1da04
else
search --no-floppy --fs-uuid --set=root 79ff4213-58cc-4410-9b21-b6db63e1da04
fi
echo 'Loading Linux 5.4.0-109-lowlatency ...'
linux /boot/vmlinuz-5.4.0-109-lowlatency root=UUID=79ff4213-58cc-4410-9b21-b6db63e1da04 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.4.0-109-lowlatency
}
[...]
}