GNU/Linux >> Znalost Linux >  >> Linux

Jak funguje více spouštěcích zavaděčů na systémovém oddílu Efi?

Můj ESP vypadá takto

Boot Dell fedora Microsoft

V adresáři Boot se nachází zavaděč s názvem bootx64.efi což chápu, je výchozí zavaděč, který se spustí jako první. Ale v adresáři fedora je další boot-loader (grub2) s názvem grubx64.efi .

Jaká je funkce každého z těchto boot-loaderů? Který z nich poskytuje boot-menu ?

Přijatá odpověď:

bootx64.efi nezačne první. Většinu času se vůbec nespustí.

Firmware EFI má své vlastní „boot menu“, analogické s menu prezentovaným GRUB, ale v dřívější fázi procesu bootování. Stejně jako vám GRUB umožňuje vybrat si, které linuxové jádro chcete spustit, spouštěcí nabídka EFI vám umožňuje vybrat, který spouštěcí program EFI chcete spustit – možnosti jsou věci jako samotný GRUB nebo zavaděč Windows. (A stejně jako nabídka GRUB se spouštěcí nabídka EFI obvykle ve výchozím nastavení nezobrazuje; abyste ji viděli, musíte během spouštění stisknout klávesovou zkratku.)

Položky v zaváděcí nabídce EFI jsou definovány konfiguračními daty, která jsou uložena v NVRAM základní desky (paměť „nastavení BIOSu“). Tato konfigurace není uložena v souboru, ale ve Fedoře byste ji měli vidět pomocí efibootmgr program. Každá položka obsahuje lidsky čitelný název (zobrazí se v nabídce) a cestu ke spouštěcímu programu v systémovém oddílu EFI a také číslo priority, které určuje, která položka se ve výchozím nastavení spustí, když nestisknete klávesovou zkratku. zobrazíte nabídku.

Tyto zaváděcí položky NVRAM jsou (obvykle) vytvořeny instalačními programy operačního systému. Když nainstalujete operační systém a ten umístí soubor bootloaderu do systémového oddílu EFI, přidá také položku do konfigurace NVRAM, takže nový bootloader bude dostupný v zaváděcí nabídce EFI. (V mnoha případech také činí tuto novou položku výchozí, takže operační systém, který jste právě nainstalovali, se spustí sám, aniž byste museli otevírat spouštěcí nabídku EFI a ručně ji vybírat.)

Soubor Boot/bootx64.efi program je záložní pro případ, kdy EFI nebylo nakonfigurováno se žádnými spouštěcími položkami NVRAM, které odkazují na jiné spouštěcí programy na disku. Je to důležité pro vyměnitelná média, jako jsou bootovací CD a USB disky, ale na pevném disku se obecně nepoužívá. Instalační program systému Windows vytvoří soubor Boot/bootx64.efi jako pojistka proti selhání; Je to jen kopie Microsoft/Boot/bootmgfw.efi (alespoň ve Windows 7; o jiných verzích nevím).

Související:Jak provést ekvivalent `head -z`, když nemám k dispozici volbu `-z`?

Na svých systémech jsem nahradil soubor Microsoft bootx64.efi s kopií EFI Shell, takže pokud se nějakým způsobem ocitnu bez jakýchkoli zaváděcích položek NVRAM a skutečně se spoléhám na záložní zavaděč, dostanu se do shellu, kde mohu prozkoumat situaci a místo toho ručně spustit některý z dalších spouštěcích programů že systém automaticky spustí systém Windows. (Také jsem pro něj přidal položku do nabídky GRUB, abych měl možnost spustit EFI shell, i když systém funguje správně.)


Linux
  1. Jak duální bootování Manjaro a Windows 10

  2. Jak duální bootování Windows 10 a MX Linux

  3. GRUB na systému s podporou EUFI

  1. Jak zjistit, zda konkrétní systém potřebuje spouštěcí oddíl?

  2. Jak přidat novou spouštěcí položku operačního systému do nabídky Grub2?

  3. Jak změnit velikost (rozšířit) souborový systém založený na oddílech v Linuxu

  1. Jak na to:Správa systémových protokolů pomocí Journalctl

  2. Je oddíl /boot vždy nutný?

  3. Jak zavést systém Linux bez grafického serveru