Ubuntu GRUB Linux Bootloader und Konfiguration

Der GRUB Linux Bootloader ist der am weitesten verbreitete Bootloader für Linux. Jeder angehende Linux-Benutzer würde von einer Einführung in Ubuntu GRUB profitieren. In diesem Tutorial lernen Sie, was GRUB ist, wie der Boot-Vorgang funktioniert und tauchen in verschiedene hilfreiche Ubuntu GRUB-Konfigurationen ein.

Tauchen Sie ein, um mehr zu erfahren.

Voraussetzungen

Wenn Sie diesem Tutorial folgen möchten, stellen Sie sicher, dass Sie ein Linux-Gerät haben, bei dem GRUB als Bootloader verwendet wird. Dieses Tutorial basiert auf Ubuntu 18.04.5 LTS, das auf einer virtuellen Maschine auf Oracle VirtualBox ausgeführt wird.

Verständnis des Ubuntu GRUB Bootvorgangs

GRUB steht für Grand Unified Boot Loader und ist die primäre und wichtigste Komponente zum Booten Ihres Geräts. GRUB ist auch der am häufigsten verwendete Bootloader für Linux. Ihre Reise beginnt damit, dass Sie ein wenig mehr über den Bootvorgang von GRUB erfahren.

Im allgemeinen Bootvorgang startet das BIOS mit dem Ausführen des POST-Schritts und sucht dann nach dem Bootloader im Master Boot Record (MBR).

Der MBR ist die Information im ersten Sektor jeder Festplatte. Der MBR identifiziert, wo ein Betriebssystem liegt. Die im MBR gespeicherten Informationen laden (booten) das Betriebssystem in den Arbeitsspeicher des Geräts.

Dieser Artikel behandelt nur die Seite des MBR. Aber Sie können auch Festplatten mit GPT finden, was für GUID-Partitionstabellen steht. GPT ist besser, wenn Sie mehr als vier Partitionen erstellen möchten, da eine MBR-Festplatte höchstens 4 primäre Partitionen halten kann.

In der Abbildung unten sehen Sie ein Diagramm des Bootvorgangs. Sie können sehen, dass Ubuntu GRUB den Kernel, für den Sie sich entschieden haben, in den Hauptspeicher lädt: den Random Access Memory (RAM). Nachdem der Kernel geladen ist, können Benutzer sich am Gerät anmelden.

The role of GRUB during the complete boot process in Linux

Vergleich von Ubuntu GRUB und LILO Bootloadern

Die Linux-Welt hat drei Haupt-Bootloader: LILO, GRUB und GRUB2. GRUB2 ist der neueste und primäre Bootloader in Linux-Distributionen. GRUB2 wird am häufigsten verwendet und in diesem Tutorial demonstriert, da er der Standard-Bootloader von Ubuntu ist, aber LILO hat immer noch eine Präsenz in Linux. In diesem Abschnitt erfahren Sie, wie sie sich gegeneinander behaupten.

Andere Linux-Bootloader sind auf dem Markt erhältlich, wie zum Beispiel GNU GRUB, das hervorragende Unterstützung für Speicherverwaltung und ein objektorientiertes Framework bietet. Ein weiterer ist SYSLINUX, ein leichtgewichtiger Bootloader.

GRUB unterstützt das Booten mehrerer Betriebssysteme. LILO hingegen kann nur ein Betriebssystem booten.

GRUB allows opting among multiple OS

Ubuntu GRUB funktioniert mit Windows, Linux, Unix, macOS, BSD, Solaris, während LILO hauptsächlich Linux-Betriebssysteme unterstützt.

Wenn Sie die Konfigurationsdatei in LILO aktualisieren, muss LILO wieder auf den MBR installiert werden. Wenn Sie GRUB-Einstellungen ändern, ist eine Neuinstallation nicht erforderlich.

Auswahl unterschiedlicher Kerne oder Wiederherstellungsmodi

Dieser Abschnitt zeigt, wie man einen Kernel auswählt, während das Gerät von einem beschädigten Kernel erholt.

A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.

Hier sind die Schritte zur Auswahl eines Kernels mit einer VM in Oracle VirtualBox.

1. Melden Sie sich direkt auf der Ubuntu-Gerätekonsole mit Oracle VirtualBox an.

2. Starten Sie Ihre Ubuntu-Maschine mit dem Shutdown-Befehl neu, wie unten gezeigt.

shutdown -r now

Sobald Ihr Gerät neu startet, drücken und halten Sie die Shift-Taste während des Ladens von Ubuntu GRUB, und Sie sehen das GRUB-Bootloader-Menü. Wenn Sie nichts auswählen, bootet GRUB das System mit dem Standardkernel und setzt den Bootvorgang fort.

Sie sollten Erweiterte Optionen für Ubuntu auswählen, wenn Sie mit einem anderen Kernel als dem Standardkernel booten müssen. Oder wenn Sie Probleme im System haben, wie z.B. Dateikorruption oder wenn der Kernel nicht korrekt geladen wird.

GRUB loading process

4. Nachdem Sie die Erweiterten Optionen für Ubuntu ausgewählt haben, wird ein Ubuntu-GRUB-Menü angezeigt. Im Menü sollten Sie verschiedene Kerneloptionen sehen, die Sie auswählen können. Wenn Sie keine Option auswählen, wird standardmäßig der zuerst angezeigte Kernel geladen.

Wie Sie unten im Bild sehen können, gibt es für jeden Kernel zwei zusätzliche Optionen: upstart und Wiederherstellung.

  • (upstart): Ein ereignisgesteuerter Ersatz für den /sbin/init-Daemon, der das Starten von Aufgaben und Diensten während des Bootvorgangs, das Stoppen während des Herunterfahrens und die Überwachung während des Betriebs des Systems steuert.
  • (Wiederherstellungsmodus): um den Kernel von Fehlern im System wiederherzustellen.
Selecting a kernel from the GRUB menu

5. Sobald Sie sich am Gerät angemeldet haben, überprüft der Befehl uname, ob der angegebene Kernel geladen ist. Die Option -r gibt den Kernelnamen aus.

uname -r 
Verifying the kernel from the console

Festlegen des Standardbetriebssystems

Jetzt, da Sie mit GRUB vertrauter sind, werden Sie einige GRUB-Konfigurationsoptionen anpassen. Sie beginnen damit, welches Betriebssystem standardmäßig geladen wird.

1. Melden Sie sich über Ihren bevorzugten SSH-Client bei Ihrem Ubuntu-Gerät an.

2. Jetzt listen Sie die GRUB-Startmenüeinträge auf, indem Sie den awk-Befehl wie unten gezeigt ausführen. Der awk-Befehl zeigt alle Einträge an, die in /boot/grub/grub.cfg gespeichert sind. Der Inhalt der Datei wird im Terminal angezeigt. Achten Sie auf die Zeilen. Sie benötigen die Nummer, die der Zeile vorangestellt ist und mit Null beginnt, d.h. die Ubuntu-Zeile ist 0 und Ubuntu, mit Linux 4.4.0-210-generic ist 1.

awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
awk command filtering all the entries stored in /boot/grub/grub.cfg

3. Bearbeiten Sie als nächstes die GRUB-Konfigurationsdatei. Sie können sich auf vi verlassen, um die Datei zu bearbeiten und den Wert für GRUB_DEFAULT zu ändern, verwenden Sie jedoch Ihren bevorzugten Editor wie gewünscht.

vi /etc/default/grub

Setzen Sie nun den Wert von GRUB_DEFAULT auf die Zeilennummer des gewünschten OS-Eintrags. Erinnern Sie sich an den awk-Befehl, den Sie ausgeführt haben? Das waren die OS-Einträge. Wenn Sie GRUB_DEFAULT auf 0 setzen, wird der erste OS-Eintrag im GRUB-Startmenü standardmäßig gebootet. Wenn Sie ihn auf 1 setzen, wird das Gerät standardmäßig mit dem zweiten OS-Eintrag gebootet, und so weiter. Im untenstehenden Screenshot ist der erste OS-Eintrag Ubuntu standardmäßig zum Booten eingestellt.

Standardmäßig wartet GRUB nicht im Startmenü und startet sofort mit dem Booten, in 0 Sekunden. Sie können diese Timeout-Einstellung ändern, indem Sie den Wert für GRUB_TIMEOUT ändern. Der Wert bedeutet die Anzahl der Sekunden, die das Menü sichtbar ist, bevor das Booten beginnt. Wenn der Wert 5 beträgt, wird das Startmenü 5 Sekunden lang angezeigt, damit Sie auswählen können, welches Betriebssystem Sie laden möchten, wenn das System startet.

