Belirli bir çalışan Ubuntu sisteminin EFI / UEFI veya BIOS kullanılarak başlatılıp başlatılmadığını nasıl belirleyebilirim?
Belirli bir çalışan Ubuntu sisteminin EFI / UEFI veya BIOS kullanılarak başlatılıp başlatılmadığını nasıl belirleyebilirim?
Yanıtlar:
En kolay yolu, olup olmadığını kontrol etmektir /sys/firmware/efi. Geleneksel BIOS kullanarak başlattıysanız görünmüyor.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Kullanımdan kaldırılan
Aşağıdaki cevap her zaman işe yaramayabilecek bir yöntemdir.
Bunun yerine kullanmak Colin'in cevabı dayalı/sys/firmware/efi.
Bir sistemin EFI'de başlatılıp başlatılmadığını anlamak çok kolaydır (değil, bu durumda BIOS olmalıdır ):
Sadece kullan dmesg | grep "EFI v"
Sistem EFI'den başlatılmışsa bu, böyle bir satır döndürür:
[0.000000] Amerikan Megatrends tarafından EFI v2.00
Ya da olmasa bile hiçbir şey döndürmeyin, bu durumda BIOS'tan çıkarıldı
...
dmesg | grep -q "EFI v" # -q grep'e hiçbir şey vermemesini söyler
eğer [$? -eq 0] # çıkış kodunu kontrol edin; 0 EFI ise, BIOS
sonra
echo "EFI önyüklemesini kullanıyorsunuz."
Başka
echo "BIOS'u kullanıyorsunuz"
fi
...
Kaynak: Bir EFI sisteminin eski BIOS emülasyonu kullanıp kullanmadığını ve ayrıca EFI ve EFI uyumluluğunu test etmek için ve bir dizi EFI satıcısının / sürümünün dizeleriyle ilgili daha fazla bilgi edinmek için lütfen bu sayfaya bakın. Hassas için Ubuntu Geliştirici Zirvesi .
if dmesg | grep -Fq "EFI v"; then .... [Ek olarak komutu çalıştırmanın bir anlamı yok , sadece başarı / başarısızlık testi yapmak için. $?belirli hataları kontrol etmek için kullanışlıdır.