Как проверить, работает ли GRUB в режиме EFI или BIOS?

Есть ли в оболочке grub команда, которая будет указывать, если на компьютере установлена ​​прошивка EFI или BIOS?

Я использую GRUB 2.00 на Mac Pro 2010 года. Этот компьютер, конечно, имеет прошивку EFI. Но я несколько дней пытался заставить его загрузить Ubuntu в режиме BIOS-эмуляции из-за отсутствия драйверов дисплея NVIDIA. Насколько я понимаю, ко времени работы GRUB решение об использовании эмуляции EFI или BIOS уже было принято. Так как я могу проверить из GRUB?

1
задан 4 January 2014 в 02:51

2 ответа

Начиная с GRUB 2.00, предполагая, что GRUB работает достаточно хорошо, чтобы перейти в обычный режим, а не в режим восстановления, «echo $ grub_platform» из оболочки GRUB покажет «pc» в режиме BIOS и «efi» в режиме UEFI.

Сборка BIOS соответствует пакету grub-pc, а сборка UEFI соответствует пакету grub-efi-amd64 (или, реже, grub-efi-ia32).

0
ответ дан 4 January 2014 в 02:51

Grub2 реализует синтаксис, подобный оболочке. Это будет работать:

if test "${grub_platform}" = "pc"; then
  menuentry 'XYZ' {
    linux ${linux_params}
    initrd ${initrd_params}
  }
else
  menuentry 'XYZ' {
    linuxefi ${linux_params}
    initrdefi ${initrd_params}
  }
fi

# as well as
if [ "${grub_platform}" = "pc" ] ; then
fi

# or
if [ "${grub_platform}" = "pc" ]
then
fi
1
ответ дан 2 March 2020 в 13:52

Другие вопросы по тегам:

Похожие вопросы: