GRUB 2

Aus Foxwiki
Version vom 22. März 2023, 14:50 Uhr von Dirkwagner (Diskussion | Beiträge) (Textersetzung - „Linux:“ durch „Linux/“)

GRUB 2 (Grand Unified Bootloader 2) ist ein freies Bootloader-Programm, das oft zum Starten von unixoiden Betriebssystemen verwendet wird.

Allgemeines

GRUB 2 ist ein Nachfolger von GRUB (Linux/GRUB Legacy). Dieser liegt jetzt in der Version 2.0 vor - die Version 1.9 wird nicht mehr weiter bearbeitet. Der Einsatz von Linux/GRUB Legacy wird nicht mehr unterstützt.

Bearbeiten des Booteintrags

TODO

Standard-Parameter /etc/default/grub

Sollten Sie Änderungen an dieser Datei vornehmen, so müssen Sie 'update-grub' laufen lassen, um Änderungen in die /boot/grub/grub.cfg Datei schreiben zu lassen. Um die aktuelle Konfiguration einzusehen, geben Sie 'grub-mkconfig' ein, danach kann die Änderung mit obigem Befehl (update-grub) durchgeführt werden.

# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
# GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
# GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
# GRUB_INIT_TUNE="480 440 1"


GRUB_DEFAULT

GRUB_DEFAULT=0

Gibt an, welcher Eintrag im Menü standardmäßig hervorgehoben wird.

GRUB TIMEOUT

GRUB_TIMEOUT=5
  • Ein Zahlenwert gibt die Zeit in Sekunden an, wie lange das Auswahlmenü angezeigt wird, bevor der Standard-Eintrag geladen wird.
  • Bei 0 bootet GRUB direkt den Standardwert, ohne dieses Menü anzuzeigen.
  • Bei -1 wird der Zähler abgeschaltet und man muss den zu ladenden Eintrag immer von Hand wählen.

GRUB_DITRIBUTOR

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

Generiert Hinweise zur aktuellen Distribution.

GRUB CMDLINE LINUX DEFAULT

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Sorgt für die "Stille" GRUB Abarbeitung. Das "quiet" kann entfernt werden wenn man eine genaue Beschreibung des Ablaufes von GRUB benötigt.

GRUB_CMDLINE_LINUX

GRUB_CMDLINE_LINUX=""

Befehlszeilenargumente die zu den Menüeinträgen des Linux Kernels hinzugefügt werden soll.

GRUB_TERMINAL

#GRUB_TERMINAL=console

Kann unter /etc/default/grub auskommentiert werden, um die grafische Benutzeroberfläche zu unterbinden.

Console kann auch mit anderen Begriffen (serial, gfxterm usw.) ausgetauscht oder ergänzt werden. Wenn gesetzt, wird GRUB_TERMINAL_OUTPUT & INPUT überschrieben.

GRUB_GFXMODE

GRUB_GFXMODE=640x480

Diese Option setzt die Auflösung der grafischen Konsole auf 640x480 Pixel. Es können nur Werte verwendet werden, die auch von der Grafikeinheit verwendet werden können

GRUB_DISABLE_LINUX_UUID

#GRUB_DISABLE_LINUX_UUID=true

Kann auskommentiert werden, um die Verwendung von UUID's zu deaktivieren. Die UUID's aktiviert zu lassen ist normalerweise zuverlässiger, in einigen Fällen jedoch möglicherweise nicht angemessen.

GRUB_DISABLE_RECOVERY

#GRUB_DISABLE_RECOVERY=true

Kann auskommentiert werden, um die Generation von Recovery Mode Einträgen zu deaktivieren.

Nicht beachten, machste eh

When you run the update-grub command, GRUB automatically combines the settings from the /etc/default/grub file, the scripts from the /etc/grub.d/ directory, and everything else, creating a /boot/grub/grub.cfg file that’s read at boot.

Die Datei /etc/default/grub kontrolliert die Aktionen von grub-mkconfig. Es wird vom Shell-Script gesourced.

grub-mkconfig hat ein paar Limitierungen.

Extra Menüeinträge kann man in /etc/grub.d/40_custom anlegen. Das Ändern der Menüpunktreihenfolge kann dafür sorgen, dass man komplexe Änderungen in den ShellScripts unter /etc/grub.d vornehmen muss. Sollte man sich dazu entscheiden die grub.cfg selbst zu schreiben so sollte man im System und in Programmen das automatische Verwenden von 'grub-mkconfig' abschalten.


Weitere /etc/default/grub/ Einträge

GRUB_BADRAM

GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Mit dieser Option übergibt man dem Linux Kernel BadRam Informationen, der Kernel versucht nicht mehr diesen zu nutzen.

GRUB_SAVEDEFAULT

GRUB_SAVEDEFAULT=true o. false
  • Ist diese Option auf true gesetzt, dann, wenn ein Eintrag ausgewählt wird, wird dieser als Standard gesetzt und bei künftigen Durchläufen von GRUB.
  • Sollte man diesen Eintrag auf True setzen so kann man auch bei 'GRUB_DEFAULT=saved' setzen.
  • So wird der 'GRUB_DEFAULT' Wert der Letzte verwendete.

GRUB_TIMEOUT_STYLE

GRUB_TIMEOUT_STYLE=
  • Wenn diese Option nicht gesetzt oder auf Menü gesetzt ist, so wird das Menü angezeigt und es wird anschließend der timeout abgewartet.
  • Wenn diese Option auf countdown gesetzt ist, so wird nur ein einzeiliger Countdown angezeigt bevor GRUB mit dem Standardwert bootet.
  • Ist diese Option auf hidden gesetzt, so wird nichts angezeigt, der Timeout läuft im Hintergrund und GRUB startet dann mit dem Standardwert. Mit ESC ruft man dann das Menü auf oder wählt mit dem zugewiesenen Hotkey den ensprechenden Eintrag.

Anderer fremder non-sense

Durch grub-install können sie GRUB auf einem am System angeschlossenen Datenträger installieren, also z. B. auf einen USB-Stick oder eine Diskette. Geben Sie dazu einfach den Zieldatenträger als einzigen Parameter an:

# grub-install /dev/sdb

Kategorie/Linux/Bootmanager