Als het je ooit is overkomen, raak dan niet in paniek! Het is echt heel gemakkelijk op te lossen. De GRUB 2-bootloader heeft speciale tools voor het scannen van de harde schijven die op uw computer zijn geïnstalleerd voor opstartbare besturingssystemen die op uw harde schijven zijn geïnstalleerd.
In dit artikel laat ik je zien hoe je de bovengenoemde problemen kunt oplossen en gebruiken grub2-mkconfig hulpmiddel om het op te lossen. Ik zal Debian 9 Stretch gebruiken voor de demonstratie, maar het zou moeten werken op elke moderne Linux-distributie waarop GRUB 2 is geïnstalleerd. Laten we beginnen.
Wat grub2-mkconfig doet:
grub2-mkconfig is een heel eenvoudig hulpmiddel. Het enige dat het doet, is de harde schijven van uw computer scannen op geïnstalleerde opstartbare besturingssystemen (inclusief Windows, Mac OS en alle Linux-distributies) en een GRUB 2-configuratiebestand genereren. Dat is het.
Verschil tussen grub2-mkconfig en grub-mkconfig:
Ook al is GRUB 2 op je computer geïnstalleerd, de grub2-mkconfig commando is mogelijk niet beschikbaar in je favoriete Linux-distributie. Maar de grub-mkconfig commando is mogelijk beschikbaar in je Linux-distributie. Er is geen verschil tussen grub-mkconfig en grub2-mkconfig als GRUB 2 is geïnstalleerd.
Merk op dat, als je GRUB legacy hebt geïnstalleerd, dan: grub-mkconfig en grub2-mkconfig commando's zullen niet hetzelfde zijn.
Je kunt controleren welke versie van GRUB op je Linux-machine is geïnstalleerd met het volgende commando:
$ sudo grub2-mkconfig --versionOf
$ sudo grub-mkconfig --version
Zoals je kunt zien, op mijn Debian 9 Stretch-machine, GRUB 2.02 is geïnstalleerd. heb ik ook niet grub2-mkconfig commando beschikbaar op Debian 9 Stretch. Het is hernoemd naar grub-mkconfig. Zo grub-mkconfig en grub2-mkconfig is hetzelfde in mijn geval.
Met grub2-mkconfig:
De grub2-mkconfig of de grub-mkconfig commando heeft maar één belangrijke optie. De -O of lang formaat de -uitvoer keuze. Het wordt gebruikt om GRUB 2 te vertellen waar het gegenereerde GRUB-configuratiebestand moet worden opgeslagen.
Standaard, grub2-mkconfig of de grub-mkconfig commando drukt het gegenereerde configuratiebestand af naar STDOUT, wat de terminal is van je Linux-besturingssysteem.
Als dit is wat je wilt, ren dan grub2-mkconfig of de grub-mkconfig commando als volgt:
$ sudo grub2-mkconfigOf
$ sudo grub-mkconfig
Zoals je kunt zien, wordt de gegenereerde GRUB 2-configuratie afgedrukt op het terminalscherm. Dit is misschien niet erg handig.
Als je wilt, kun je de gegenereerde GRUB 2-configuratie naar een bestand exporteren. Het formaat van de opdracht wordt hieronder gegeven:
$ sudo grub2-mkconfig -o FILE_PATHOf
$ sudo grub-mkconfig -o FILE_PATH
Als u de voorkeur geeft aan het lange formaat, dan:
$ sudo grub2-mkconfig --output FILE_PATHOf
$ sudo grub-mkconfig --output FILE_PATH
OPMERKING: Hier, BESTANDSPAD is het pad naar het bestand waar je de gegenereerde GRUB 2-configuratie wilt opslaan.
Laten we zeggen dat je de gegenereerde GRUB 2-configuratie in een bestand wilt opslaan eten.cfg in uw gebruikers HUIS map.
Voer hiervoor de volgende opdracht uit:
$ sudo grub2-mkconfig -o ~/grub.cfgOf
$ sudo grub-mkconfig -o ~/grub.cfg
Zoals je kunt zien, wordt er een nieuw GRUB 2-configuratiebestand gegenereerd.
Zoals je kunt zien, eten.cfg bestand wordt gegenereerd op mijn gebruikers HUIS map.
Zoals u kunt zien, is de inhoud van de gegenereerde eten.cfg bestand is hetzelfde als eerder toen ik de uitvoer in de terminal afdrukte.
GRUB 2-configuratiebestand (BIOS) bijwerken:
Als je oude op BIOS gebaseerde moederborden gebruikt, dan zou het GRUB 2 bootloader-configuratiebestand in de: /boot/grub/grub.cfg bestand zoals je kunt zien in de onderstaande schermafbeelding.
OPMERKING: Op sommige Linux-distributies, zoals CentOS 7 of RHEL 7, is het GRUB 2-configuratiebestand te vinden op: /boot/grub2/grub.cfg. Als dit bij jou het geval is, zorg er dan voor dat je het pad aanpast voordat je de grub2-mkconfig of grub-mkconfig opdracht in het onderstaande artikel.
Voer de volgende opdracht uit om het GRUB 2-configuratiebestand bij te werken op een BIOS-gebaseerde Linux-installatie:
$ sudo grub2-mkconfig -o /boot/grub/grub.cfgOf
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Het GRUB 2-configuratiebestand moet worden bijgewerkt.
Als u wijzigingen verwacht, start u uw computer opnieuw op met de volgende opdracht:
$ sudo opnieuw opstartenJe zou moeten zien wat je verwacht in het GRUB-menu net nadat je op de aan / uit-knop hebt gedrukt.
GRUB 2-configuratiebestand bijwerken (UEFI):
Op op UEFI gebaseerde moederborden is het updaten van de GRUB 2-configuratie een beetje lastiger.
Bij op EFI gebaseerde Linux-installaties bevindt het GRUB 2-configuratiebestand zich in de /boot/efi/EFI/<JOUW_OS>/eten.cfg
Hier,
Voer de volgende opdracht uit om alle beschikbare mappen in de /boot/efi/EFI-map:
$ sudo ls /boot/efi/EFIZoals je kunt zien, heb ik op mijn CentOS 7-machine maar één map cento's/
Voer nu de volgende opdracht uit om het GRUB 2-configuratiebestand bij te werken:
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfgOf
$ sudo grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Het GRUB 2-configuratiebestand moet worden bijgewerkt.
Start nu je computer opnieuw op en je zou je verwachte invoer in het GRUB-menu moeten zien.
Ander gebruik van grub2-mkconfig en grub-mkconfig:
Stel dat je de kernel van je favoriete Linux-distributie hebt bijgewerkt. Na de installatie heb je de versie van je kernel gecontroleerd en je bent verrast dat deze niet is bijgewerkt! Oh nee!
Nou, niet boos worden. De grub2-mkconfig of de grub-mkconfig commando kan ook de . scannen /laars directory om te controleren op geïnstalleerde Linux-kernels en een GRUB 2-opstartitem voor elk van hen te genereren.
De commando's en de processen zijn hetzelfde als gegeven in de GRUB 2-configuratiebestand bijwerken (BIOS) en GRUB 2-configuratiebestand bijwerken (UEFI) delen van dit artikel hierboven.
Dus zo gebruik je you grub2-mkconfig of grub-mkconfig commando om veel opstartproblemen op Linux op te lossen. Bedankt voor het lezen van dit artikel.