UEFI kullanarak önyükleme yapıp yapmadığımı nasıl öğrenebilirim?


54

Araştırıyordum, ancak GRUB'un sistem önyüklemesinde UEFI veya BIOS uyumluluk modunda mı yoksa tam teşekküllü bir BIOS mu kullandığını bilmenin açık bir yolunu bulamadım. Sadece Windows yöntemlerini buldum . GRUB veya Çekirdek önyükleme günlüklerinde UEFI, EFI veya BIOS kullanıp kullanmadığımı gösteren bir şey var mı?


Cevabı bulmak için vaktiniz yok, ama son zamanlarda çok fazla UEFI sorun gidermesi yapıyorum. Bu site UEFI'yi anlamakta oldukça faydalıdır. rodsbooks.com/refind/index.html
0xSheepdog

1
Akıllı görünmek istemem ama makinenin donanım yazılımı ne yapmalı?
ericx

1
@ericx bu soru, nasıl kontrol edileceğine dair hiçbir fikriniz olmadığı gibi davranmaktadır. Bu yüzden tüm çözümler önyüklemeli bir sistemde yapılabilir.
Braiam

Yanıtlar:


34

BIOS ürün yazılımı kullanmak yerine UEFI ürün yazılımı kullanarak önyükleme yaptıysanız, sisteminizde EFI NVRAM değişkenlerini aşağıdaki adreste bulabilirsiniz:

/sys/firmware/efi/vars/

veya

/sys/firmware/efi/efivars/

BIOS (veya UEFI belleniminin BIOS öykünme modu) kullanılarak önyükleme yapılırken bu değişkenler kullanılamaz.

Aslında, @Santropedro'nun belirttiği gibi, yol

/sys/firmware/efi

BIOS kullanılarak önyükleme yapılırken kontrol edilmesi kolaydır.


Bellenimden gelen belirli bir dizgiye veya mevcut önyüklemeyle doğrudan ilgili olmayabilir ek paketlere bağlı olmak yerine, daha hızlı ve doğrudan noktaya ulaşan bir yöntem için +1.
underscore_d

3
"Değişkenler mevcut değil" ne demektir? İçinde bir klasör olmadığını kontrol etmek yeterli: / sys / firmware / denilen "efi"?
Santropedro

@Santropedro - öyle görünüyor. Gönderiyi düzenlerim. Teşekkür ederim.
garethTheRed

42

İlk yöntem:

Tamam, kontrol etmek için UEFI kutumu açtım. İlk ipucu, üstüne yakın dmesg. BIOS üzerinden başlattıysanız bu görünmemelidir:

[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ACPI=0xd8769000  ACPI 2.0=0xd8769000  SMBIOS=0xd96d4a98 
[    0.000000] efi: mem00: type=6, attr=0x800000000000000f, range=[0x0000000000000000-0x0000000000001000) (0MB)
⋮


İkinci yöntem:

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* debian

Eğer değilseniz, aşağıdakiler görünmelidir:

$ sudo efibootmgr        

EFI variables are not supported on this system.

Efibootmgr paketinin kurulu olması gerektiğini unutmayın. EFI değişkenlerini listelemeyi de deneyebilirsiniz:

$ efivar -l 
... over 100 lines of output ...


Üçüncü yöntem:

Şunun olup olmadığını kontrol edin /boot/efi:

$ df -h --local | grep /boot
/dev/sda2       229M   31M  187M  14% /boot
/dev/sda1       120M  250K  119M   1% /boot/efi

Bu bölümün içinde UEFI'nin önyükleme yapmak için yürüttüğü dosyalar olmalıdır.

Bu yöntemlerden herhangi birini kullanıyorsanız, ilgili girişler görünmüyorsa, UEFI kullanmıyor olmanız muhtemeldir.


6
/boot/efisadece bir dizindir /bootve geri kalanı paketlerdir - hepsi UEFI kipinde kurulu olan bir sistemde mevcut olacaktır, ancak şimdi uyumluluk destek modülüyle açılmaktadır. Yine de, birincisi kesin ateş ... Efivarfların bağını bir çeşit paranoyak seçeneğiyle etkisizleştirebilirsin.
mikeserv

@mikeserv /boot/efiemin değilim bir mountpoint olan ihtiyaçlarını bile alakalı eğer firmware monte edilecek. bu yüzden evet, sadece bir yer tutucu klasörün bulunması, hiçbir şey yapmadan çok az şey anlamına gelir ve içeriği olsa bile, bunlar şu anda kullanılamaz.
underscore_d

1
Bu çözüm (90 yükseltme)/sys/firmware/efi güvenilir bir gösterge olarak konuşur ... askubuntu.com/a/162896/479118 - yani, belki de daha güvenilir?
Frank Nocke
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.