Einen Bootloader kann man sich wie ein minimales Betriebssystem vorstellen – es startet vor dem eigentlichen Betriebssystem, also etwa vor Linux, macOS oder Windows und startet anschließend das Betriebssystem:

Die Firmware sucht nach einem vorhandenen Bootloader, der Bootloader startet wiederum das Betriebssystem.

Wir haben uns vor einiger Zeit schon optische Anpassungen am Bootloader GRUB angesehen, siehe Das Hintergrundbild von GRUB anpassen – in diesem Beitrag geht es eher um das technische.

Wir finden erst einmal unter „/boot/grub/grub.cfg“ die bestehende Konfiguration:

Wir könnten diese Datei anpassen – diese ist jedoch erst einmal sehr unübersichtlich und zweitens wird diese Datei bei jedem Update von Grub überschrieben, unsere Anpassungen wieder rückgängig gemacht. Hier einzugreifen, ist also nicht der richtige Weg.

Erste wichtige Einstellungen finden wir in der Datei/etc/default/grub„:

Hier gleich noch einmal als Text:

#
# Configuration file for GRUB.
#
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Void"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4"
# Uncomment to use basic console
#GRUB_TERMINAL_INPUT="console"
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
#GRUB_BACKGROUND=/usr/share/void-artwork/splash.png
#GRUB_GFXMODE=1920x1080x32
#GRUB_DISABLE_LINUX_UUID=true
#GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

Die einzelnen Einträge sehen wir uns hier etwas genauer an. Diese Datei lässt sich natürlich nur mit administrativen Rechten bearbeiten, also etwa am Terminal mit dem Befehl:

nano /etc/default/grub

mittels des einfach zu nutzenden Editor Nano, oder mit dem Profi-Editor Vim:

vim /etc/default/grub

Jede Zeile beinhaltet eine Einstellung – Zeilen, die mit einem Doppelkreuz (#) auskommentiert sind, werden übergangen – sind also nicht aktiv.

GRUB_DEFAULT=0

Diese Zeile gibt an, welcher Eintrag im Bootmenü fett hervorgehoben ist und automatisch nach vorkonfigurierter Zeit gestartet wird. Sie gibt also an, welches Betriebssystem automatisch gestartet wird. Nehmen wir einmal an, Sie starten Ihr Betriebssystem und das Bootmenü sieht so aus:

In diesem Fall würde also er oberste Eintrag – in diesem Fall „Debian GNU/Linux“ automatisch starten. In diesem Beispiel würde die Zeile wie folgt aussehen:

GRUB_DEFAULT=0

Möchte ich den zweiten Eintrag automatisch starten:

GRUB_DEFAULT=1

Oder den dritten:

GRUB_DEFAULT=2

Dies ist recht einfach zu verstehen – GRUB beginnt nicht bei „1“ zu zählen, sondern bei „0„. Geben wir statt einer Zahl die Option „saved“ ein, ist das beim letzten Start ausgewählte System markiert – und dieses startet automatisch nach der vorgegebenen Zeit:

GRUB_DEFAULT=saved

Zur Information, welches Betriebssystem zuletzt gestartet wurde, wird in der Datei/boot/grub/grubenv“ gespeichert.

#GRUB_HIDDEN_TIMEOUT=0

Wird das Doppelkreuz vor dieser Zeile entfernt, ist das Bootmenü beim Start nicht sichtbar – es wird aber trotzdem gewartet, bis die vorgegebene Zeit zum Start des Betriebssystems abgelaufen ist. Während dieser Zeit können Sie das Bootmenü mit der Umschalt-Taste (Shift) sichtbar machen. Damit dies korrekt funktioniert, muss unbedingt folgende neue Zeile hinzugefügt werden:

GRUB_DISABLE_OS_PROBER=true
#GRUB_HIDDEN_TIMEOUT_QUIET=false

Ersetzen Sie die Option „false“ durch „true“ und entfernen natürlich das Doppelkreuz – wird das Bootmenü nicht angezeigt, aber der Countdown bis zum Start des Systems. Mit der Umschalt-Taste kann das Bootmenü natürlich trotzdem angezeigt werden.

GRUB_TIMEOUT=5

Diese Zeile gibt an, wie lange GRUB wartet, bis das vorkonfigurierte Betriebssystem automatisch gestartet wird – in diesem Beispiel haben Sie 5 Sekunden Zeit, um ein anderes Betriebssystem zu starten.

GRUB_TIMEOUT_STYLE=

Mit dieser Zeile ist es einfacher, anzupassen, ob und wie das Bootmenü angezeigt werden soll. Mit der Option „menu“ wird das Bootmenü immer angezeigt, auch wenn kein weiteres Betriebssystem installiert ist. Mit „hidden“ wird das Bootmenü nicht angezeigt und nach dem Countdown automatisch gestartet, durch „Esc“ lässt sich das Bootmenü trotzdem anzeigen. Die Option „countdown“ versteckt das Bootmenü ebenso, zeigt aber einen Countdown. Die beiden letzten Optionen, sind jedoch unwirksam, wenn mehr als ein Betriebssystem installiert ist.

GRUB_CMDLINE_LINUX_DEFAULT=

Diese Zeile ist für Kernel-Optionen reserviert – hier kann man also reagieren, wenn das System nicht so funktioniert, wie es soll. So kann etwa die Option „nomodeset“ dafür sorgen, dass die grafische Oberfläche startet, auch wenn das System überhaupt nicht kompatibel ist. Eine umfassende Dokumentation zu den Kernel-Optionen finden Sie auf Kernel.org.

#GRUB_TERMINAL=console

Entfernt man hier die Raute, gibt es keine grafische Oberfläche im Bootmenü – das Bootmenü erscheint auf dem Terminal – im Grunde aber kein Unterschied zum Menü mit grafischer Oberfläche – man kann die Maus sowieso nicht nutzen.

GRUB_CMDLINE_LINUX=

Diese Zeile wirkt sich bei der letzten Beschreibung aus – also, wenn man die grafische Oberfläche im Bootmenü deaktiviert – hier kann man dann wie unter „GRUB_CMDLINE_LINUX_DEFAULT=“ Kernel-Optionen angeben.

#GRUB_GFXMODE=

Hier lässt sich die Bildschirmauflösung angeben. Also etwa „640×400„. Grundsätzlich sollte GRUB beim Start des Rechners die Bildschirmauflösung automatisch perfekt ermitteln – sollte dies nicht geschehen, also die Schrift etwa viel zu groß oder viel zu klein sein, können Sie hier selbst aktiv werden. Um die unterstützten Auflösungen zu ermitteln, drücken Sie im Bootmenü die Taste „c“ – es erscheint die Prompt des Bootloaders:

grub> _

Hier geben Sie den Befehl:

vbeinfo

ein. Ein Beispiel für die Ausgabe:

[...]
0x123 800  x  600 x 24 Direct,  mask: 8/8/8/0   pos: 16/8/0/0
0x11b 1280 x 1024 x 24 Direct,  mask: 8/8/8/0   pos: 16/8/0/0
[...]

Ein Beispiel für die Konfiguration:

GRUB_GFXMODE=1280x1024x24
GRUB_GFXPAYLOAD_LINUX=keep

Diese Zeile wird in Kombination mit „GRUB_GFXMODE=“ genutzt. Sie bewirkt das Beibehalten der Auflösung in verschachtelten Menüs des Bootloaders (etwa erweiterte Optionen).

#GRUB_DISABLE_LINUX_UUID=true

Hiermit deaktivieren Sie die Übergabe der UUID Systempartition an den Kernel – ist hin und wieder hilfreich, wenn GRUB die Systempartition per UUID nicht findet. In diesem Fall nutzt GRUB Einträge der „/etc/fstab“ – also etwa „/dev/sda1„.

#GRUB_DISABLE_RECOVERY=true

Entfernen Sie das Doppelkreuz vor der Zeile, wird das Rettungssystem deaktiviert.

#GRUB_DISABLE_SUBMENU=y

Aktivieren Sie diese Zeile, ist es im Bootmenü nicht möglich, Untermenüs zu nutzen (etwa erweiterte Optionen).

Eine vollständige Dokumentation über die Möglichkeiten in dieser Datei finden Sie auf dem Terminal mit dem Befehl:

info -f grub -n 'Simple configuration'

Wichtig – nach vorgenommenen Einstellungen, müssen Sie diese an GRUB weitergeben – dies gelingt mit dem Befehl:

update-grub

Zum Testen würde ich eine virtuelle Maschine vorschlagen.

Categories:

Tags:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Archivierungsprogramm für Datentr …Zu Recoll gibt es im Wiki einen empfehlenswerten Beitrag von Rober … Weiterlesen
Statistik April 2025Die Entwicklung im WIKI im April 2025 Insgesamt sind 19 neue Be … Weiterlesen
Schleswig Holstein verläßt das Mi …Zitat von monte25 am 18. April 2025, 22:06 Uhr Nicht alles ist au … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive