Wenn es dir jemals passiert ist, dreh nicht aus! Es ist wirklich sehr einfach zu lösen. Der GRUB 2-Bootloader verfügt über spezielle Tools zum Durchsuchen der auf Ihrem Computer installierten Festplatten nach bootfähigen Betriebssystemen, die auf Ihren Festplatten installiert sind.
In diesem Artikel zeige ich Ihnen, wie Sie die oben genannten Probleme lösen und verwenden grub2-mkconfig Werkzeug um es zu lösen. Ich werde Debian 9 Stretch für die Demonstration verwenden, aber es sollte auf jeder modernen Linux-Distribution mit installiertem GRUB 2 funktionieren. Lass uns anfangen.
Was grub2-mkconfig macht:
grub2-mkconfig ist ein wirklich einfaches Werkzeug. Alles, was es tut, ist, die Festplatten Ihres Computers nach installierten bootfähigen Betriebssystemen (einschließlich Windows, Mac OS und allen Linux-Distributionen) zu durchsuchen und eine GRUB 2-Konfigurationsdatei zu erstellen. Das ist es.
Unterschied zwischen grub2-mkconfig und grub-mkconfig:
Obwohl GRUB 2 auf Ihrem Computer installiert ist, grub2-mkconfig Befehl ist in Ihrer bevorzugten Linux-Distribution möglicherweise nicht verfügbar. Aber die grub-mkconfig Befehl ist möglicherweise in Ihrer Linux-Distribution verfügbar. Es gibt keinen Unterschied zwischen grub-mkconfig und grub2-mkconfig wenn GRUB 2 installiert ist.
Beachten Sie, dass, wenn Sie GRUB Legacy installiert haben, dann grub-mkconfig und grub2-mkconfig Befehle werden nicht die gleichen sein.
Sie können mit dem folgenden Befehl überprüfen, welche Version von GRUB auf Ihrem Linux-Rechner installiert ist:
$ sudo grub2-mkconfig --versionOder
$ sudo grub-mkconfig --version
Wie Sie sehen können, ist auf meinem Debian 9 Stretch-Rechner GRUB 2.02 ist verbaut. habe ich auch nicht grub2-mkconfig Befehl verfügbar unter Debian 9 Stretch. Es wird umbenannt in grub-mkconfig. So grub-mkconfig und grub2-mkconfig ist bei mir genauso.
Verwenden von grub2-mkconfig:
Das grub2-mkconfig oder der grub-mkconfig Befehl hat nur eine wichtige Option. Das -Ö oder langes Format die -Ausgabe Möglichkeit. Es wird verwendet, um GRUB 2 mitzuteilen, wo die generierte GRUB-Konfigurationsdatei gespeichert werden soll.
Standardmäßig, grub2-mkconfig oder der grub-mkconfig Befehl druckt die generierte Konfigurationsdatei an STDOUT, das ist das Terminal Ihres Linux-Betriebssystems.
Wenn du das willst, dann lauf grub2-mkconfig oder der grub-mkconfig Befehl wie folgt:
$ sudo grub2-mkconfigOder
$ sudo grub-mkconfig
Wie Sie sehen, wird die generierte GRUB 2-Konfiguration auf dem Terminalbildschirm ausgedruckt. Das ist vielleicht nicht sehr hilfreich.
Wenn Sie möchten, können Sie die generierte GRUB 2-Konfiguration in eine Datei exportieren. Das Format des Befehls ist unten angegeben:
$ sudo grub2-mkconfig -o FILE_PATHOder
$ sudo grub-mkconfig -o FILE_PATH
Wenn Sie das lange Format bevorzugen, dann
$ sudo grub2-mkconfig --output FILE_PATHOder
$ sudo grub-mkconfig --output FILE_PATH
HINWEIS: Hier, DATEIPFAD ist der Pfad zu der Datei, in der die generierte GRUB 2-Konfiguration gespeichert werden soll.
Nehmen wir an, Sie möchten die generierte GRUB 2-Konfiguration in einer Datei speichern roden.cfg in Ihrem Benutzer user ZUHAUSE Verzeichnis.
Führen Sie dazu den folgenden Befehl aus:
$ sudo grub2-mkconfig -o ~/grub.cfgOder
$ sudo grub-mkconfig -o ~/grub.cfg
Wie Sie sehen, wird eine neue GRUB 2-Konfigurationsdatei generiert.
Wie du siehst, roden.cfg Datei wird auf meinem Benutzer generiert ZUHAUSE Verzeichnis.
Wie Sie sehen können, ist der Inhalt der generierten roden.cfg Datei ist die gleiche wie zuvor, als ich die Ausgabe im Terminal gedruckt habe.
Aktualisieren der GRUB 2-Konfigurationsdatei (BIOS):
Wenn Sie alte BIOS-basierte Motherboards verwenden, sollte sich die GRUB 2-Bootloader-Konfigurationsdatei im /boot/grub/grub.cfg Datei, wie Sie im Screenshot unten sehen können.
HINWEIS: Auf einigen Linux-Distributionen wie CentOS 7 oder RHEL 7 finden Sie die GRUB 2-Konfigurationsdatei unter /boot/grub2/grub.cfg. Wenn dies bei Ihnen der Fall ist, stellen Sie sicher, dass Sie den Pfad anpassen, bevor Sie die grub2-mkconfig oder grub-mkconfig Befehl im Artikel unten.
Führen Sie den folgenden Befehl aus, um die GRUB 2-Konfigurationsdatei bei einer BIOS-basierten Linux-Installation zu aktualisieren:
$ sudo grub2-mkconfig -o /boot/grub/grub.cfgOder
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Die GRUB 2-Konfigurationsdatei sollte aktualisiert werden.
Wenn Sie Änderungen erwarten, starten Sie Ihren Computer mit dem folgenden Befehl neu:
$ sudo NeustartSie sollten sehen, was Sie im GRUB-Menü erwarten, gleich nachdem Sie den Netzschalter gedrückt haben.
Aktualisieren der GRUB 2-Konfigurationsdatei (UEFI):
Auf UEFI-basierten Motherboards ist die Aktualisierung der GRUB 2-Konfiguration etwas schwieriger.
Bei EFI-basierten Linux-Installationen befindet sich die GRUB 2-Konfigurationsdatei im Verzeichnis /boot/efi/EFI/<YOUR_OS>/roden.cfg
Hier,
Führen Sie den folgenden Befehl aus, um alle verfügbaren Verzeichnisse im . aufzulisten /boot/efi/EFI-Verzeichnis:
$ sudo ls /boot/efi/EFIWie Sie sehen, habe ich auf meinem CentOS 7-Computer nur ein Verzeichnis Centos/
Um nun die GRUB 2-Konfigurationsdatei zu aktualisieren, führen Sie den folgenden Befehl aus:
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfgOder
$ sudo grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
Die GRUB 2-Konfigurationsdatei sollte aktualisiert werden.
Starten Sie nun Ihren Computer neu und Sie sollten Ihre erwarteten Einträge im GRUB-Menü sehen.
Andere Verwendung von grub2-mkconfig und grub-mkconfig:
Angenommen, Sie haben den Kernel Ihrer bevorzugten Linux-Distribution aktualisiert. Nach der Installation haben Sie die Version Ihres Kernels überprüft und sind überrascht, dass sie nicht aktualisiert wurde! Ach nein!
Nun, reg dich nicht auf. Das grub2-mkconfig oder der grub-mkconfig Befehl kann auch die scannen /boot Verzeichnis, um nach installierten Linux-Kernels zu suchen und für jeden von ihnen einen GRUB 2-Boot-Eintrag zu generieren.
Die Befehle und Prozesse sind die gleichen wie in der Aktualisieren der GRUB 2-Konfigurationsdatei (BIOS) und Aktualisieren der GRUB 2-Konfigurationsdatei (UEFI) Abschnitte dieses Artikels oben.
So benutzt du grub2-mkconfig oder grub-mkconfig Befehl, um viele Bootprobleme unter Linux zu lösen. Danke, dass du diesen Artikel gelesen hast.