grub:メニュー項目識別子は何ですか?

grub:メニュー項目識別子は何ですか?

デフォルトの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つの質問は次のとおりです。

  1. 何ですかmenu item identifier
  2. 新しくインストールされたカーネルがどの識別子を持つかをインストール前に予測できますか?言語設定やインストールされている他のカーネルに関係なく一貫性はありますか?

ベストアンサー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
        }
     
        [...]
}   

おすすめ記事