Grand Unified Bootloader

Grand Unified Bootloader
QS-Informatik

Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)

GRUB
Grub logo.png Grub logo2.png
GRUB.png
Bildschirmfoto des GRUB-Menüs von Ubuntu 6.06 mit Hintergrundgrafik.
Basisdaten
Entwickler Das GRUB-Team
Aktuelle Version 1.99
(14. Mai 2011)
Betriebssystem Installation: Unix-Derivate; Laufzeit: plattformübergreifend
Kategorie Bootloader
Lizenz GPL 3+ (Freie Software)
Deutschsprachig ja
gnu.org/software/grub

Grand Unified Bootloader (engl. „Großer vereinheitlichter Bootloader“), kurz GRUB, ist ein freies Urladeprogramm, das oft zum Starten von unixoiden Betriebssystemen eingesetzt wird.

GRUB wurde innerhalb des GNU-Hurd-Projektes als Bootloader entwickelt und wird unter der GPL vertrieben. Aufgrund seiner höheren Flexibilität verdrängte GRUB in vielen Linux-Distributionen den traditionellen Bootloader Linux Loader (LILO). GRUB wird auch in Solaris 10 x86 benutzt. Derzeit wird GRUB komplett überarbeitet, die neue Version heißt GRUB 2, die alten Versionen 0.9x werden daher als GRUB Legacy bezeichnet (engl.: legacy = Altlast, Erbe, Hinterlassenschaft).

Inhaltsverzeichnis

Leistungsmerkmale

Funktionsweise

GRUB allgemein und GRUB Legacy

Normalerweise wird der Bootloader von GRUB, die sogenannte „Stage 1“, in den Master Boot Record (MBR) geschrieben, welcher sich in den ersten 512 Bytes des primären Laufwerkes befindet. Aufgrund des durch die Partitionstabelle zusätzlich beschränkten Platzes kann die Stage 1 nur den ersten Sektor der sogenannten „Stage 2“ laden. In diesem Sektor befinden sich der Programmcode und eine Blockliste zum Lesen der restlichen Sektoren von Stage 2.

Die Stage 2 kann sich auf einer beliebigen Partition befinden. Unter Unixsystemen befindet sie sich meistens unter /boot/grub/stage2. Stage 2 enthält die Dateisystemtreiber, den Programmcode für das Auswahlmenü und die GRUB-Kommandozeile sowie die Laderoutine für die Betriebssystemkerne (Kernel).

Nach dem Laden von Stage 2 wird, sofern vorhanden, die Konfigurationsdatei /boot/grub/grub.conf eingelesen und verarbeitet. In dieser Datei sind die Einträge des Auswahlmenüs definiert, welche nun in der Konsole angezeigt werden. Aus dem Menü können nun das zu bootende Betriebssystem ausgewählt oder Befehle über die Kommandozeile direkt an GRUB gesendet werden. Stage 2 stellt somit den eigentlichen Bootloader dar, welcher einen Kernel oder den Bootsektor einer Partition lädt.

Diese Aufteilung des Bootloaders in zwei Stufen hatte den Nachteil, dass der Bootloader nach Verschieben oder Änderungen von Stage 2 nicht mehr bootfähig war. Deswegen wurde zwischen Stage 1 und 2 eine Zwischenstufe, Stage 1.5, eingeführt. Diese liegt auf den Datenblöcken zwischen MBR bzw. Stage 1 und dem ersten Block der ersten Partition und ist in der Lage, genau ein Dateisystem zu lesen. Dabei wird die Variante installiert, welche das Dateisystem jener Partition unterstützt, auf welcher Stage 2 liegt. Zurzeit gibt es Stage 1.5 für die Dateisysteme FAT, Minix, Ext2, Ext3, JFS, ReiserFS sowie XFS. Unterstützung für Reiser4 gibt es in einem Extra-Patch.

GRUB 2

