Für Windows und Linux

GRUB 2 - Den neuen Bootmanager richtig einsetzen

01.07.2010 von Jürgen Donauer
Der von Linux bekannte Standard-Bootmanager GRUB geht in die zweite Generation. Noch befindet sich der Bootloader im Beta-Stadium, viele Distributionen verwenden GRUB 2 jedoch bereits. Wir informieren Sie über die Highlights und Vorteile des neuen Bootmanagers.

GRUB 2 hält langsam aber sicher Einzug in die Linux-Derivate. Zum Beispiel verwendet die aktuelle Ausgabe der beliebten Distribution Ubuntu die neueste Ausgabe des Bootloaders GRUB. Die zweite Generation des Grand Unified Bootloader bringt einige Neuerungen mit sich. Im Gegensatz zu seinem Vorgänger GRUB Legacy kann er vom Dateisystem ext4 starten. Darüber hinaus unterstützt die aktuelle Ausgabe ein Starten von LVM (Logical Volume Manager) und RAID-Verbunden. Um Unterstützung für die beiden eben genannten einzubinden, muss via insmod das entsprechende Modul geladen werden.

Bildergalerie: GRUB 2
GRUB 2
Alles neu- das Verzeichnis des neuen Bootloaders sieht deutlich verändert aus.
GRUB 2
grub.cfg - diese Datei ist das neue Herzstück des Bootloaders GRUB 2
GRUB 2
Der Arbeitsablauf von GRUB 2 wird über diese Script-Liste gesteuert
GRUB 2
Sollten Sie an den Einstellungen geschraubt haben, müssen Sie das GRUB 2 wissen lassen.
GRUB 2
Wenn Sie GRUB 2 mit Passwortschutz versehen wollen, ist das Setzen eines Superusers Pflicht.
GRUB 2
Wer darf? In diesem Fall darf nur der Anwender tecchannel diesen Menueintrag starten.
GRUB 2
Haben Sie den Passwortschutz erfolgreich angelegt, können nur noch berechtige Anwender das System starten.
GRUB 2
Mit diesem Paket haben Sie gleich ein paar nette Bilder zu Auswahl.
GRUB 2
Eigene Wahl - hier können Sie das Bild ihrer Wahl einstellen.
GRUB 2
Welche Farben die Schriften in GRUB 2 haben sollen, bestimmen Sie hier
GRUB 2
Auf Wunsch können Sie auch die Bildschirmauflösung ändern.
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2
GRUB 2
Ubuntu-Themes für GRUB 2

Desweiteren benutzt GRUB 2 per Standard die UUID (Universally Unique Identifier), um das root-System anzusprechen. Ebenfalls neu ist die Unterstützung von EFI (Extensible Firmware Interface), was derzeit vor allen Dingen für Mac-Benutzer interessant sein dürfte.

Haupt-Unterschiede zwischen GRUB Legacy und GRUB 2

GRUB 2 braucht im Gegensatz zum Vorgänger die Stage 1.5 nicht mehr. Diese lag zwischen dem MBR und dem ersten Block der ersten Partition. Die Stage 2 von GRUB 2 beinhaltet einen Kernel, welcher lediglich den notwendigsten Code beinhaltet. Dazu gehören ein ELF-Loader, Datenträger-Zugriff, eine Rettungs-Shell und Code zur Dekompression. Während der Installation erzeugt GRUB 2 die Module für das Dateisystem in der Datei core.img und komprimiert diese normalerweise mittels LZMA oder LZO. Diese Datei ist in der Regel so klein, dass sie sich im Startbereich hinter dem MBR ablegen lässt. Während des Starts entpackt GRUB 2 die entsprechenden Module und lädt die Konfigurations-Datei grub.cfg.

grub.cfg: Diese Datei ist das neue Herzstück des Bootloaders GRUB 2.

Kenner der Vorgängerausgabe werden sich auf Grund des letzten Absatzes bereits denken können, dass die eben genannte grub.cfg die Datei menu.lst als Konfigurations-Datei ablöst. Die grub.cfg ist nun für die Kontrolle des Menüs zuständig und wird automatisch von den GRUB-2-Scripten generiert. Da GRUB 2 teilweise veränderte Befehle verwendet, lässt sich der Inhalt der menu.lst nicht einfach übernehmen und in die grub.cfg kopieren. Diese Datei sollen Anwender auf keinen Fall editieren, da sie bei eventuellen Updates überschrieben wird.

