Jeg installerte win10 og en Linux for dual boot på samme ssd, under installasjonen av Linux inneholder den en grub. Etter installasjonen kan jeg se at det er lagt til en ny Linux efi-fil til ESP-partisjonen. Nå bestemte jeg meg for å fjerne Linux helt, det første trinnet jeg gjorde er å fjerne efi boot-oppføringen med et verktøy som heter EasyUEFI. Oppføringen forsvant når jeg startet om på nytt og trykket på F11.
Men det er to deler som forvirrer meg:
-
Linux efi-filen er fortsatt i ESP-partisjonen etter oppføringen er fjernet, jeg trodde eksistensen av slike efi-filer er hvordan UEFI ville vite om det er et slikt oppstartsalternativ når brukeren trykker på F11 når den startes opp. Nå betyr dette at oppstartsalternativene er registrert et annet sted, og EasyUEFI-verktøyet fjernet bare det. Hvor er det, er det i ESP-partisjon?
-
Jeg er ikke helt sikker på om jeg forstår dette riktig, er UEFI-oppstart (efi-filen og andre oppstartsposter den ble lagt til i løpet av installasjon) og grub det samme nå? Eller er det når brukeren velger en EFI-oppføring, den går til oppstartsmenyen, som er en egen ting? Hvis efi boot allerede kan håndtere oppstartsvalget, er det ikke meningsløst å ha en grubbe etter?
Enn deg
Kommentarer
- 1 Det ' er på fastvaren din, ikke ESP. 2 UEFI er din firmware, og grub er et UEFI-program som kan tjene bootloader-funksjonaliteten. UEFI kan håndtere oppstartsvalg, men kan ' ikke starte hvert operativsystem (det kan bare kjøre UEFI-applikasjoner på ESP, f.eks. Grub, Linux-kjerne med EFI-stubbkode, moderne Microsoft bootmgr), så det kjører grub. Grub tilbyr også sin egen oppstartsmeny og kan starte flere operativsystemer (og mye mer andre funksjoner) enn UEFI.
- 2. " Er det ikke ' det er meningsløst å ha Grub? " Nei og ja. Rollen til programmet som er pekt på av oppstartsvariabelen, er å fungere som en oppstartslaster for operativsystemet. Den kan også ha tilleggsfunksjoner, som å gi en oppstartsmeny. På den annen side kan Linux-kjernen konfigureres slik at selve kjernebildet er en gyldig EFI-binær som kan starte opp selv. Så ja, det er meningsløst å bruke Grub med UEFI-firmware, eller i det minste ikke nødvendig. Du kan også bruke " boot managers " som systemd-boot eller rEFInd, som ikke er bootloaders, bare leverandører av boot-menyer.
- Takk, at ' er veldig nyttig, nå får jeg bildet.
- Nei, UEFI kan ' for ikke å starte opp alt, krever det at kjernen (eller noe som brukes som oppstartsstubbe for operativsystemet) skal være et UEFI-program og være plassert i ESP. Grub tilbyr mer fleksible oppstartsalternativer, for eksempel oppstartskerner fra andre partisjoner med ikke-FAT-filsystemer, følg multiboot-protokoll eller linux oppstartsprotokoll, chainloader til MBR på en annen disk osv.
Svar
1.) Med EasyUEFI redigerer du UEFI-oppstartsvariablene. Disse er lagret i system NVRAM, akkurat som BIOS-innstillinger. I Linux, du kan redigere dem med efibootmgr
verktøyet; i vanlige Windows kan bcdedit /enum FIRMWARE
liste dem og andre alternativer kan brukes til å redigere dem.
Hvis det ikke er definert en oppstartsvariabel, er det en spesifikk tilbakestillingsbane UEFI ser automatisk på: for 64-biters x86-maskinvare, er denne banen \EFI\boot\bootx64.efi
. eksisterer i en ESP-partisjon eller i ethvert FAT32-flyttbart medium, blir disken eller andre medier automatisk betraktet som «oppstartbare» i opprinnelig UEFI-stil.
2.) UEFI er systemfastvare (som BIOS, men nyere). GRUB er en bootloader, så den må være i samsvar med whateve r-form forventes av fastvaren til den aktuelle maskinvarearkitekturen, ellers vil ikke firmwaren kunne laste GRUB.
Så, kjernen i GRUB kan ha mange former: med BIOS tar GRUB skjemaet av litt oppstartskode i MBR + mer kode innebygd i diskblokker mellom MBR og begynnelsen av den første partisjonen. Med UEFI kan kjernen i GRUB (eller til og med hele den) ha form av en enkelt grubx64.efi
fil i ESP-partisjonen.
GRUB har sin egen arkitekturidentifikatorer: versjonen av GRUB for BIOS er kjent som i386-pc
-versjonen, og UEFI-versjonen på 64-biters x86-maskinvare er kjent som x86_64-efi
versjon. Hvis du for eksempel avbilder et gammelt system og gjenoppretter bildet til ny maskinvare, og du vil finne ut at det nye systemet bruker en annen firmwarestil (dvs. det gamle systemet brukte tradisjonell BIOS og det nye vil være UEFI), så du må vanligvis legge til ESP-partisjonen, erstatte i386-pc
-versjonen av GRUB-pakken med x86_64-efi
-versjonen og deretter installere GRUB på nytt.