Jag installerade win10 och en Linux för dubbel start på samma SSD, under installationen av Linux innehåller den en grub. Efter installationen kan jag se att det finns en ny Linux efi-fil till ESP-partitionen. Nu bestämde jag mig för att ta bort Linux helt, det första steget jag gjorde var att ta bort efi-startposten med ett verktyg som heter EasyUEFI. Inmatningen försvann när jag startade om och trycker på F11.

Men det finns två delar som förvirrade mig:

  1. Linux efi-filen finns fortfarande i ESP-partitionen efter posten har tagits bort, jag trodde att det finns sådana efi-filer hur UEFI skulle veta om det finns ett sådant startalternativ när användaren trycker på F11 när den startas. Nu betyder det att startalternativen spelas in någon annanstans, och EasyUEFI-verktyget tog helt enkelt bort det. Var är det, är det i ESP-partition?

  2. Jag är inte riktigt säker på om jag förstår det här rätt, är UEFI-start (efi-filen och vad som helst andra startposter som den har lagt till under installation) och gnugga samma sak nu? Eller är det när användaren väljer en efi-startpost, går den till grub boot-menyn, vilket är en separat sak? Om efi boot redan kan hantera startvalet, är det då meningslöst att ha en grub efter?

Än du

Kommentarer

  • 1 Det ' finns på din firmware, inte ESP. 2 UEFI är din firmware och grub är en UEFI-applikation som kan tjäna bootloader-funktionaliteten. UEFI kan hantera startval men kan ' t starta alla operativsystem (det kan bara köra UEFI-applikationer på ESP, t.ex. grub, Linux-kärna med EFI-stubkod, modern Microsoft bootmgr), så det kör grub. Grub tillhandahåller också sin egen startmeny och kan starta fler operativsystem (och mycket mer andra funktioner) än UEFI.
  • 2. " Är det inte ' det meningslöst att ha Grub? " Nej och ja. Rollen för det laddade programmet som pekas på av startvariabeln är att fungera som en startladdare för operativsystemet. Det kan också ha hjälpfunktioner, som att tillhandahålla en startmeny. Å andra sidan kan Linux-kärnan konfigureras så att kärnbilden i sig är en giltig EFI-binär som kan starta själv. Så ja, att använda Grub med UEFI-firmware är meningslöst eller åtminstone inte nödvändigt. Du kan också använda " starthanterare " som systemd-boot eller rEFInd, som inte är startladdare, bara startmenyleverantörer.
  • Tack, att ' är mycket hjälpsam, nu får jag bilden.
  • Nej, UEFI kan ' för att inte starta allt, det kräver att kärnan (eller något som används som startstub för operativsystemet) ska vara ett UEFI-program och vara placerat i ESP. Grub erbjuder mer flexibla startalternativ, till exempel startkärnor från andra partitioner med icke-FAT-filsystem, följ multibootprotokoll eller Linux startprotokoll, chainloader till MBR på en annan disk etc.

Svar

1.) Med EasyUEFI kommer du att redigera UEFI-startvariablerna. Dessa lagras i system NVRAM, precis som BIOS-inställningar. I Linux, du kan redigera dem med verktyget efibootmgr; i vanliga Windows kan bcdedit /enum FIRMWARE lista dem och andra alternativ kan användas för att redigera dem.

Om det inte finns någon startvariabel definierad finns det en specifik reservväg UEFI tittar automatiskt på: för 64-bitars x86-maskinvara är den här sökvägen \EFI\boot\bootx64.efi. finns i en ESP-partition eller i något avlägsningsbart FAT32-medium, disk och andra media anses automatiskt ”startbara” i inbyggd UEFI-stil.

2.) UEFI är system firmware (som BIOS, men nyare). GRUB är en bootloader, så den måste överensstämma med whateve r-form förväntas av den aktuella hårdvaruarkitekturens fasta programvara, annars kommer firmware inte att kunna ladda GRUB.

Så GRUB-kärnan kan ta många former: med BIOS tar GRUB formen av lite startkod i MBR + mer kod inbäddad i diskblock mellan MBR och början av den första partitionen. Med UEFI kan kärnan i GRUB (eller till och med hela den) ha formen av en enda grubx64.efi -fil inom ESP-partitionen.

GRUB har sin egen arkitekturidentifierare: versionen av GRUB för BIOS är känd som i386-pc -versionen, och UEFI-versionen på 64-bitars x86-maskinvara är känd som x86_64-efi version. Om du till exempel avbildar ett gammalt system och återställer bilden till ny hårdvara och du kommer att upptäcka att det nya systemet använder olika firmwarestil (dvs. det gamla systemet använde traditionell BIOS och det nya kommer att vara UEFI), du måste vanligtvis lägga till ESP-partitionen, ersätta i386-pc -versionen av GRUB-paketet med x86_64-efi -versionen och installera sedan om GRUB.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *