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.