Как определить, была ли загружена конкретная работающая система Ubuntu с использованием EFI / UEFI или BIOS?
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)
устарело
Ответ ниже - метод, который не всегда может работать.
blockquote>
Вместо этого используйте ответ Колина на основе/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 .
BLOCKQUOTE>
Самый простой способ - проверить, существует ли /sys/firmware/efi
. Он не появляется, если вы загрузились с использованием традиционного BIOS.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS