GRUB


GRUB
GRUB

Bildschirmfoto des Grub-Menüs
Basisdaten
Entwickler: Das GRUB-Team
Aktuelle Version: 1.96
(3. Februar 2008)
Betriebssystem: Installation: Unix-Derivate; Laufzeit: Plattformunabhängig
Kategorie: Bootloader
Lizenz: GPL
Deutschsprachig: nein
gnu.org/…/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 (2008) wird GRUB komplett überarbeitet, die neue Version wird GRUB 2 heißen, die alten Versionen 0.9x GRUB Legacy.

Inhaltsverzeichnis

Leistungsmerkmale

Funktionsweise

StartUp-Manager von Ubuntu

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/menu.lst eingelesen und verarbeitet. In dieser Datei sind die Einträge des Auswahlmenüs definiert, welche nun in der Konsole angezeigt werden. Aus dem Menü kann 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 der Partition unterstützt, auf welcher Stage 2 liegt. Zur Zeit 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.

Obige Beschreibung bezieht sich auf GRUB Legacy, dessen letzte Version war 0.97. Für den Nachfolger GRUB2 wurde ein völliges 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, Plattenzugriff und einen Rettungs-Shell. Die Stage 1.5 gibt es in dieser Form nicht mehr. Bei der Installation werden die Module für das Dateisystem, auf dem sich die restlichen Module befinden, an den Kernel angehängt und als Datei core.img abgelegt. Hierbei kommt eines der Kompressionsverfahren LZMA oder LZO zum Einsatz. Daher kann core.img meistens noch im Bootbereich hinter dem MBR abgelegt werden. 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.

Im Gegensatz zu GRUB, welches über das Dateisystem auf die als normale Dateien gespeicherten Betriebssystemkerne zugreifen kann, sind andere Bootloader wie zum Beispiel LILO auf Konfigurationsdateien angewiesen, die angeben, in welchen Datenblöcken der Kernel liegt. Diese Angaben können sich nach einem Kernel-Update ändern, und die entsprechenden Konfigurationsdateien 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.[1]

Siehe auch

Weblinks

Einzelnachweise

  1. Projektseite von TrustedGRUB auf SourceForge.net

Wikimedia Foundation.

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

  • Grub — ist der Name folgender geographischer Objekte: Grub (Thüringen), Gemeinde im Landkreis Hildburghausen, Thüringen Grub am Forst, Gemeinde im Landkreis Coburg, Bayern Grub AR, Gemeinde im Kanton Appenzell Ausserrhoden Ortsteile: In Deutschland:… …   Deutsch Wikipedia

  • Grub — Grub, n. 1. (Zo[ o]l.) The larva of an insect, especially of a beetle; called also {grubworm}. See Illust. of {Goldsmith beetle}, under {Goldsmith}. [1913 Webster] Yet your butterfly was a grub. Shak. [1913 Webster] 2. A short, thick man; a dwarf …   The Collaborative International Dictionary of English

  • Grub ax — Grub Grub, n. 1. (Zo[ o]l.) The larva of an insect, especially of a beetle; called also {grubworm}. See Illust. of {Goldsmith beetle}, under {Goldsmith}. [1913 Webster] Yet your butterfly was a grub. Shak. [1913 Webster] 2. A short, thick man; a… …   The Collaborative International Dictionary of English

  • Grub — can refer to:lang* Larva, most commonly of the scarabaeoidea (beetles) superfamily * a slang term for food; also as a verb to scavenge for food * a British word for a headless set screwPlaces* Grub AR, Grub, canton of Appenzell, Switzerland *… …   Wikipedia

  • grub — grub; grub·ber; grub·bi·ly; grub·bi·ness; grub·ble; grub·by; grub·less; grub·stak·er; …   English syllables

  • Grüb — ist der Ortsname von Grüb (Grafenau), Ortsteil der Stadt Grafenau, Landkreis Freyung Grafenau, Bayern Grüb (Wettringen), Ortsteil der Gemeinde Wettringen, Landkreis Ansbach, Bayern Grüb (Wittelshofen), Ortsteil der Gemeinde Wittelshofen,… …   Deutsch Wikipedia

  • Grub — Grub, v. t. 1. To dig; to dig up by the roots; to root out by digging; followed by up; as, to grub up trees, rushes, or sedge. [1913 Webster] They do not attempt to grub up the root of sin. Hare. [1913 Webster] 2. To supply with food. [Slang]… …   The Collaborative International Dictionary of English

  • grub — [n1] larva caterpillar, entozoon, maggot, worm; concept 398 grub [n2] food chow*, comestibles, eats*, edibles, feed, nosh*, nurture, provisions, rations, sustenance, viands, victuals, vittles*; concepts 457,460 grub [v1] dig, uncover beat, bre …   New thesaurus

  • grub´bi|ly — grub|by «GRUHB ee», adjective, bi|er, bi|est. 1. dirty; grimy; slovenly: »a grubby lot Of sooty sweeps (Thomas Hood). She was an exceptionally grubby girl fat, sloppily dressed, and, like Willard, uncommunicative (New Yorker …   Useful english dictionary

  • grub|by — «GRUHB ee», adjective, bi|er, bi|est. 1. dirty; grimy; slovenly: »a grubby lot Of sooty sweeps (Thomas Hood). She was an exceptionally grubby girl fat, sloppily dressed, and, like Willard, uncommunicative (New Yorker …   Useful english dictionary