GNU GRand Unified Bootloader oder GRUB ist ein Programm, mit dem der Benutzer das Betriebssystem oder den Kernel auswählen kann, das bzw. der beim Systemstart geladen werden soll. Desweiteren kann der Benutzer Argumente an den Kernel übergeben.
In diesem Abschnitt wird die spezifische Rolle von GRUB beim Booten eines x86-Systems ausführlich beschrieben. Detaillierte Informationen zum gesamten Bootprozess finden Sie unter Abschnitt 1.2.
GRUB lädt sich selbst in folgenden Phasen in den Speicher:
Der Stage 1 oder primäre Bootloader wird vom BIOS in den Speicher vom MBR gelesen[1]. Der primäre Bootloader nimmt weniger als 512 Bytes Plattenplatz im MBR in Anspruch. Seine einzige Aufgabe ist das Laden des Stage 1.5 oder Stage 2 Bootloaders.
Der Stage 1.5 Bootloader wird nur dann vom Stage 1-Bootloader in den Speicher eingelesen, wenn dies notwendig ist. Für manche Hardware ist ein Zwischenschritt beim Aufrufen des Stage 2 Bootloaders erforderlich. Dies trifft manchmal zu, wenn die /boot-Partition 1024 Zylinder überschreitet oder im LBA-Modus verwendet wird. Der Stage 1.5 Bootloader befindet sich entweder auf der /boot/- Partition oder auf einem kleinen Teil des MBR und der /boot Partition.
Der Stage 2 oder sekundäre Bootloader wird in den Speicher gelesen. Der sekundäre Bootloader zeigt die Menü- und Befehlsumgebung von GRUB an. Mit dieser Oberfläche können Sie das zu startende Betriebssystem bzw. den Linux-Kernel auswählen, Argumente an den Kernel weiterleiten oder sich die Systemparameter wie zum Beispiel verfügbaren RAM anzeigen lassen.
Der sekundäre Bootloader liest das Betriebssystem bzw. den Kernel und initrd in den Speicher. Sobald GRUB festlegt, welches Betriebssystem gestartet werden soll, lädt er es in den Speicher und übergibt die Steuerung der Rechners an das Betriebssystem.
Diese zum Starten von Red Hat Linux verwendete Bootmethode wird direktes Laden genannt, da der Bootloader das Betriebssystem direkt lädt. Zwischen dem Bootloader und dem Kernel ist keine Zwischenstufe vorhanden.
Der von den anderen Betriebssystemen verwendete Bootprozess kann von dem hier beschriebenen abweichen. Die Betriebssysteme DOS und Windows von Microsoft wie auch andere proprietäre Betriebssysteme werden mit Hilfe der Bootmethode Verkettetes Laden geladen. Bei dieser Methode verweist der MBR einfach auf den ersten Sektor der Partition, auf der das Betriebssystem installiert ist. Dort befinden sich die für das Starten des Betriebssystems erforderlichen Dateien.
GRUB unterstützt sowohl das direkte als auch das verkettete Laden, wodurch fast alle Betriebssysteme gestartet werden können.
![]() | Warnung |
---|---|
Während der Installation überschreiben DOS und Windows von Microsoft den MBR komplett und löschen somit alle vorhandenen Bootloader. Wird ein duales Bootsystem erstellt, wird empfohlen, das Betriebssystem von Microsoft zuerst zu installieren. Die entsprechenden Anweisungen hierzu finden Sie im Anhang Installing Red Hat Linux in a Dual-Boot Environment im Red Hat Linux Installationshandbuch. |
GRUB enthält zahlreiche Funktionen, die im Vergleich zu anderen für die x86-Architektur verfügbaren Bootloadern vorteilhaft sind. Nachfolgend ist eine Liste mit den wichtigsten Funktionen angeführt:
GRUB liefert auf x86-Rechnern eine echte befehlsbasierte Umgebung für die Phase vor dem Laden des Betriebssystems. Dies verleiht dem Benutzer maximale Flexibilität beim Laden der Betriebssysteme mit bestimmten Optionen bzw. beim Sammeln von Informationen über das System. Viele nicht-x86-Architekturen verwenden seit Jahren prä-OS-Umgebungen, die die Steuerung des Bootprozesses des Systems von einer Befehlszeile aus ermöglichen. Einige Befehlsfunktionen stehen mit LILO oder anderen x86-Bootloadern zur Verfügung, GRUB bietet jedoch eine größere Anzahl solcher Funktionen.
GRUB unterstützt den Logical Block Addressing (LBA) Modus. LBA übergibt die Adressierkonvertierung, die dazu dient, Dateien zu suchen, an die Firmware der Festplatte, und wird auf vielen IDE- und allen SCSI-Festplatten verwendet. Vor LBA stießen Bootloader auf die 1024-Zylindergrenze des BIOS, oberhalb derer das BIOS keine Dateien finden konnte. Die LBA-Unterstützung ermöglicht GRUB, Betriebssysteme von Partitionen oberhalb dieser Grenze zu booten, sofern das System-BIOS den LBA-Modus unterstützt. Die meisten modernen BIOS-Versionen unterstützen den LBA-Modus.
GRUB kann ext2-Partitionen lesen. Hierdurch kann GRUB bei jedem Systemstart auf die Konfigurationsdatei /boot/grub/grub.conf zugreifen und die Notwendigkeit umgehen, eine neue Version des Stage 1 Bootloaders auf den MBR schreiben zu müssen, wenn die Konfiguration geändert wird. GRUB muss nur dann neu auf dem MBR installiert werden, wenn die physische Stelle der /boot- Partition auf der Platte verschoben wird. Detaillierte Informationen zum Installieren von GRUB auf den MBR finden Sie unter Abschnitt 2.3.
[1] | Weitere Informationen zum BIOS und MBR finden Sie unter Abschnitt 1.2.1. |
Zurück | Zum Anfang | Vor |
Bootloader | Zum Kapitelanfang | Installation von GRUB |