Einführung
In diesem Lab lernen Sie, wie Sie das GRUB2-Bootmenü in einer Linux-Umgebung anpassen. GRUB2 (GRand Unified Bootloader) ist das erste Programm, das beim Start Ihres Computers ausgeführt wird und für das Laden des Linux-Kernels verantwortlich ist. Sie sammeln praktische Erfahrungen bei der Arbeit mit der primären Konfigurationsdatei /etc/default/grub, um den Bootvorgang an Ihre Bedürfnisse anzupassen.
Sie beginnen damit, die Standard-GRUB2-Konfiguration aufzurufen und zu untersuchen. Anschließend ändern Sie wichtige Parameter wie GRUB_TIMEOUT, um die Anzeigedauer des Bootmenüs zu steuern, und GRUB_DEFAULT, um den Standard-Booteintrag festzulegen. Zum Abschluss des Labs wenden Sie diese Änderungen an, indem Sie mit dem Befehl grub2-mkconfig eine neue GRUB2-Konfigurationsdatei generieren, und lernen, wie Sie die korrekte Konfiguration Ihrer Anpassungen überprüfen.
Hinweis: Da es sich um eine temporäre und flüchtige LabEx-Umgebung handelt, können wir keinen tatsächlichen Systemneustart durchführen, um die Änderungen am Bootmenü live zu sehen. Stattdessen lernen Sie, die Konfigurationsänderungen durch Überprüfung der generierten GRUB2-Dateien zu validieren – eine ebenso wichtige Fähigkeit für Systemadministratoren, um Konfigurationen vor dem Neustart von Produktionssystemen zu verifizieren.
Zugriff auf die GRUB2-Standardkonfigurationsdatei /etc/default/grub
In diesem Schritt lernen Sie, wie Sie auf die Hauptkonfigurationsdatei von GRUB2 zugreifen und diese einsehen können. GRUB2 (GRand Unified Bootloader, Version 2) ist der Standard-Bootloader für die meisten modernen Linux-Distributionen. Er ist das erste Programm, das beim Start Ihres Computers ausgeführt wird, und seine Aufgabe besteht darin, den Linux-Kernel in den Arbeitsspeicher zu laden und das Betriebssystem zu starten.
Die primäre Konfigurationsdatei, mit der Sie das Verhalten von GRUB2 anpassen, befindet sich unter /etc/default/grub. Diese Datei enthält Schlüssel-Wert-Paare, die Einstellungen wie das Zeitlimit des Bootmenüs, das standardmäßig zu startende Betriebssystem und zusätzliche Kernel-Parameter steuern.
Bevor Sie Änderungen vornehmen, ist es wichtig, die aktuelle Konfiguration zu prüfen. Da /etc/default/grub eine Systemdatei ist, die dem Benutzer root gehört, müssen Sie den Befehl sudo verwenden, um darauf zuzugreifen. Wir verwenden den Befehl cat, um den Inhalt im Terminal anzuzeigen.
Führen Sie den folgenden Befehl aus, um den Inhalt der GRUB2-Standardkonfigurationsdatei anzuzeigen:
sudo cat /etc/default/grub
Um eine einfache Referenz zu haben, die Sie später im Lab vergleichen können, speichern Sie die aktuellen Einstellungen für das Zeitlimit und den Standardeintrag in einer Datei in Ihrem Home-Verzeichnis:
sudo grep -E "^(GRUB_TIMEOUT|GRUB_DEFAULT)" /etc/default/grub | tee ~/grub-current-settings.txt >/dev/null
Sie sehen eine Ausgabe ähnlich der folgenden. Die genauen Werte können je nach Systemkonfiguration leicht abweichen.
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rhgb quiet net.ifnames=0 console=tty0 console=ttyS0,115200n8 no_timer_check iommu=pt crash_kexec_post_notifiers=1 nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
Betrachten wir kurz zwei wichtige Parameter aus dieser Datei:
GRUB_TIMEOUT: Dieser Wert bestimmt, wie lange (in Sekunden) das GRUB2-Menü angezeigt wird, bevor der Standardeintrag automatisch gestartet wird.GRUB_DEFAULT: Dieser Parameter legt fest, welches Betriebssystem oder welcher Kernel standardmäßig gebootet werden soll.
Im nächsten Schritt lernen Sie, wie Sie diese Parameter ändern, um das Verhalten des Bootmenüs anzupassen.
Ändern der Parameter GRUB_TIMEOUT und GRUB_DEFAULT
In diesem Schritt ändern Sie die GRUB2-Konfigurationsdatei, um das Verhalten des Bootmenüs anzupassen. Konkret werden Sie das Zeitlimit des Menüs erhöhen und einen spezifischen Standard-Booteintrag festlegen. Um die Datei /etc/default/grub zu bearbeiten, verwenden Sie nano, einen einfachen und intuitiven Texteditor für die Befehlszeile. Da es sich um eine Systemdatei handelt, müssen Sie sudo verwenden, um die erforderlichen Berechtigungen für die Bearbeitung zu erhalten.
Öffnen Sie zunächst die Datei mit nano und sudo-Rechten:
sudo nano /etc/default/grub
Der nano-Editor öffnet sich und zeigt den Inhalt der Datei an. Nehmen Sie nun die folgenden zwei Änderungen vor:
Ändern des
GRUB_TIMEOUT-Werts: Suchen Sie die Zeile, die mitGRUB_TIMEOUTbeginnt. Sie ist wahrscheinlich auf1gesetzt. Verwenden Sie die Pfeiltasten, um den Cursor zu dieser Zeile zu bewegen, und ändern Sie den Wert von1auf15. Dadurch wartet das GRUB2-Menü 15 Sekunden, bevor es automatisch bootet.Die Zeile sollte nach der Änderung wie folgt aussehen:
GRUB_TIMEOUT=15Ändern des
GRUB_DEFAULT-Parameters: Suchen Sie die Zeile, die mitGRUB_DEFAULTbeginnt. Der Wert könntesavedsein. Ändern Sie diesen Wert auf0. Die EinstellungGRUB_DEFAULT=0weist GRUB2 an, automatisch den ersten Eintrag in der Menüliste zu starten (die Liste ist nullindiziert, daher ist0der erste Eintrag).Die Zeile sollte nach der Änderung wie folgt aussehen:
GRUB_DEFAULT=0
Sobald Sie diese Änderungen vorgenommen haben, müssen Sie die Datei speichern und nano beenden:
- Drücken Sie
Ctrl + O(den "Write Out"-Befehl), um die Änderungen zu speichern. nanofragt Sie nach der Bestätigung des Dateinamens. Drücken Sie einfachEnter.- Drücken Sie
Ctrl + X, um dennano-Editor zu verlassen und zu Ihrer Shell-Eingabeaufforderung zurückzukehren.
Sie haben nun die GRUB2-Standardeinstellungen erfolgreich geändert. Im nächsten Schritt wenden Sie diese Änderungen an.
Anwenden und Überprüfen der GRUB2-Konfigurationsänderungen
In diesem Schritt wenden Sie die Konfigurationsänderungen an, die Sie im vorherigen Schritt vorgenommen haben, und lernen, wie Sie überprüfen, ob GRUB2 korrekt konfiguriert wurde. Sie verwenden den Befehl grub2-mkconfig, um basierend auf Ihren Änderungen eine neue Konfigurationsdatei zu generieren.
Generieren der neuen GRUB2-Konfiguration
Nachdem Sie die Datei /etc/default/grub geändert haben, müssen Sie diese Änderungen durch Generieren einer neuen GRUB2-Konfigurationsdatei anwenden. Der Befehl grub2-mkconfig liest die Einstellungen aus /etc/default/grub und die Skripte in /etc/grub.d/, um die endgültige GRUB2-Konfiguration zu erstellen.
Führen Sie den folgenden Befehl aus, um die neue Konfiguration zu generieren:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
Dieser Befehl durchsucht Ihr System nach verfügbaren Kernels, liest Ihre Konfigurationseinstellungen und erstellt die finale GRUB2-Menükonfiguration.
Überprüfen Ihrer Konfigurationsänderungen
Lassen Sie uns überprüfen, ob Ihre Änderungen korrekt auf die GRUB2-Konfiguration angewendet wurden. Überprüfen Sie zunächst, ob Ihre geänderten Einstellungen in der Datei /etc/default/grub korrekt übernommen wurden:
sudo grep -E "(GRUB_TIMEOUT|GRUB_DEFAULT)" /etc/default/grub
Sie sollten eine Ausgabe sehen, die Ihre geänderten Werte anzeigt:
GRUB_TIMEOUT=15
GRUB_DEFAULT=0
Überprüfen Sie anschließend, ob diese Einstellungen in die generierte GRUB2-Konfigurationsdatei übernommen wurden:
sudo grep -E "(timeout|default)" /boot/grub2/grub.cfg | head -5
Dies zeigt Ihnen, wie Ihre Einstellungen in der tatsächlichen GRUB2-Konfigurationsdatei erscheinen.
Erstellen eines Konfigurations-Backups
Es ist immer eine bewährte Praxis, Backups wichtiger Konfigurationsdateien zu erstellen, bevor Änderungen vorgenommen werden:
sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup
Dies erstellt eine Sicherungskopie, die Sie bei Bedarf wiederherstellen können.
Fehlerbehebung und Validierung der GRUB2-Konfiguration
In diesem letzten Schritt lernen Sie grundlegende Techniken zur Fehlerbehebung bei GRUB2-Konfigurationen kennen und erfahren, wie Sie Ihre Änderungen validieren. Diese Fähigkeiten sind für Systemadministratoren entscheidend, um sicherzustellen, dass ihre GRUB2-Anpassungen korrekt funktionieren, bevor Produktionssysteme neu gestartet werden.
Überprüfen der GRUB2-Konfigurationssyntax
Stellen Sie sicher, dass Ihre GRUB2-Konfiguration keine Syntaxfehler enthält, indem Sie den integrierten Syntax-Checker verwenden:
sudo grub2-script-check /boot/grub2/grub.cfg
Wenn keine Fehler vorliegen, gibt dieser Befehl keine Rückmeldung. Eventuelle Syntaxfehler werden mit Zeilennummern angezeigt, was Ihnen hilft, Probleme zu identifizieren und zu beheben.
Verständnis der GRUB2-Verzeichnisstruktur
Erkunden Sie die Verzeichnisstruktur der GRUB2-Konfiguration, um deren Funktionsweise zu verstehen. Beachten Sie, dass für den Zugriff auf dieses Verzeichnis Root-Rechte erforderlich sind:
sudo ls -la /etc/grub.d/
Dies zeigt Ihnen alle Skripte, die verschiedene Teile des GRUB2-Menüs generieren. Jedes Skript hat ein numerisches Präfix, das die Ausführungsreihenfolge bestimmt. Sie werden verschiedene Skripte sehen, wie zum Beispiel:
00_header: Legt die grundlegende GRUB2-Konfiguration fest00_tuned: Tuned-spezifische Konfigurationen01_users: Benutzerkonfigurationen10_linux: Findet und fügt Linux-Kernels hinzu20_linux_xen: Unterstützung für den Xen-Hypervisor30_os-prober: Sucht nach anderen Betriebssystemen40_custom: Enthält benutzerdefinierte Menüeinträge
Die tatsächlichen Skripte können je nach Systemkonfiguration und installierten Paketen variieren.
Anzeigen der verfügbaren Booteinträge
Lassen Sie uns untersuchen, welche Booteinträge in Ihrer generierten Konfiguration verfügbar sind:
sudo grep "menuentry" /boot/grub2/grub.cfg | head -10
Dieser Befehl zeigt Ihnen Verweise auf Menüeinträge sowie die tatsächlichen Menüeinträge an. Die Ausgabe kann sowohl Konfigurationsvariablen (wie menuentry_id_option) als auch tatsächliche Bootmenüeinträge enthalten. Achten Sie auf Zeilen, die vollständige Definitionen von Menüeinträgen enthalten.
Überprüfen von Timeout- und Standardeinstellungen
Überprüfen Sie, ob Ihr Timeout und die Standardeinstellungen korrekt konfiguriert sind:
sudo grep -E "set timeout|set default" /boot/grub2/grub.cfg
Sie werden mehrere Timeout- und Standardeinstellungen in der Konfigurationsdatei sehen. Dies ist normal, da GRUB2 unterschiedliche Timeout-Werte für verschiedene Szenarien verwendet:
- Haupt-Timeout (normalerweise 15 Sekunden, wie konfiguriert)
- Bedingte Timeouts für spezielle Situationen
- Verschiedene Timeout-Stile (Menü, versteckt)
Die wichtigsten zu überprüfenden Einstellungen sind:
set default="0"- Legt den ersten Menüeintrag als Standard festset timeout=15- Setzt das Haupt-Menü-Timeout auf 15 Sekunden
Lernen über GRUB2-Wiederherstellung
Das Verständnis der GRUB2-Wiederherstellung ist für die Fehlerbehebung bei Boot-Problemen unerlässlich. In Notfällen können Sie:
- Auf die GRUB2-Befehlszeile zugreifen: Drücken Sie
cim GRUB2-Menü, um in den Befehlszeilenmodus zu gelangen - Booteinträge bearbeiten: Drücken Sie
e, um einen Booteintrag vor dem Start zu bearbeiten - Rettungsmodus verwenden: Wenn GRUB2 seine Konfiguration nicht finden kann, wechselt es in den Rettungsmodus
Häufige Wiederherstellungsbefehle sind:
ls: Listet verfügbare Partitionen und Dateien aufset root=(hd0,1): Legt die Root-Partition festlinux /boot/vmlinuz root=/dev/sda1: Lädt einen Kernelboot: Startet den Bootvorgang
Abschließende Konfigurationsprüfung
Führen wir eine letzte Überprüfung Ihrer vollständigen GRUB2-Konfiguration durch:
sudo cat /etc/default/grub | grep -E "(TIMEOUT|DEFAULT)"
Dies bestätigt, dass Ihre Grundeinstellungen korrekt in der Quellkonfigurationsdatei gespeichert sind.
Was Sie erreicht haben:
- GRUB2-Timeout und Standard-Booteinstellungen geändert
- Konfigurationsänderungen mit
grub2-mkconfigangewendet - Gelernt, GRUB2-Konfigurationen zu überprüfen und Fehler zu beheben
- Backup-Verfahren für kritische Boot-Dateien erstellt
- Die GRUB2-Verzeichnisstruktur und Wiederherstellungsoptionen verstanden
- Fähigkeiten erworben, Konfigurationen vor Systemneustarts zu validieren
Ihre GRUB2-Konfiguration ist nun ordnungsgemäß mit einem 15-sekündigen Timeout und dem ersten Menüeintrag als Standard angepasst. In einer Produktionsumgebung würden diese Änderungen beim nächsten Systemneustart wirksam werden und für ein benutzerfreundlicheres Boot-Erlebnis sorgen.
Zusammenfassung
In diesem umfassenden Lab haben Sie praktische Erfahrungen mit grundlegenden Techniken zur Anpassung und Fehlerbehebung des GRUB2-Bootloaders gesammelt. Sie begannen mit der Untersuchung der Standard-GRUB2-Konfiguration und änderten dann wichtige Parameter wie GRUB_TIMEOUT und GRUB_DEFAULT, um das Verhalten des Bootmenüs anzupassen. Sie haben gelernt, diese Änderungen mit dem Befehl grub2-mkconfig anzuwenden und zu überprüfen, ob Ihre Modifikationen korrekt implementiert wurden.
Zu den wichtigsten Fähigkeiten, die Sie entwickelt haben, gehören das Verständnis der GRUB2-Konfigurationsstruktur, das sichere Bearbeiten der Datei /etc/default/grub, das korrekte Anwenden von Konfigurationsänderungen sowie die Implementierung geeigneter Verifizierungs- und Backup-Verfahren. Sie haben zudem grundlegende Techniken zur Fehlerbehebung kennengelernt, einschließlich Syntaxprüfung, Konfigurationsvalidierung und das Verständnis von GRUB2-Wiederherstellungsoptionen, die für Systemadministratoren unerlässlich sind.
Das Lab betonte praktische Fähigkeiten, die Systemadministratoren in realen Szenarien benötigen, insbesondere die Fähigkeit, GRUB2-Konfigurationen zu validieren, bevor sie auf Produktionssysteme angewendet werden. Sie haben gelernt, Befehle wie grub2-script-check zur Syntaxvalidierung und verschiedene grep-Befehle zu verwenden, um sicherzustellen, dass Ihre Änderungen korrekt auf die generierten Konfigurationsdateien angewendet wurden.
Diese Fähigkeiten bereiten Sie darauf vor, Boot-Konfigurationsszenarien souverän zu handhaben und Boot-bezogene Probleme in Linux-Unternehmensumgebungen effektiv zu beheben. Die von Ihnen geübten Verifizierungstechniken sind besonders wertvoll, um sicherzustellen, dass GRUB2-Konfigurationen korrekt sind, bevor Produktionssysteme neu gestartet werden.



