Sistemimin EFI / UEFI veya BIOS olarak başlatıldığını nasıl anlarım?


Yanıtlar:



16

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ı

Grep'in çıkış koduna dayanan bash betiği kullanımı örneği :

...
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 .


2
Bunu basitleştirirdim 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.
geirha

3
Bu kırılgandır, çünkü aranan dizginin istenen özellik tarafından üretilme garantisi yoktur.
Thorbjørn Ravn Andersen

1
@izx, herhangi bir komut dosyası başka bir şeyin parçası olarak "EFI v" yazabilir. Bu bir BIOS makinesinde gerçekleşirse, bu yanlış bir pozitif olacaktır.
Thorbjørn Ravn Andersen

2
Çekirdek günlüğündeki metinde grep yapmamak en iyisidir, değişebilir. Bakmak için en iyi / sys / firmware / efi
Colin Ian King

1
Ancak, bunun EFI sürümünü edinmek için harika bir yol olduğunu belirtmek isterim!
Omega

0

Sistemin UEFI veya ROM BIOS ile başlatılıp başlatılmadığını kontrol etmek için Python kodu:

os, sys
def main ():
    if (os.path.exists ( "/ sys / firmware / efi")):
        print "\ n \ n Sistem uefi ile önyüklendi!"
    Başka:
        print "\ n \ n Sistem rom bios ile önyüklendi"
ana()
sys.exit (0)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.