Om det någonsin har hänt dig, lurar inte! Det är verkligen väldigt enkelt att lösa. GRUB 2 bootloader har specialverktyg för att skanna hårddiskarna som är installerade på din dator efter startbara operativsystem installerade på dina hårddiskar.
I den här artikeln kommer jag att visa dig hur du löser problemen som anges ovan och använder grub2-mkconfig verktyg för att lösa det. Jag kommer att använda Debian 9 Stretch för demonstrationen, men det borde fungera på alla moderna Linux-distributioner med GRUB 2 installerad. Låt oss börja.
Vad grub2-mkconfig gör:
grub2-mkconfig är ett riktigt enkelt verktyg. Allt det gör är att skanna hårddiskarna på din dator efter installerade startbara operativsystem (inklusive Window, Mac OS och alla Linux-distributioner) och generera en GRUB 2-konfigurationsfil. Det är allt.
Skillnad mellan grub2-mkconfig och grub-mkconfig:
Även om GRUB 2 är installerat på din dator, är grub2-mkconfig kommandot kanske inte är tillgängligt i din Linux-favoritdistribution. Men grub-mkconfig kommandot kan vara tillgängligt i din Linux-distribution. Det är ingen skillnad mellan grub-mkconfig och grub2-mkconfig om GRUB 2 är installerad.
Observera att om du har GRUB-arv installerat, då grub-mkconfig och grub2-mkconfig kommandon kommer inte att vara desamma.
Du kan kontrollera vilken version av GRUB som är installerad på din Linux-maskin med följande kommando:
$ sudo grub2-mkconfig --versionEller
$ sudo grub-mkconfig --version
Som du kan se, på min Debian 9 Stretch-maskin, GRUB 2.02 är installerad. Jag har inte heller grub2-mkconfig kommando tillgängligt på Debian 9 Stretch. Det döps om till grub-mkconfig. Så grub-mkconfig och grub2-mkconfig är detsamma i mitt fall.
Använda grub2-mkconfig:
De grub2-mkconfig eller den grub-mkconfig kommandot har bara ett viktigt alternativ. De -o eller långformat -produktion alternativ. Den används för att berätta GRUB 2 var den genererade GRUB-konfigurationsfilen ska sparas.
Som standard, grub2-mkconfig eller den grub-mkconfig kommandot skriver ut den genererade konfigurationsfilen till STDOUT, vilket är terminalen för ditt Linux-operativsystem.
Om detta är vad du vill, kör sedan grub2-mkconfig eller den grub-mkconfig kommandot enligt följande:
$ sudo grub2-mkconfigEller
$ sudo grub-mkconfig
Som du kan se skrivs den genererade GRUB 2-konfigurationen ut på terminalskärmen. Detta kanske inte är särskilt användbart.
Om du vill kan du exportera den genererade GRUB 2-konfigurationen till en fil. Formatet för kommandot ges nedan:
$ sudo grub2-mkconfig -o FILE_PATHEller
$ sudo grub-mkconfig -o FILE_PATH
Om du föredrar det långa formatet, då
$ sudo grub2-mkconfig - utdata FILE_PATHEller
$ sudo grub-mkconfig - utdata FILE_PATH
NOTERA: Här, SÖKVÄG är sökvägen till filen där du vill att den genererade GRUB 2-konfigurationen ska sparas.
Låt oss säga att du vill spara den genererade GRUB 2-konfigurationen till en fil röja.cfg i din användares HEM katalog.
För att göra det, kör följande kommando:
$ sudo grub2-mkconfig -o ~ / grub.cfgEller
$ sudo grub-mkconfig -o ~ / grub.cfg
Som du kan se genereras en ny GRUB 2-konfigurationsfil.
Som du kan se, röja.cfg filen genereras på mina användares HEM katalog.
Som du kan se innehållet i den genererade röja.cfg filen är densamma som tidigare när jag skrev ut utdata i terminalen.
Uppdatering av GRUB 2-konfigurationsfil (BIOS):
Om du använder gamla BIOS-baserade moderkort, bör konfigurationsfilen för GRUB 2-startladdaren finnas i / boot / grub / grub.cfg fil som du kan se på skärmdumpen nedan.
NOTERA: På vissa Linux-distributioner som CentOS 7 eller RHEL 7 finns GRUB 2-konfigurationsfilen på / start / grub2 / grub.cfg. Om så är fallet, se till att du justerar sökvägen innan du kör grub2-mkconfig eller grub-mkconfig kommandot i artikeln nedan.
För att uppdatera GRUB 2-konfigurationsfilen på BIOS-baserad Linux-installation, kör följande kommando:
$ sudo grub2-mkconfig -o / boot / grub / grub.cfgEller
$ sudo grub-mkconfig -o / boot / grub / grub.cfg
GRUB 2-konfigurationsfilen bör uppdateras.
Om du förväntar dig några ändringar startar du om datorn med följande kommando:
$ sudo omstartDu borde se vad du förväntar dig i GRUB-menyn strax efter att du tryckt på strömbrytaren.
Uppdatering av GRUB 2-konfigurationsfil (UEFI):
På UEFI-baserade moderkort är det lite svårare att uppdatera GRUB 2-konfigurationen.
På EFI-baserade Linux-installationer finns GRUB 2-konfigurationsfilen i / boot / efi / EFI /<YOUR_OS>/röja.cfg
Här,
Kör följande kommando för att lista alla tillgängliga kataloger i / boot / efi / EFI-katalog:
$ sudo ls / boot / efi / EFISom du kan se har jag bara en katalog på min CentOS 7-maskin centos /
Kör följande kommando för att uppdatera GRUB 2-konfigurationsfilen:
$ sudo grub2-mkconfig -o / boot / efi / EFI / centos / grub.cfgEller
$ sudo grub-mkconfig -o / boot / efi / EFI / centos / grub.cfg
GRUB 2-konfigurationsfilen bör uppdateras.
Starta om datorn nu och du ska se dina förväntade poster i GRUB-menyn.
Annan användning av grub2-mkconfig och grub-mkconfig:
Antag att du har uppdaterat kärnan i din favorit Linux-distribution. Efter installationen kontrollerade du versionen av din kärna och du är förvånad över att den inte uppdaterades! Å nej!
Bli inte upprörd. De grub2-mkconfig eller den grub-mkconfig kommandot kan också skanna /känga katalog för att söka efter installerade Linux-kärnor och generera en GRUB 2-startpost för var och en av dem.
Kommandona och processerna är desamma som anges i Uppdatering av GRUB 2-konfigurationsfil (BIOS) och Uppdatering av GRUB 2-konfigurationsfil (UEFI) avsnitt i denna artikel ovan.
Så det är så du använder grub2-mkconfig eller grub-mkconfig kommando för att lösa många startproblem på Linux. Tack för att du läste den här artikeln.