Eigene Einträge sollen ausschließlich in der Datei /etc/grub.d/40_custom landen. Mit GRUB 2 ist es nun auf relativ einfache Weise möglich, das Boot-Menü nach eigenem Geschmack zu verschönern. GRUB 2 unterstützt Themes, mit denen Sie das Startmenü aufpeppen können. Die dafür zuständige Datei finden Sie in /etc/default/grub. Alle Veränderungen der Konfigurations-Dateien übernimmt das System erst nach dem Aufruf des Befehls grub-mkconfig -o /boot/grub/grub.cfg. Zum Beispiel funktionieren unter Ubuntu auch die Kommandos update-grub oder update-grub2. Andere Betriebssysteme wie zum Beispiel Microsoft Windows sollte der Bootloader selbständig erkennen und in das Menü aufnehmen.

GRUB 2 als Payload für Coreboot

Die aktuelle Version des Grand Unified Bootloader lässt sich ebenfalls als so genannte Payload für die freie BIOS-Alternative Coreboot verwenden, das früher unter dem Namen LinuxBIOS entwickelt wurde. Für diesen Fall verwendet GRUB 2 nicht den MBR einer Festplatte, sondern schreibt sich direkt in den BIOS-Chip des Systems. Coreboot initialisiert in diesem Fall die Hardware und übergibt danach die Kontrolle an GRUB 2.

Den Bootloader von einer Live-CD installieren

Möchten Sie GRUB 2 von einer Live-CD installieren, so ist das im Prinzip nicht schwer. Nehmen Sie zum Beispiel Ubuntu 9.10 „Karmic Koala“ und starten Sie im Live-Modus. Danach können Sie über ein Terminal und df –Th herausfinden, welches die Systempartition ist. Binden Sie dieses via mount zum Beispiel nach /media/tmp ein. Sollten Sie eine separate Boot-Partition haben, müssen Sie diese ebenfalls via mount in diesem Fall nach /media/tmp/boot einbinden. Danach können Sie den Bootloader mittels grub-install --root-directory=/media/tmp /dev/sdX installieren.

Das Verzeichnis /etc/grub.d

Das Verzeichnis /etc/grub.d verhält sich im Prinzip ähnlich wie die Init-Verzeichnisse unter Linux. Die Skripte haben eine Nummer, gefolgt von einem Unterstrich und einer Beschreibung. Dabei arbeitet GRUB 2 diese Scripte sequentiell nach aufsteigender Nummerierung ab. Als Beispiel wird der Bootloader die Datei 30_os-prober vor 40_custom aufrufen.

Scripte: Der Arbeitsablauf von GRUB 2 wird über diese Script-Liste gesteuert.

Sie können eigene Scripte in eigene Dateien einbinden und somit selbst steuern, was GRUB 2 wann ausführen soll. Beachten Sie, dass die Datei ausführbar sein muss. Dies geschieht unter Linux mit dem Befehl chmod +x <Dateiname>. Um die Änderungen wirksam zu machen, müssen Sie abschließend den Befehl grub-mkconfig -o /boot/grub/grub.cfg aufrufen.

Änderungen übernehmen: Sollten Sie an den Einstellungen geschraubt haben, müssen Sie das GRUB 2 wissen lassen.

Einfacher Passwortschutz mit GRUB 2

GRUB 2 unterstützt derzeit einen einfachen Passwortschutz, der sich allerdings nicht verschlüsseln lässt. Wer also Zugriff auf den Rechner und Erfahrung im Umgang mit Linux hat, könnte die Passwörter auf einfache Weise erlangen. Die GRUB-Benutzer können sich allerdings von den Usern des Systems und deren Passwörter unterscheiden. Seien Sie jedoch gewarnt, dass Fehler beim Setzen des Passwortschutzes zu einem nicht mehr startenden System führen kann. Dieses müssten Sie dann zum Beispiel mittels einer Live-CD reparieren.

Ein Muss: Wenn Sie GRUB 2 mit Passwortschutz versehen wollen, ist das Setzen eines Superusers Pflicht.

Wenn Sie dennoch einen Passwortschutz aktivieren wollen, müssen Sie einen Superuser in der Datei /etc/grub.d/00_header definieren. Danach können Sie so viele Anwender anlegen, wie Sie möchten. Fügen Sie einfach in der eben genannten Datei set superusers=“<Anwender1>“ und danach password <Anwender1> <Passwort> ein. Einen weiteren Anwender würden Sie mittels der Zeile password <Anwender2> <Passwort2> anlegen. Der Superuser kann jeden Menüeintrag starten und die GRUB-2-Kommandozeile benutzen.

