Jeg installerede win10 og en Linux til dual boot på den samme ssd, under installationen af Linux indeholder den en grub. Efter installationen kan jeg se, at der er tilføjet en ny Linux efi-fil til ESP-partitionen. Nu besluttede jeg at fjerne Linux helt, det første skridt jeg gjorde er at fjerne efi-startindgangen med et værktøj kaldet EasyUEFI. Posten forsvandt, da jeg genstarter og trykker på F11.

Men der er 2 dele forvirrede mig:

  1. Linux efi-filen er stadig i ESP-partitionen efter post er fjernet, jeg troede, at eksistensen af sådanne efi-filer er, hvordan UEFI ville vide, om der er sådan en boot-mulighed, når brugeren trykker på F11, når den starter. Nu betyder det, at bootindstillingerne er optaget et andet sted, og EasyUEFI-værktøjet fjernede det simpelthen. Hvor er det, er det i ESP-partition?

  2. Jeg er ikke helt sikker på, om jeg forstår dette rigtigt, er UEFI-boot (efi-filen og de andre boot-poster, den tilføjede under installation) og grub det samme nu? Eller når brugeren vælger en efi-startpost, går den til grub-startmenuen, hvilket er en separat ting? Hvis efi boot allerede kan håndtere boot-udvælgelsen, er det ikke meningsløst at have en grub efter?

End dig

Kommentarer

  • 1 Det ' er på din firmware, ikke ESP. 2 UEFI er din firmware, og grub er en UEFI-applikation, der kan tjene bootloader-funktionaliteten. UEFI kan håndtere boot-valg, men kan ' t starte hvert OS (det kan kun køre UEFI-applikationer på ESP, f.eks. Grub, Linux-kerne med EFI-stubkode, moderne Microsoft bootmgr), så det kører grub. Grub tilbyder også sin egen boot-menu og kan starte flere OSer (og meget mere andre funktioner) end UEFI.
  • 2. " Er det ikke ' t meningsløst at have Grub? " Nej og ja. Rollen for det program, der er indlæst, som startvariablen peger på, er at fungere som en bootloader til operativsystemet. Det kan også have hjælpefunktioner som at give en boot-menu. På den anden side kan Linux-kernen konfigureres, så selve kernebilledet er en gyldig EFI-binær, der kan starte selv. Så ja, at bruge Grub med UEFI-firmware er meningsløst eller i det mindste ikke nødvendigt. Du kan også bruge " bootmanagere " som systemd-boot eller rEFInd, som ikke er bootloadere, bare boot-menuudbydere.
  • Tak, at ' er meget nyttigt, nu får jeg billedet.
  • Nej, UEFI kan ' for ikke at starte alt, kræver det, at kernen (eller noget, der bruges som bootstub til OS) skal være et UEFI-program og være placeret i ESP. Grub tilbyder mere fleksible startindstillinger, såsom bootkerner fra andre partitioner med ikke-FAT-filsystemer, følg multiboot-protokol eller linux boot-protokol, chainloader til MBR på en anden disk osv.

Svar

1.) Med EasyUEFI redigerer du UEFI-opstartsvariablerne. Disse gemmes i system NVRAM, ligesom BIOS-indstillinger. I Linux skal du kan redigere dem med efibootmgr hjælpeprogrammet; i almindeligt Windows kan bcdedit /enum FIRMWARE liste dem, og andre muligheder kan bruges til at redigere dem.

Hvis der ikke er defineret nogen opstartsvariabel, er der en specifik tilbagevendende sti, UEFI ser automatisk på: for 64-bit x86-hardware er denne sti \EFI\boot\bootx64.efi. Hvis denne fil findes i en ESP-partition eller i ethvert FAT32-flytbart medie, betragtes disken eller andre medier automatisk som “opstartbare” i native UEFI-stil.

2.) UEFI er system firmware (som BIOS, men nyere). GRUB er en bootloader, så den skal være i overensstemmelse med whateve r-form forventes af firmwaren i den relevante hardwarearkitektur, ellers vil firmwaren ikke kunne indlæse GRUB.

Så kernen i GRUB kan tage mange former: med BIOS tager GRUB formularen af en smule boot-kode i MBR + mere kode indlejret i diskblokke mellem MBR og begyndelsen af den første partition. Med UEFI kan kernen i GRUB (eller endda det hele) tage form af en enkelt grubx64.efi fil inden for ESP-partitionen.

GRUB har sin egen arkitektur-id: versionen af GRUB til BIOS er kendt som i386-pc versionen, og UEFI-versionen på 64-bit x86-hardware er kendt som x86_64-efi version. Hvis du f.eks. Tager et gammelt system og gendanner billedet til ny hardware, og du finder ud af, at det nye system bruger en anden firmwarestil (dvs. det gamle system brugte traditionel BIOS, og det nye vil være UEFI), så du bliver normalt nødt til at tilføje ESP-partitionen, erstatte i386-pc -versionen af GRUB-pakken med x86_64-efi -versionen og derefter geninstallere GRUB.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *