Как я могу определить, загружена ли моя система как EFI / UEFI или BIOS?

Как определить, была ли загружена конкретная работающая система Ubuntu с использованием EFI / UEFI или BIOS?

121
задан 12 March 2016 в 21:35

3 ответа

Python-код для проверки загрузки системы с UEFI или ROM BIOS:

import os,sys
def main():
    if(os.path.exists("/sys/firmware/efi")):
        print"\n\n System is booted with uefi!"
    else:
        print"\n\n System is booted with rom bios"
main()
sys.exit(0)
0
ответ дан 12 March 2016 в 21:35

устарело

Ответ ниже - метод, который не всегда может работать.
Вместо этого используйте ответ Колина на основе /sys/firmware/efi.


Очень легко определить, была ли система загружена в EFI (или нет, и в этом случае она должна быть BIOS):

Просто используйте [ 113]

  • Это вернет строку, подобную этой, если система была загружена с EFI:

    [ 0.000000] EFI v2.00 by American Megatrends
  • Или ничего не вернет, если это не так, в этом случае он был загружен из BIOS

Пример использования bash-скрипта на основе кода выхода grep :

...
dmesg | grep -q "EFI v"    # -q tell grep to output nothing
if [ $? -eq 0 ]      # check exit code; if 0 EFI, else BIOS
then
    echo "You are using EFI boot."
  else
    echo "You are using BIOS boot"
fi
...

Источник: Чтобы узнать, использует ли система EFI устаревшую эмуляцию BIOS или нет, а также дополнительную информацию о тестировании на совместимость с EFI и EFI, а также строки для ряда поставщиков / версий EFI, пожалуйста, см. эту страницу из Ubuntu Developer Summit for Precise .

0
ответ дан 12 March 2016 в 21:35

Самый простой способ - проверить, существует ли /sys/firmware/efi. Он не появляется, если вы загрузились с использованием традиционного BIOS.

#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
0
ответ дан 12 March 2016 в 21:35

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

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