GRUB oppdager ikke Windows: Slik fikser du det

Oppdag hvorfor Windows ikke vises i GRUB-menyen ved dual boot med Linux. Lær løsninger for å aktivere os-prober eller legge til Windows manuelt.
Hvis du nylig har satt opp en dual boot-konfigurasjon med Windows og Linux, har du kanskje støtt på det samme problemet som jeg gjorde: Windows vises ikke som et alternativ i GRUB-menyen. Jeg vil vise deg hvordan jeg løste det (og den tekniske grunnen bak det).
For å være mer spesifikk, installerte jeg CachyOS på en disk som er atskilt fra Windows 11-disken min. Jeg har installert ulike Linux-distribusjoner på denne disken flere ganger nå, og bootmenyen fungerer vanligvis bare. Mitt Windows 11-oppstartsalternativ ville vises uten at jeg måtte gjøre noe som helst. I dette tilfellet tok det imidlertid noen ekstra skritt for å få det til å fungere.
Hvorfor Windows ikke vises i GRUB
Det viser seg at GRUB-installasjoner nå ofte kommer med os-prober deaktivert, og det var grunnen til at Windows ikke dukket opp. Hvis du ikke vet det, er os-prober en pakke som gjør at GRUB automatisk kan identifisere andre operativsystemer installert på PC-en din. Når det er deaktivert, vil ikke GRUB kunne identifisere Windows uten manuell hjelp.
Grunnen til dette er en mistillit til os-prober-pakken. Distribusjonsutviklere som pakker GRUB har valgt å deaktivere os-prober som en sikkerhetsforanstaltning helt tilbake til 2021, da Canonical-utvikler Julian Andres Klode skisserte deres begrunnelse for å deaktivere os-prober i Ubuntu. De uttalte: "os-prober er iboende usikker ettersom det monterer alle partisjoner på disken din ved hjelp av grub-mount for å sjekke dem for andre OS." Selv om det har blitt laget oppdateringer siden den gang, er det mange som rett og slett ikke stoler på det.
Du kan enkelt aktivere os-prober igjen hvis du ønsker det. Om du bør gjøre det eller ikke, avhenger imidlertid av din situasjon. Jeg er ikke i bransjen for å gi cybersikkerhetsråd uten å vite trusselmodellen din, i det minste.
For meg selv følte jeg meg komfortabel med å re-aktivere os-prober, ettersom min forskning sa meg at de fleste bekymringene var knyttet til Secure Boot-løsninger, og jeg har allerede deaktivert Secure Boot på PC-en min. Igjen, det er opp til deg å bestemme hva den sikreste ruten er. I den forbindelse vil jeg vise deg to ulike alternativer, hvorav det ene unngår os-prober helt.
Enkelt alternativ: Aktiver os-prober
Hvis du føler deg trygg på å aktivere os-prober gitt sikkerhetsimplikasjonene, kan du gjøre det ved å redigere din standard GRUB-konfigurasjon. Vanligvis finner du konfigurasjonsfilen på /etc/default/grub, så redigering av den vil kreve at du åpner den med tekstbehandleren du foretrekker, med administrative rettigheter. For å redigere den med nano, brukte jeg denne kommandoen:
sudo nano /etc/default/grubRull gjennom filen til du finner en linje som sier #GRUB_DISABLE_OS_PROBER=false. Fjern kommentaren ved å slette # symbolet.
Det er alt du trenger å gjøre for å aktivere os-prober, bortsett fra å lagre filen. I nano gjør du det ved å trykke Ctrl+o etterfulgt av Enter for å bekrefte filnavnet, deretter Ctrl+x for å avslutte nano. Ikke glem å oppdatere GRUB, slik jeg vil forklare senere.
Et annet alternativ som er tryggere, men litt mer involvert, er å hoppe over å aktivere os-prober og i stedet legge Windows til GRUBs bootmeny selv.
For å gjøre dette, må du først vite hvor Linux-systemet ditt plasserer Windows-installasjonens EFI-partisjon. Du kan finne ut dette ved å kjøre følgende kommando, som lister opp alle disker og deres formål:
sudo dfisk -lJeg kan se at det på Windows-disken min er en enhet merket "EFI System" lokalisert på /dev/nvme0n1p1. Jeg kopierer den adressen og har den klar for den følgende blkid-kommandoen, som vil avsløre enhetens UUID, som vi trenger for en tilpasset oppførsel:
sudo blkid /dev/nvme0n1p1Sjekk etter UUID-verdien i anførselstegn og skriv den ned. Deretter skal vi redigere GRUBs 40_custom-fil, som lar oss legge til tilpassede oppføringer i GRUB. Jeg bruker nano for å gjøre dette, men du kan bruke den tekstbehandleren du foretrekker.
sudo nano /etc/grub.d/40_customLim inn følgende kodeblok, og deretter erstatt your-Windows-EFI-partition-UUID med UUID-en du fant.
menuentry "Windows" --class windows --class os { insmod ntfs search --no-floppy --set=root --fs-uuid your-Windows-EFI-partition-UUID.
ntldr /bootmgr }Vær også oppmerksom på at du kan endre teksten inne i anførselstegnene etter "menuentry" til hva du vil at din Windows oppstartspost skal vises som.
Uansett, husk å oppdatere GRUB
Etter å ha gjort endringer i din GRUB standard konfigurasjonsfil eller lagt til en tilpasset oppstartspost, ikke glem å regenerere din GRUB konfigurasjon. Denne prosessen er det som faktisk får endringene dine til å tre i kraft. For å være ærlig, glemte jeg dette da jeg deaktiverte os-prober og ble forvirret da Windows ikke dukket opp etter omstart.
For å gjøre det enkelt, har noen distribusjoner forhåndskonfigurerte aliaser for å oppdatere GRUB, som update-grub. Du kan prøve å kjøre det først (som sudo), men hvis det ikke fungerer for deg, kan du alltid oppdatere det manuelt med denne kommandoen:
sudo grub-mkconfig -o /boot/grub/grub.cfgVent på at regenereringen skal fullføres, og prøv deretter å starte på nytt. Du bør se Windows, samt eventuelle andre operativsystemer du har installert, i GRUB oppstartmenyen.
Vurder å erstatte GRUB for å unngå problemer
Hvis du er bekymret for sårbarhetene til os-prober og ikke vil håndtere manuell redigering av GRUB-menyen, anbefaler jeg å se på alternative oppstartshåndterere.
For eksempel kan du erstatte GRUB med systemd-boot, selv om støtten for eldre BIOS (i motsetning til UEFI) er mangelfull. Du kan også vurdere Clover Bootloader, som opprinnelig ble designet for Hackintoshes og støtter både UEFI og BIOS. Et annet alternativ som vil gi deg en opplevelse lik macOS' oppstartshåndterer er rEFInd.
Hvis du vil lese flere artikler som GRUB oppdager ikke Windows: Slik fikser du det, kan du besøke kategorien Windows.

Legg igjen en kommentar