기본 grub 항목을 설정할 때 사용할 수 있는 도구는 grub-set-default
.
grub-set-default
기본값을 지정하는 세 가지 방법을 지정합니다. - 다음에서 가져옵니다.맨페이지:
MENU_ENTRY is a number, a menu item title or a menu item identifier.
처음 두 가지에 대해 알고 있지만 특정 상황에서 이를 사용하는 데 몇 가지 제한 사항이 있음을 발견했습니다.
숫자:
내가 이해하는 바로는 number
그것이 가지고 있는 인덱스이므로 menuentry
새 커널을 설치하는 경우 설치된 커널과 개수에 따라 달라지기 때문에 위치가 시스템 간에 항상 일관되지는 않습니다.
메뉴 항목 제목
전체 제목은 menuentry
구성을 생성할 때 설정된 시스템 언어에 따라 달라집니다. 예를 들어, 다음은 언어가 덴마크어로 설정된 컴퓨터에 있는 것입니다.
Ubuntu, med Linux 5.4.0-99-generic
.
언어 설정에 의존하기 때문에 언어가 다를 수 있는 여러 컴퓨터에는 이상적이지 않습니다.
그래서 내 두 가지 질문은 다음과 같습니다.
- 무엇인가요
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
}
[...]
}