Olen asentanut Ubuntu 19 64bit: n Windows 10 64bit: n rinnalle ja huomasin, että minulla on 3 erilaista EFI-tiedostoa eri paikoissa:
EFI\boot\bootx64.efi EFI\ubuntu\grubx64.efi /boot/grub/x86_64-efi/grub.efi
Mitä eroa näillä kolmella on?
Kommentit
- Tyypillisesti molemmat Windows & grub2 asentavat bootx64: n. efi varalla tai kiintolevyn UEFI-käynnistysmerkkinä. Se on myös kaikkien ulkoisten laitteiden vakiopolku &. Sinulla tulisi olla sekä /EFI/ubuntu/grubx64.efi että /EFI/ubuntu/shimx64.efi. Shim on tarkoitettu suojatulle käynnistykselle, mutta se käynnistetään suojatun käynnistyksen ollessa pois päältä. etkö ole varma, miksi meillä on vielä grubia? Etkö ole varma, mistä grub.efi tuli. Sinun on jossakin vaiheessa asennettava toinen jakelu, joka käyttää oletusarvoista grub-merkintää.
- Etsin tutkimusta saadaksesi multi linux -dro-USB-aseman EFI: n kanssa (olen jo luonut sellaisen MBR: lle, mutta se ei ' ei toimi uusimmissa tietokoneissa, joissa on vain EFI: tä tukeva BIOS). Löysimme tämän sivun, joka vastaa kysymyksiisi ja selittää EFI: n hyvin yksityiskohtaisesti. Koska se on suuri vastausta varten, ' laitan linkin vain siltä varalta, että haluat ymmärtää, miten se kaikki toimii: sauvakirjat. com / efi-bootloaders
Vastaa
EFI\boot\bootx64.efi
: Fallback-käynnistyslataimen polku
Tämä on ainoa käynnistyslataimen polun nimi, jota UEFI-laiteohjelmisto etsii 64-bittisissä X86-järjestelmissä ilman aiemmin luotuja NVRAM-käynnistysasetuksia, joten tätä haluat käyttää siirrettävä tietoväline.
Windows asentaa käynnistyslataimen kopion tälle polulle automaattisesti; asennettaessa GRUB, grub-install
(tai grub2-install
Linux-jakelusta riippuen) -komento voi myös laittaa kopion vastaavasta käynnistyslataimesta tähän, jos se tekee ei ole jo olemassa. Halutessasi voit käyttää grub-install --removable
-sovellusta käskemään sitä asentamaan varakäynnistyspolulle tai grub-install --force-extra-removable
korvaamaan kaikki olemassa olevat käynnistyslataimet vararata ja korvaa se GRUB: lla.
Jos haluat luoda Secure Boot -yhteensopivan USB-tikun UEFI: lle, aseta välilevyn kopio EFI\boot\bootx64.efi
ja kopio GRUB-tiedostosta nimellä EFI\boot\grubx64.efi
, koska shim-käynnistyslatausohjelma etsii grubx64.efi
samasta hakemistosta, jossa shim-käynnistyslatauslaite on sisään.
Bootloader-polku pysyvästi asennetulle käyttöjärjestelmälle
Kun käyttöjärjestelmä asennetaan pysyvästi UEFI-järjestelmään, on yksi uusi vaihe, jota ei ehdottomasti ollut olemassa klassinen BIOS. Käynnistyslatainta asennettaessa NVRAM-muistiin, joka pitää laiteohjelmiston asetukset, kirjoitetaan neljä asiaa:
- Käynnistyslataimen polun nimi käynnistyslatauslaitteita pitävässä EFI-järjestelmäosassa (ESP)
- ESP-osion GUID
- kuvaava (ihmisystävällinen) nimi tälle tietylle käynnistyslataimen ilmentymälle
- valinnaisesti joitakin tietoja käynnistysohjelmalle
Windowsissa Windowsin käynnistysprosessin vakio UEFI-polun nimi on \EFI\Microsoft\Boot\bootmgfw.efi
ja kuvaava nimi on " Windows Käynnistyksen hallinta ". Valinnaiset tiedot näyttävät sisältävän GUID-viitteen johonkin Windowsin käynnistyslataimen BCD-määritystiedostoon.
Ubuntussa polunimen tulisi olla \EFI\Ubuntu\grubx64.efi
, jos et ”Ei tarvitse suojattua käynnistystä -tukea, tai \EFI\Ubuntu\shimx64.efi
, jos suojattua käynnistystä käytetään. Kuvaava nimi on yksinkertaisesti " ubuntu " eikä valinnaista tietoa käytetä.
Ubuntu, nämä UEFI NVRAM-käynnistysasetuksia voidaan tarkastella komennolla sudo efibootmgr -v
; Windowsissa voit käynnistää komentokehotteen järjestelmänvalvojana ja tarkastella sitten asetuksia bcdedit /enum firmware
-komennolla.
UEFI-määritys on vakiokäytäntö, jonka mukaan jokaisen toimittajan tulisi sijoittaa pysyvästi asennetun käyttöjärjestelmän käynnistyslatausohjelma ESP: n polulle \EFI\<vendor name>
, joten useiden UEFI-käynnistyslatainten samanaikaista käyttöä tuetaan samalla ESP: llä ja sen pitäisi tehdä asiat helpommaksi kuin perinteisessä BIOSissa, jossa levyllä on yksi pääkäynnistystietue.
/boot/grub/x86_64-efi/grub.efi
: väliaikainen tiedosto grub-install
Kun grub-install
käytetään, se käyttää ensin grub-mkimage
-apuohjelmaa GRUB core image : UEFI-järjestelmässä tämä tiedosto tallennetaan nimiin /boot/grub/x86_64-efi/grub.efi
ja / tai .../core.efi
ennen sitä kopioidaan EFI-järjestelmäosioon ja lisätään UEFI NVRAM -käynnistysasetuksiin grub-install
-toiminnolla.Kohdassa /boot/grub/x86_64-efi/*.efi
olevaa kopiota ei käytetä lainkaan käynnistysprosessissa, mutta siitä voi olla hyötyä, jos ESP vahingoittuu jostain syystä.
Huomaa: Debian / Ubuntussa luotu GRUB-ydinkuva sisältää paistetun UUID-viitteen mihin tahansa tiedostojärjestelmään /boot
-hakemisto, joten et voi tehdä vain kopiota joko /boot/grub/x86_64-efi/grub.efi
tai grubx64.efi
ESP ja siirrä se siirrettävään tietovälineeseen: se vain yrittää löytää /boot
-tiedostojärjestelmän yksilöllisen UUID: n ja siirtyy pelastustilaan, jos se ei löydä sitä. Jos muistan oikein, RedHat / CentOS / Fedoran GRUBin pitäisi olla sopivampi siirrettäväksi siirrettävään tietovälineeseen.
Suojattu käynnistys: shimx64.efi
ja sen syyt
Suojattu käynnistys edellyttää, että käynnistyslataimen on allekirjoitettava varmenne, joka sisältyy järjestelmän suojatun käynnistyksen NVRAM-muuttujaan db
tai käynnistyslataimen SHA256: een. hash on lisättävä sallittujen luetteloon samaan NVRAM-muuttujaan. SHA256-tiiviste täsmää vain tietyn käynnistyslataimen tietyn version kanssa, joten päivitykset eivät ole mahdollisia, ellei myös laiteohjelmistomuuttujaa päivitetä. Joten varmenteet ovat tie.
Valitettavasti monet järjestelmätoimittajat sisältää vain muutaman Secure Boot -sertifikaatin tuotteisiinsa: usein vain toimittajan oma varmenne (laiteohjelmistopäivityksiä ja laitteiden virheenkorjausta / OEM-määritystyökaluja varten) ja Microsoftin Secure Boot -varmenteet. Jotkut järjestelmät sallivat Secure Boot -luettelon muokkaamisen. sertifikaatit laiteohjelmiston asetusten kautta (= " BIOS-asetukset "), mutta muut eivät voittaneet. Joten tarvittiin riippumaton ratkaisu.
Microsoft tarjoaa UEFI-käynnistyslataimen allekirjoituspalvelun kenellekään, mutta ainakin alun perin allekirjoittamisen läpimenoaika oli melko pitkä, joten vaatimus allekirjoittaa kaikki GRUB-versiot olisi aiheuttanut kohtuuttomat viiveet käynnistyslataimen päivityksissä. Ongelman ratkaisemiseksi kehitettiin shim-käynnistyslatausohjelma: se on pohjimmiltaan yksinkertaisin kohtuullinen UEFI-ohjelma, joka lisää yhden tai useamman varmenteen Secure Boot hyväksyttyyn luetteloon. Yksinkertaisuus vähentää toivottavasti tarvetta päivittää välilevy itse, joten avoin – lähde-käyttöjärjestelmän jakelut (Linux ja muut) voivat vain hankkia Microsoftin allekirjoittaman version shimistä vain kerran ja allekirjoittaa minkä tahansa GRUB-version omilla varmenteillaan, joiden julkinen osa on upotettu välilevyyn ja jonka avulla Secure Boot voi hyväksyä jakelun ” GRUB-version.
Kommentit
- Kiitos vastauksesta. BTW, AFAIK
bootmgfw.efi
on ' nt Windowsin käynnistyslatain, se ' s Windowsin käynnistyshallinta, joka kutsuu Windowsin käynnistyslatainta\Windows\System32\winload.efi
. Mitä tarkoitat myösNVRAM
? CMOS? - Yritin olla liian suoraviivainen ja näyttää siltä, että yksinkertaistin liikaa " Windowsin käynnistyslatainta " . Ja kyllä, NVRAM: lla tarkoitan pysyvää tallennustilaa, joka sisältää laiteohjelmiston asetukset, joka klassisissa tietokoneissa tunnettiin myös CMOS-muistina, mutta nykyaikaisissa järjestelmissä voi tosiasiallisesti käyttää muuta tekniikkaa kuin CMOS (Complementary Metal Oxide Semiconductor).