Für den Nachfolger GRUB 2 wurde ein vollständiges Redesign durchgeführt und auf Rückwärtskompatibilität zu GRUB Legacy verzichtet. Die Stage 2 wurde in einen Kernel (kernel.img) und viele ladbare Module (*.mod) aufgeteilt. Der Kernel enthält nur essentiellen Code mit Dekompression, ELF-Lader für Module, Festplattenzugriff und eine Rettungs-Shell. Die Stage 1.5 gibt es in dieser Form nicht mehr. Bei der Installation werden die Module für das Dateisystem, das die restlichen Komponenten enthält, an den Kernel angehängt und als Datei core.img abgelegt. Hierbei kommt eines der Kompressionsverfahren LZMA oder LZO zum Einsatz, so dass die komprimierte Datei meistens noch im Bootbereich hinter dem MBR abgelegt werden kann. Nach dem Laden wird der Code entpackt und die Konfigurationsdatei /boot/grub/grub.cfg geladen. Bei Bedarf werden Module für weitere Dateisysteme, Bootmenü, Bootroutinen für verschiedene Betriebssysteme und GRUB Shell vom Dateisystem nachgeladen. Neben der Shell-ähnlichen Skriptsprache bietet GRUB 2 auch Unterstützung für die Sprache Lua.

Des Weiteren lässt sich GRUB 2 auch als so genannte Payload für die freie BIOS-Alternative coreboot verwenden.[1] Dabei muss GRUB nicht wie üblich in den MBR geschrieben werden, sondern wird zusammen mit coreboot direkt in den Flash ROM-Baustein („BIOS Chip“) des Systems geschrieben. Beim Bootvorgang übergibt coreboot, nachdem es die Hardware initialisiert hat, die Kontrolle an GRUB, welches anschließend wie üblich ein Menü anzeigt und das Laden eines Betriebssystemkernels erlaubt.

Besonderheiten von GRUB

GRUB kann über das Dateisystem auf die als normale Dateien gespeicherten Betriebssystemkerne zugreifen. Andere Bootloader wie zum Beispiel LILO sind auf Konfigurationsdaten angewiesen, die angeben, in welchen Datenblöcken der Kernel liegt. Diese Angaben können sich nach einem Kernel-Update ändern, und die entsprechenden Konfigurationsdaten müssen neu geschrieben werden. Dieser Schritt ist bei GRUB dagegen nicht notwendig.

Erweiterungen

Der Standard-GRUB stellt wie oben beschrieben einen eigenen Bootblock zur Verfügung. Das führt dazu, dass man GRUB normalerweise nicht von einem bestehenden Betriebssystem aus starten kann. Die GRUB-Shell ist unter Linux zugänglich, eine Alternative stellt das Projekt GRUB4DOS bereit, welches GRUB so erweitert, dass es als Programm unter DOS bzw. als GRLDR aus dem Windows-XP-/-NT-Bootmenü heraus startbar ist. Letzteres erspart das umständliche Extrahieren des Linux-Bootblocks mittels dd in eine Datei.

Mit TrustedGRUB wird derzeit eine Erweiterung von GRUB entwickelt, die Trusted Platform Module (TPM) unterstützt.[2]

Siehe auch

Weblinks

 Commons: GNU GRUB – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. GRUB 2 als coreboot Payload
  2. Projektseite von TrustedGRUB auf SourceForge.net

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • GRand Unified Bootloader — GNU GRUB …   Wikipédia en Français

  • Grand unified bootloader — GNU GRUB …   Wikipédia en Français

  • Bootloader — Ein Bootloader (englische Aussprache [ˈbuːtˌloʊdɚ], von der verkürzten Form des ursprünglichen Wortes bootstrap loader), auch Startprogramm[1] oder Urlader[2] genannt, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem …   Deutsch Wikipedia

  • Bootloader — Chargeur d amorçage Un chargeur d amorçage (ou Boot loader) est un logiciel permettant de lancer un ou plusieurs systèmes d exploitation (multi boot), c est à dire qu il permet d utiliser plusieurs systèmes, à des moments différents, sur la même… …   Wikipédia en Français

  • GRUB — GRand Unified Bootloader GNU GRUB …   Wikipédia en Français

  • GNU GRUB — GRUB redirects here. For other uses, see grub (disambiguation). GNU GRUB GRUB in text mode …   Wikipedia

  • Boot-Lader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Boot-Loader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Boot Loader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

  • Bootlader — Ein Boot Loader [ˈbuːtˌloʊdɚ] (verkürzte Form des ursprünglichen Wortes bootstrap loader), deutsch auch Urlader, ist eine spezielle Software, die gewöhnlich durch die Firmware (z. B. dem BIOS bei IBM kompatiblen PCs) eines Rechners von einem… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”