Як визначити, чи було завантажено певну працюючу систему Ubuntu за допомогою EFI / UEFI або BIOS?
Як визначити, чи було завантажено певну працюючу систему 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 американськими мегатрендами
Або нічого не повертати, якщо його не було, в такому випадку він був завантажений з BIOS
... dmesg | grep -q "EFI v" # -q скажіть grep нічого не виводити якщо [$? -eq 0] # перевірити код виходу; якщо 0 EFI, інакше BIOS тоді echo "Ви використовуєте завантаження EFI." ще echo "Ви використовуєте завантаження BIOS" фі ...
Джерело: Про те, як визначити, чи використовує система EFI старі емуляції BIOS чи ні, а також додаткову інформацію про тестування на сумісність із EFI та EFI, а також рядки для ряду постачальників / версій EFI, перегляньте цю сторінку на саміт розробників Ubuntu для точних .
if dmesg | grep -Fq "EFI v"; then ...
. Крім того, немає сенсу виконувати [
команду, а лише перевірити на успіх / невдачу. $?
в основному корисний для перевірки на наявність конкретних помилок.