Как мне определить, была ли загружена конкретная запущенная система Ubuntu с использованием EFI / UEFI или BIOS?
Самый простой способ - проверить, есть ли /sys/firmware/efi существует. Он не отображается, если вы загрузились с помощью традиционного BIOS.
#!/bin/bash[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Осуждаемый
Приведенный ниже ответ - это метод, который может не всегда работать.
Вместо этого используйте Ответ Колина основанный на/sys/firmware/efi.
Очень легко определить, была ли система загружена в EFI (или нет, и в этом случае она должен быть BIOS):
Просто используйте dmesg | grep "EFI v"
Это вернет строку, подобную этой, если система была загружена с EFI:
[ 0.000000] EFI v2.00 от American Megatrends
Или ничего не возвращать, если это не так, и в этом случае он был загружен из BIOS
Пример использования скрипта bash на основе grep - это код выхода:
...dmesg | grep -q "EFI v" # -q скажите grep, чтобы он ничего не выводил, если [ $? -eq 0 ] # проверьте код выхода; если 0 EFI, в противном случае BIOSthen выдает эхо "Вы используете загрузку EFI". В противном случае отображается эхо "Вы используете загрузку BIOS"fi...
Источник: О том, как определить, использует ли система EFI эмуляцию устаревшего BIOS или нет, а также дополнительную информацию о тестировании на совместимость с EFI и EFI, а также строки для ряда поставщиков / версий EFI, см. эта страница с саммита разработчиков Ubuntu для точной.
Код на Python для проверки загрузки системы с помощью UEFI или ROM BIOS:
импорт ос,sysdef main(): если(os.path.exists("/sys/firmware/efi")): выведите "\n\n Система загружается с помощью uefi!" еще: выведите "\n\n Система загружается с помощью rom bios"main()sys.exit(0)
Интересный вопрос. Не совсем обман, но попробуйте ответить здесь, на аналогичный вопрос.