E.2. GRUB

Der GNU GRand Unified Bootloader (GRUB) ist ein Programm, mit dem der Benutzer das Betriebssystem oder den Kernel auswählen kann, welches oder welcher beim Systemstart geladen werden soll. Darüber hinaus kann der Benutzer Parameter an den Kernel übergeben.

E.2.1. GRUB und der Boot-Vorgang auf BIOS-basierten x86-Systemen

In diesem Abschnitt wird die spezifische Rolle von GRUB beim Booten eines BIOS-basierten x86-Systems beschrieben. Informationen zum gesamten Boot-Prozess finden Sie im Abschnitt F.2, »Der Boot-Prozess im Detail«.
GRUB lädt sich selbst in folgenden Stufen in den Speicher:
  1. Der Stufe 1 oder primäre Bootloader wird aus dem MBR vom BIOS in den Speicher gelesen. [14]. Der primäre Bootloader nimmt weniger als 512 Bytes Plattenplatz im MBR in Anspruch. Seine einzige Aufgabe ist das Laden des Stufe 1.5 oder Stufe 2 Bootloaders.
    Das BIOS kann keine Partitionstabellen oder Dateisysteme lesen. Es initialisiert die Hardware, liest den MBR, und verlässt sich anschließend ganz auf den Bootloader der Stufe 2, um den Boot-Vorgang fortzuführen.
  2. Der Stufe 1.5-Bootloader wird vom Stufe 1-Bootloader in den Speicher eingelesen, wenn dies notwendig ist. Für manche Hardware ist ein Zwischenschritt beim Aufrufen des Stufe 2-Bootloaders erforderlich. Dies trifft manchmal zu, wenn die /boot-Partition 1024 Zylinder auf der Festplatte überschreitet oder wenn LBA-Modus verwendet wird. Der Stufe 1.5-Bootloader befindet sich entweder auf der /boot/-Partition oder auf einem kleinen Teil des MBR und der /boot-Partition.
  3. Der Stufe 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, Parameter an den Kernel weiterleiten oder sich die Systemparameter anzeigen lassen.
  4. Der sekundäre Bootloader liest das Betriebssystem bzw. den Kernel und die Inhalte von /boot/sysroot/ in den Speicher. Sobald GRUB festlegt, welches Betriebssystem oder welcher Kernel gestartet werden soll, lädt er dieses oder diesen in den Speicher und übergibt die Steuerung des Rechners an das Betriebssystem.
Diese zum Starten von Linux verwendete Boot-Methode wird Direktes Laden genannt, da der Bootloader das Betriebssystem direkt lädt. Zwischen dem Bootloader und dem Kernel existiert keine Zwischenstufe.
Der von den anderen Betriebssystemen verwendete Boot-Prozess kann sich vom hier beschriebenen unterscheiden. Zum Beispiel werden die Microsoft® Windows® Betriebssysteme und andere Systeme mittels Chain-Loading ("Kettenladen") geladen. Bei dieser Methode verweist der MBR einfach auf den ersten Sektor der Partition, auf der das Betriebssystem installiert ist, wo sich die für das Starten des Betriebssystems erforderlichen Dateien befinden.
GRUB unterstützt sowohl die direkte als auch die verkettete Lademethode, wodurch fast alle Betriebssysteme gestartet werden können.

Warnung

Während der Installation überschreiben Installationsprogramme von DOS und Microsoft Windows den MBR komplett und löschen somit alle vorhandenen Bootloader. Wird ein System mit Dual-Boot erstellt, wird empfohlen, das Betriebssystem von Microsoft zuerst zu installieren.


[14] Weitere Informationen zum BIOS und MBR finden Sie unter Abschnitt F.2.1.1, »BIOS-basierte x86 Systeme«.