Wer darf?: In diesem Fall darf nur der Anwender tecchannel diesen Menueintrag starten.

Ist dies erledigt, dann definieren Sie in den entsprechenden Skript-Dateien, welche Einträge Sie welchen Anwendern freigeben. Finden Sie zum Beispiel in der Datei /etc/grub.d/10_linux die Zeile, die mit menuentry beginnt und fügen Sie vor der Klammer --users Anwender1 an. Somit dürfte nur Anwender1 diese Option starten. Sie können theoretisch gezielt steuern, welcher Anwender welchen Menüeintrag starten darf. Sind Sie alleiniger Anwender, können Sie das System allgemein schützen. Eine ausführliche Anleitung zum Thema Passwortschutz und GRUB 2 finden Sie in englischer Sprache bei Ubuntuforums.org.

Die Parole?: Haben Sie den Passwortschutz erfolgreich angelegt, können nur noch berechtige Anwender das System starten.

Schöner Booten unter Zuhilfenahme von Themes

Wenn gewünscht kann man GRUB 2 auf relativ einfache Weise verschönern. Unter Ubuntu 9.10 brauchen Sie zum Beispiel lediglich das Paket grub2-splashimages installieren. Sie finden die Bilder im Verzeichnis /usr/share/images/grub/ wieder. Sollten Sie eine separate Boot- und eine verschlüsselte root-Partition verwenden, können Sie die Bilder immer noch nach /boot/grub/ kopieren.

Hintergrund: Mit diesem Paket haben Sie gleich ein paar nette Bilder zu Auswahl.

Danach editieren Sie die Datei /etc/grub.d/05_debian_theme und finden die Zeile for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do. Ändern Sie diese zum Beispiel in for i in {/boot/grub,/usr/share/images/grub}/Hortensia-1.{png,tga} ; do, begrüßt Sie ihr Startbildschirm mit dem entsprechenden Bild. Selbstverständlich können Sie auch eigene Bilder einbinden.

Eigene Wahl: Hier können Sie das Bild ihrer Wahl einstellen.

Die Farben der Schriftart können Sie etwas weiter unten bei set color_normal und set color_highlight nach eigenem Geschmack abändern.

Farbenspiele: Welche Farben die Schriften in GRUB 2 haben sollen, bestimmen Sie hier.

Die Auflösung des Startbildschirms können Sie in der Datei /etc/default/grub ändern. Es ist der Parameter GRUB_GFXMODE zuständig. Vergessen Sie nach den Änderungen nicht, update-grub aufzurufen. Nur dann übernimmt der Bootloader die neuen Einstellungen.

Größer und kleiner: Auf Wunsch können Sie auch die Bildschirmauflösung ändern.

Fazit

GRUB 2 ist definitiv eine Verbesserung. Gerade weil es ext4, LVM und RAID unterstützt. Aber wie so oft gilt auch hier die Regel „Never Change A Running System“, wenn es nicht zwingend notwendig ist. Ihr Server wird nur wegen des Einsatzes von GRUB 2 nicht schneller laufen.

Anders gestaltet sich die Sache, wenn Sie das Boot-System auf ext4, LVM oder RAID umstellen möchten. Ebenso macht es bei einer Neuinstallation durchaus Sinn, gleich auf GRUB 2 und ext4 zu setzen. Das Dateisystem ext4 bringt durchaus Geschwindigkeits-Vorteile, wie Benchmark-Tests zeigen. Bei einem Update gibt es allerdings einige Dinge zu beachten, die schief gehen können.

Die Linux-Distributoren haben bereits angefangen, GRUB 2 als Standard-Bootloader zu verwenden. Dieser Schritt ist durchaus nachvollziehbar. GRUB 2 ist flexibler einsetzbar als sein Vorgänger und unterstützt zeitgemäße Technologien. Wie anfangs erwähnt, befindet sich GRUB 2 immer noch in einer Beta-Phase. Daher ist vor einem Upgrade ein Blick in die Dokumentation empfehlenswert. Für Administratoren dürfte das Kapitel der derzeit bekannten Fehler besonders interessant sein. (cvi)