Am instalat Ubuntu 19 64bit împreună cu Windows 10 64bit și am constatat că am 3 fișiere EFI diferite în locații diferite:
EFI\boot\bootx64.efi EFI\ubuntu\grubx64.efi /boot/grub/x86_64-efi/grub.efi
Care este diferența dintre aceste trei?
Comentarii
- De obicei, ambele Windows & grub2 instalează bootx64. efi ca o intrare alternativă sau hard disk UEFI boot. De asemenea, acesta este calea standard & pentru toate dispozitivele externe. Ar trebui să aveți atât /EFI/ubuntu/grubx64.efi, cât și /EFI/ubuntu/shimx64.efi. Shim este pentru boot securizat, dar va porni cu boot securizat dezactivat. nu sunt sigur de ce mai avem atunci grub? Nu sunt sigur de unde ai venit. Trebuie să instalați la un moment dat o altă distribuție care utilizează intrarea grub implicită.
- Cercetez să obțin o unitate USB distro multi linux cu EFI (am creat deja una pentru MBR, dar nu ' nu funcționează pe computere recente cu BIOS care acceptă numai EFI) și am găsit această pagină care vă va răspunde la întrebări și vă va explica EFI într-un mod foarte detaliat. Deoarece este mare pentru un răspuns, ' voi pune doar linkul în cazul în care doriți să înțelegeți cum funcționează totul: rodsbooks. com / efi-bootloaders
Răspuns
EFI\boot\bootx64.efi
: Calea de încărcare a încărcării de rezervă
Acesta este singurul nume de cale de încărcare a încărcătorului pe care firmware-ul UEFI de pe sistemele X86 pe 64 de biți îl va căuta fără setări de boot NVRAM preexistente, deci acesta este ceea ce doriți să utilizați suport amovibil.
Windows va instala automat o copie a încărcătorului de boot pe această cale; la instalarea GRUB, comanda grub-install
(sau grub2-install
în funcție de distribuția Linux) poate pune aici și o copie a bootloaderului respectiv nu există deja. Dacă doriți, puteți utiliza grub-install --removable
pentru a-i spune să se instaleze pe calea de boot de rezervă, sau grub-install --force-extra-removable
pentru a suprascrie orice bootloader existent în calea de rezervă și înlocuiți-o cu GRUB.
Dacă doriți să creați un stick USB compatibil cu boot-ul securizat pentru UEFI, ar trebui să plasați o copie a shim ca EFI\boot\bootx64.efi
și o copie a GRUB ca EFI\boot\grubx64.efi
, deoarece shim bootloader va căuta grubx64.efi
în același director este shim bootloader în.
Calea bootloader-ului pentru un sistem de operare instalat permanent
Când un sistem de operare este instalat permanent pe un sistem UEFI, există un nou pas care absolut nu a existat pe BIOS clasic. La instalarea încărcătorului de încărcare, patru lucruri sunt scrise în memoria NVRAM care conține setările firmware-ului:
- Numele de cale al încărcătorului pe partiția de sistem EFI (ESP) care deține încărcătorul de încărcare
- GUID-ul partiției ESP
- un nume descriptiv (prietenos cu omul) pentru această instanță specială de bootloader
- opțional, unele date pentru bootloader
Pentru Windows, calea standard UEFI pentru procesul de pornire Windows va fi \EFI\Microsoft\Boot\bootmgfw.efi
, iar numele descriptiv va fi " Windows Boot Manager ". Datele opționale par să conțină o referință GUID la ceva din fișierul de configurare BCD al bootloader-ului Windows.
Pentru Ubuntu, calea ar trebui să fie \EFI\Ubuntu\grubx64.efi
dacă nu „nu aveți nevoie de suport Secure Boot sau \EFI\Ubuntu\shimx64.efi
dacă este utilizat suportul Secure Boot. Numele descriptiv este pur și simplu " ubuntu ", iar datele opționale nu sunt utilizate.
În Ubuntu, aceste UEFI Setările de încărcare NVRAM pot fi vizualizate folosind comanda sudo efibootmgr -v
; în Windows, puteți porni o linie de comandă ca administrator și apoi utilizați comanda bcdedit /enum firmware
pentru a vizualiza setările.
Specificația UEFI are o convenție standard conform căreia fiecare furnizor ar trebui să plaseze bootloader-ul pentru un sistem de operare instalat permanent în calea \EFI\<vendor name>
de pe ESP, astfel încât să existe mai multe bootloadere UEFI pe același ESP este de fapt acceptat și ar trebui să ușureze lucrurile decât cu BIOS-ul clasic, care avea o singură înregistrare masteră de boot pe disc.
/boot/grub/x86_64-efi/grub.efi
: un fișier temporar pentru grub-install
Când se utilizează grub-install
, va folosi mai întâi utilitarul grub-mkimage
pentru a crea un imagine de bază GRUB : pe un sistem UEFI, acest fișier va fi salvat la /boot/grub/x86_64-efi/grub.efi
și / sau .../core.efi
înainte de acesta va fi copiat în partiția de sistem EFI și adăugat la setările de boot UEFI NVRAM de grub-install
.Copia din /boot/grub/x86_64-efi/*.efi
nu va fi utilizată deloc în procesul de boot, dar ar putea fi utilă dacă ESP se deteriorează din orice motiv.
Notă: Pe Debian / Ubuntu, imaginea de bază GRUB generată va include o referință UUID integrată la oricare sistem de fișiere conține /boot
, deci nu veți putea face doar o copie a /boot/grub/x86_64-efi/grub.efi
sau grubx64.efi
ESP-ul și transferați-l pe un suport de stocare detașabil: va încerca doar să găsească UUID-ul unic al sistemului de fișiere /boot
și va intra în modul de salvare dacă nu îl va găsi. Dacă îmi amintesc corect, GRUB-ul RedHat / CentOS / Fedora ar trebui să fie mai potrivit pentru transplant pe suporturi amovibile.
Secure Boot: shimx64.efi
și motivele acestuia
Secure Boot necesită ca un bootloader să fie semnat printr-un certificat inclus în variabila NVRAM Secure Boot a sistemului db
sau SHA256 a bootloaderului hash-ul trebuie să fie listat în alb în aceeași variabilă NVRAM. Un hash SHA256 se va potrivi doar cu o versiune specifică a unui anumit încărcător de boot, astfel încât actualizările nu vor fi posibile decât dacă variabila firmware este actualizată și. Deci, certificatele sunt calea de urmat.
Din păcate, mulți furnizori de sistem va include doar câteva certificate Secure Boot la produsele lor: de multe ori doar certificatul propriu al furnizorului (pentru actualizări de firmware și depanare hardware / instrumente de configurare OEM) și certificate Secure Boot Microsoft. Unele sisteme vor permite editarea listei Secure Boot certificate prin setări firmware (= " setări BIOS "), dar altele nu au câștigat „t. Așadar, a fost nevoie de o soluție independentă.
Microsoft oferă un serviciu de semnare UEFI bootloader pentru oricine, dar cel puțin inițial timpul de livrare pentru semnare a fost destul de lung, astfel încât cerința de a semna fiecare versiune GRUB direct ar fi cauzat întârzieri inacceptabile în actualizările bootloaderului. Pentru a rezolva problema, shim bootloader-ul a fost dezvoltat: este în esență cel mai simplu program UEFI rezonabil care va adăuga unul sau mai multe certificate la lista acceptată Secure Boot. Simplitatea va reduce, sperăm, necesitatea de a actualiza shim-ul în sine, astfel încât deschiderea – distribuțiile de sisteme de operare sursă (Linux și altele) pot obține versiunea de shim semnată de Microsoft o singură dată și apoi pot semna orice versiune GRUB cu propriile certificate, a căror parte publică este încorporată în shim și permite Secure Boot să accepte distribuția ” versiunea GRUB.
Comentarii
- Vă mulțumim pentru răspuns. BTW, AFAIK
bootmgfw.efi
este ' nt Windows bootloader, este ' s Windows Boot Manager, care numește Windows bootloader\Windows\System32\winload.efi
. De asemenea, ce vrei să spui prinNVRAM
? CMOS? - Am încercat să nu fiu prea amănunțit și parcă am simplificat prea mult referitor la problema " Windows bootloader " . Și da, prin NVRAM mă refer la stocarea non-volatilă care conține setările firmware-ului, care pe computerele clasice a fost cunoscută și sub numele de memorie CMOS, dar pe sistemele moderne poate folosi de fapt o altă tehnologie decât CMOS (Complementary Metal Oxide Semiconductor).