Hvis det noen gang har skjedd med deg, må du ikke lure! Det er veldig enkelt å løse. Grub 2 Bootloader har spesielle verktøy for å skanne harddiskene som er installert på datamaskinen din for oppstartbare operativsystemer installert på harddiskene dine.
I denne artikkelen vil jeg vise deg hvordan du løser problemene som er nevnt ovenfor og bruker Grub2-Mkconfig verktøy for å løse det. Jeg vil bruke Debian 9 Strekk for demonstrasjonen, men det skal fungere på hvilken som helst moderne Linux -distribusjon med Grub 2 installert. La oss komme i gang.
Grub2-Mkconfig er et veldig enkelt verktøy. Alt det gjør er å skanne harddiskene til datamaskinen din for installerte oppstarbare operativsystemer (inkludert Window, Mac OS og eventuelle Linux -distribusjoner) og genererer en Grub 2 -konfigurasjonsfil. Det er det.
Forskjell mellom Grub2-Mkconfig og Grub-Mkconfig:
Selv om Grub 2 er installert på datamaskinen din, er det Grub2-Mkconfig Kommandoen er kanskje ikke tilgjengelig i din favoritt Linux -distribusjon. Men Grub-mkconfig Kommando kan være tilgjengelig i Linux -distribusjonen din. Det er ingen forskjell mellom Grub-mkconfig og Grub2-Mkconfig Hvis Grub 2 er installert.
Merk at hvis du har installert grub -arv, så Grub-mkconfig og Grub2-Mkconfig Kommandoer vil ikke være de samme.
Du kan sjekke hvilken versjon av Grub som er installert på Linux -maskinen din med følgende kommando:
$ sudo grub2-mkconfig-Versjon
Eller
$ sudo grub-mkconfig-Versjon
Som du kan se, på min Debian 9 strekkmaskin, grub 2.02 er installert. Jeg har heller ikke Grub2-Mkconfig Kommando tilgjengelig på Debian 9 Stretch. Det blir omdøpt til Grub-mkconfig. Så Grub-mkconfig og Grub2-Mkconfig er det samme i mitt tilfelle.
Bruke Grub2-Mkconfig:
De Grub2-Mkconfig eller Grub-mkconfig Kommando har bare ett viktig alternativ. De -o eller langt format -produksjon alternativ. Det brukes til å fortelle Grub 2 hvor den genererte Grub -konfigurasjonsfilen skal lagres.
Som standard, Grub2-Mkconfig eller Grub-mkconfig Kommando skriver ut den genererte konfigurasjonsfilen til Stdout, som er terminalen til Linux -operativsystemet ditt.
Hvis dette er hva du vil, så løp Grub2-Mkconfig eller Grub-mkconfig Kommando som følger:
$ Sudo Grub2-Mkconfig
Eller
$ Sudo Grub-Mkconfig
Som du kan se, skrives den genererte Grub 2 -konfigurasjonen på terminalskjermen. Dette er kanskje ikke veldig nyttig.
Hvis du vil, kan du eksportere den genererte Grub 2 -konfigurasjonen til en fil. Formatet på kommandoen er gitt nedenfor:
$ sudo grub2 -mkconfig -o file_path
Eller
$ sudo grub -mkconfig -o file_path
Hvis du foretrekker det lange formatet, så
$ sudo grub2-mkconfig-output file_path
Eller
$ sudo grub-mkconfig-output file_path
MERK: Her, File_path er veien til filen der du vil at den genererte Grub 2 -konfigurasjonen skal lagres.
La oss si, du vil lagre den genererte Grub 2 -konfigurasjonen i en fil grub.CFG I brukerens HJEM katalog.
For å gjøre det, kjør følgende kommando:
$ sudo grub2 -mkconfig -o ~/grub.CFG
Eller
$ sudo grub -mkconfig -o ~/grub.CFG
Som du ser genereres en ny Grub 2 -konfigurasjonsfil.
Som du kan se, grub.CFG filen genereres på brukerens HJEM katalog.
Som du kan se, innholdet i det genererte grub.CFG filen er den samme som tidligere da jeg skrev ut utdataene i terminalen.
Oppdatering av Grub 2 -konfigurasjonsfil (BIOS):
Hvis du bruker gamle BIOS -baserte hovedkort, bør Grub 2 Bootloader -konfigurasjonsfilen være i /BOOT/GRUB/GRUB.CFG fil som du kan se på skjermbildet nedenfor.
MERK: På noen Linux -distribusjoner som CentOS 7 eller RHEL 7, finner du Grub 2 -konfigurasjonsfilen på /BOOT/GRUB2/GRUB.CFG. Hvis det er tilfelle for deg, må du sørge for at du justerer banen før du kjører Grub2-Mkconfig eller Grub-mkconfig Kommando i artikkelen nedenfor.
Hvis du vil oppdatere Grub 2 -konfigurasjonsfilen på BIOS -basert Linux -installasjon, kjører du følgende kommando:
$ sudo grub2 -mkconfig -o/boot/grub/grub.CFG
Eller
$ sudo grub -mkconfig -o/boot/grub/grub.CFG
Grub 2 -konfigurasjonsfilen skal oppdateres.
Hvis du forventer endringer, må du starte datamaskinen på nytt med følgende kommando:
$ sudo omstart
Du bør se hva du forventer i Grub -menyen rett etter at du har trykket på strømknappen.
Oppdatering av Grub 2 -konfigurasjonsfil (UEFI):
På UEFI -baserte hovedkort er det litt vanskeligere å oppdatere Grub 2 -konfigurasjonen.
På EFI -baserte Linux -installasjoner er Grub 2 -konfigurasjonsfilen i/Boot/EFI/EFI/<Din_os>/grub.CFG
Her, er navnet på katalogen der grub.CFG ligger. Katalognavnet vil være annerledes for hver Linux -distribusjon. Trikset er å bestemme navnet på katalogen som blir brukt på oppstartstidspunktet. Hvis du ikke har lekt med forskjellige Linux -distribusjoner, er sjansen høyere for at det bare vil være en katalog. Ellers vil det være mange kataloger du må bestemme den aktive.
Kjør følgende kommando for å liste opp alle tilgjengelige kataloger i /boot/efi/efi katalog:
$ sudo ls/boot/efi/efi
Som du kan se, på Centos 7 -maskinen min, har jeg bare en katalog centos/
Nå for å oppdatere Grub 2 -konfigurasjonsfilen, kjør følgende kommando:
$ sudo grub2 -mkconfig -o/boot/efi/efi/centos/grub.CFG
Eller
$ sudo grub -mkconfig -o/boot/efi/efi/centos/grub.CFG
Grub 2 -konfigurasjonsfilen skal oppdateres.
Start datamaskinen på nytt, og du bør se de forventede oppføringene i Grub -menyen.
Anta at du oppdaterte kjernen til din favoritt Linux -distribusjon. Etter installasjonen sjekket du versjonen av kjernen din, og du er overrasket over at den ikke ble oppdatert! å nei!
Vel, ikke bli opprørt. De Grub2-Mkconfig eller Grub-mkconfig Kommando kan også skanne /støvel Katalog for å se etter installerte Linux -kjerner og generere en Grub 2 -oppstartsoppføring for hver av dem.
Kommandoene og prosessene er de samme som gitt i Oppdatering av Grub 2 -konfigurasjonsfil (BIOS) og Oppdatering av Grub 2 Konfigurasjonsfil (UEFI) Deler av denne artikkelen ovenfor.
Så det er slik du bruker Grub2-Mkconfig eller Grub-mkconfig Kommando for å løse mange oppstartsproblemer på Linux. Takk for at du leste denne artikkelen.