내 메뉴에는 여러 항목이 있습니다.GRUB2메뉴 중 일부는 이동식 장치(Ventoy, Windows 등)를 가리킵니다. 가리키는 장치/파티션/레이블에 사용할 수 없는 메뉴 항목을 자동으로 일시적으로 숨기거나 회색으로 표시하도록 Grub을 구성하는 방법이 있습니까?
이에 대한 정보를 얻을 수 없기 때문에 "절대"라고 대답할 수 있을 것 같습니다만...
답변1
항목을 동적으로 추가하는 것에 대한 Artem의 제안을 사용하여 이것이 내가 한 일입니다(내 grub.cfg에서 작동하도록 케이스/esac을 얻을 수 없음).
for dev in LIVEBOOT VTOYEFI ESP; do
set preroot=""
search --no-floppy --label "$dev" --set preroot
if [ "$preroot" != "" ]; then
if [ "y$dev" == "yLIVEBOOT" ]; then
menuentry "Fedora KDE Live [EFI] ($dev)" $preroot $dev --class fedora --class gnu-linux --class gnu --class os {
set root=$2
linuxefi /images/pxeboot/vmlinuz root=live:CDLABEL=$3 rd.live.image quiet rhgb
initrdefi /images/pxeboot/initrd.img
}
fi
if [ "y$dev" == "yESP" ]; then
menuentry "Ruindows [SSD] ($dev)" $preroot --class windows --class os {
insmod fat
set root=$2
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
fi
if [ "y$dev" == "yVTOYEFI" ]; then
menuentry "Ventoy [256GB pendrive] ($dev)" $preroot --class lubuntu --class os {
insmod fat
set root=$2
chainloader /EFI/BOOT/BOOTX64.EFI
}
fi
fi
done
어쩌면 preroot
변수가 실제로 필요하지 않고 코드를 단순화할 수도 있지만 만일의 경우에...