Editing the GRUB configuration file

4. Nachdem Sie die Änderungen in der GRUB-Konfigurationsdatei gespeichert haben, stellen Sie sicher, dass Sie den Befehl update-grub ausführen. Der Befehl update-grub übernimmt die geänderte Konfigurationsdatei und wendet sie auf das System an.

update-grub
Updating the GRUB configuration

Hintergrundbild in Ubuntu GRUB einstellen

Ihre GRUB-Konfiguration muss nicht langweilig sein. Sie können GRUB etwas würzen, indem Sie ein Hintergrundbild zum GRUB-Menü hinzufügen. Sie können Bilder als Hintergrund in GRUB mit der GRUB_BACKGROUND Option festlegen. Befolgen Sie die folgenden Schritte, um GRUB anzupassen.

1. Bearbeiten Sie die GRUB-Konfigurationsdatei mit vi oder Ihrem bevorzugten Texteditor und fügen Sie die Zeile GRUB_BACKGROUND wie unten gezeigt hinzu. In diesem Tutorial ist das Bild in einem Benutzer-Home-Verzeichnis namens UBUNTU gespeichert, da GRUB als Root ausgeführt wird, kann es auf Bilder im gesamten Dateisystem zugreifen. Sobald Sie die Konfigurationsdatei geändert haben, speichern Sie sie.

# Syntax: GRUB_BACKGROUND=/Pfad-zum-Bild
GRUB_BACKGROUND=/home/ubuntu/shanky.jpeg

Die Datei shanky.jpeg war bereits im System vorhanden. Ersetzen Sie diesen Namen durch den Dateinamen, den Sie als Hintergrundbild verwenden möchten.

2. Als Nächstes, nachdem Sie die Änderungen in der GRUB-Konfigurationsdatei vorgenommen haben, führen Sie den Befehl update-grub aus.

Updating the grub configuration file

3. Überprüfen Sie außerdem, ob das Bild, das Sie in der Grub-Datei als Hintergrund hinzugefügt haben, wie beabsichtigt funktioniert. Um zu überprüfen, starten Sie Ihren Computer neu und drücken Sie die Umschalt Taste, während GRUB geladen wird. Wie unten zu sehen ist, hat GRUB jetzt ein Hintergrundbild.

GRUB menu displaying the background image as specified in the grub configuration file.

Dual-Booten mit GRUB

Eine der größten Funktionen von Ubuntu GRUB ist, dass es Ihnen ermöglicht, zwischen Windows und Linux zu wählen, wenn Ihr Gerät startet: auch bekannt als Dual-Booten . Das Dual-Booten ermöglicht es Ihnen, Linux und Windows gleichzeitig auf einem Gerät zu verwenden und erleichtert das Leben von IT-Ingenieuren, die mit mehreren Betriebssystemen arbeiten.

Ab Anfang 2021 war das Standard- os_prober -Skript, das automatisch zusätzliche Einträge im Betriebssystemmenü hinzufügt, deaktiviert, aufgrund potenzieller Sicherheitsbedenken bei der automatischen Erkennung von Betriebssystemen. Sie können diese Funktionalität mit dem folgenden Befehl wieder aktivieren, sofern Ihnen bewusst ist, welche Betriebssysteme installiert sind.

echo GRUB_DISABLE_OS_PROBER=false|sudo tee -a /etc/default/grub && sudo update-grub

Sobald Sie das Dual-Booten auf Ihrem Gerät konfiguriert haben, sollten Sie beim Starten Ihres Computers einen Bildschirm ähnlich dem GRUB-Menü sehen.

GRUB menu allows you to either login to Windows or Linux Instance

Fazit

In diesem Tutorial haben Sie gelernt, was GRUB ist, und der Artikel hat Sie in den Bootvorgang von GRUB eingeführt.

Sie haben auch gelernt, wie Sie einige Ubuntu-GRUB-Konfigurationen anpassen, verschiedene Kernel laden und sogar etwas über Dual-Booten erfahren können.

Jetzt, da Sie über solide Kenntnisse von GRUB verfügen, welche Konfigurationsoptionen werden Sie ändern?

Source:
https://adamtheautomator.com/ubuntu-grub/