Open Source im professionellen Einsatz
Linux-Magazin Online Artikel/

Die neue Version des Boot-Managers Grub2 auf Ubuntu 9.10

Schöner Booten?

06.11.2009

Das neue Ubuntu 9.10 verwendet zum Booten standardmäßig die Grub-Version 2, die dem Anwender einige Änderungen beschert. Dieser Artikel gibt einen Crash-Kurs.

808

Schon seit langem verwenden die meisten Linux-Distributionen zum Booten den Boot-Manager Grub, der dem Benutzer ein Auswahlmenü anzeigt und dann den gewünschten Kernel bootet. Bisher war das Grub 1, das verwirrenderweise oft eine Null in der Versionsnummer führte. Als erste Distribution hat nun Ubuntu 9.10 "Karmic Koala" auf das neue Grub 2 (das ist 1.97) umgestellt.

Für den Anwender hat sich dabei durchaus einiges geändert: Grub ist nun viel stärker modularisiert, sowohl was seine Funktionalität als auch was die Konfiguration angeht. Ein Blick in das Verzeichnis »/boot/grub« zeigt mehr als 150 Dateien, die Grub zum Beispiel mit der Fähigkeit ausstatten die verschiedenen Dateisysteme zu lesen, mit RAID und LVM umzugehen und so weiter.

Dort findet sich ebenfalls die neue Konfigurationsdatei »grub.cfg« , die die vom alten Grub bekannte »menu.lst« ablöst. Nicht nur heißt die Datei anders, auch die Syntax hat sich geändert. So stehen die einzelnen Einträge für die zu bootenden Systeme nun nicht mehr einfach untereinander, sondern sind von geschweiften Klammern eingeschlossen:

menuentry "Ubuntu, Linux 2.6.31-14-generic" {
        set quiet=1
        insmod ext2
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 4d8167db-a88c-4209-9f5c-27fda684f112
        linux   /boot/vmlinuz-2.6.31-14-generic root=UUID=4d8167db-a88c-4209-9f5c-27fda684f112 ro quiet splash
        initrd  /boot/initrd.img-2.6.31-14-generic
}

Der Eintrag enthält beispielsweise auch die Zeile »insmod ext2« zum Laden des nötigen Dateisystemmoduls. Eine weitere wichtige Änderung ist hier zu sehen: Die Grub-Programmierer haben die Nummerierung der Partitionen – aber nicht die der Festplatten – geändert. Die erste Partition der ersten Platte heißt also nun »hd0,1« und nicht wie vorher »hd0,0« .

Editieren soll der Anwender aber nicht die Datei »grub.cfg« selbst, sondern eine Reihe von Konfigurationsdateien, die in »/etc/grub.d« liegen. Ähnlich wie die Init-Skripte eines Linux-System beginnen deren Namen mit einer Nummer, in deren Reihenfolge sie abgearbeitet werden:

$ ls -1 /etc/grub.d
00_header
05_debian_theme
10_linux
20_memtest86+

Das sind die Standardeinträge auf dem neuen Ubuntu 9.10. Anhand der Namen kann man schon relativ leicht erraten, wofür die einzelnen Dateien stehen. Wichtig ist zu beachten, dass es sich hierbei um Shellskripte handelt, die ausführbar sein und eben der Syntax von Bash-Skripten genügen müssen. Mit dem Befehl »grub-mkconfig« erzeugt der Anwender schließlich aus diesen Dateien die »grub.cfg« . Per Default gibt das Kommando das Ergebnis einfach im Terminal aus. Der folgende Aufruf schreibt die Konfiguration in die passende Datei:

$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg …
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found linux image: /boot/vmlinuz-2.6.31-11-generic
Found initrd image: /boot/initrd.img-2.6.31-11-generic
Found memtest86+ image: /boot/memtest86+.bin
done

Bei der Installation des Bootloaders im Master Boot Record oder in einer Partition hat sich nichts geändert, das geht weiterhin mit »sudo grub-install /dev/sda« .

Fremde Betriebssysteme findet Grub zum größten Teil selbst, sodass der Anwender nicht händisch eingreifen muss. Problematisch wird es nur, wenn Grub das Dateisystem nicht lesen kann, wie beispielsweise Solaris' ZFS. In diesem Fall legt man in »/etc/grub.d« eine weitere Datei an, zum Beispiel »40_custom« :

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Solaris 10" {
    set root=(hd1,1)
    chainloader +1
}

Das klappt natürlich nur, wenn Solaris seinerseits in der eigenen Partition einen Bootloader installiert hat.

Beim Booten selbst bietet Grub nun andere Möglichkeiten zum Editieren als den zeilenweisen Modus der Version 1. Nun gibt es einen richtigen Editor mit Emacs-Bindings:

Ganz unterschiedliche Betriebssysteme friedlich im Grub2-Bootmenü vereint. Eine manuelle Konfiguration war dazu nicht nötig. Ganz fehlerfrei war die Erkennung dennoch nicht: Auf dem System gibt es tatsächlich nur einmal Windows XP. [In den Kommentaren wurden wir darauf hingewiesen, dass es sich hierbei um die Recovery-Partition des OEM-Systems handelt.]

Insgesamt stellt sich die Frage, ob Grub 2 gegenüber seinem Vorgänger einen Fortschritt bringt. Für den Anwender bedeutet es zunächst einmal nur, sich wieder umstellen zu müssen. Andererseits bleibt ihm kaum eine Alternative dazu, wenn in Zukunft immer mehr Distributionen auf Grub 2 umstellen.

Zum Abschluss noch ein Wort der Warnung: Wie immer bei der Arbeit mit Bootloadern sollte man sich genau überlegen, was man macht und sicherheitshalber lieber noch einmal nachlesen. Zu schnell findet man sich sonst vor einem System wieder, das nicht mehr starten will. In diesem Fall hilft meist nur noch das Booten mit einer Live-CD oder einem Rettungssystem wie der Super Grub Disk.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Crash-Kurs zu Grub 2

    Ubuntu 9.10 Karmic Koala bringt neben anderen Neuerungen als erste Distribution überhaupt auch den Bootloader Grub 2 mit.

  • Trusted Boot

    Gut ausgestattete Mainboards bringen meist Trusted-Computing-Chips mit, die Benutzer und Betriebssysteme aber nur selten nutzen. Der Linux-Kernel beherrscht die Technik und ermöglicht mit Trusted Grub eine weitreichende Vertrauenskette – zumindest theoretisch.

  • Grub 2.00 hält Einzug in Boot-Hilfe

    Das Live-System Super Grub Disk, das sich zur Wiederherstellung kaputter Bootloader eignet, verwendet in der aktuellen Betaversion die neueste Grub-Release.

  • Paketmanager

    Manuelle Software-Updates begleiten Admins durch den Tag. Dabei versprechen die Paketmanager diese Arbeit zu automatisieren. Der Artikel vergleicht die großen Distributionen und testet, wie viel Reinheit die mit den Systemen gelieferten Tools wirklich bringen – und welche Gefahren dabei entstehen.

  • Super Grub Disk bringt Ext-4-Unterstützung

    Super Grub Disk (SGD), eine Live-Disk zur Behebung von Bootproblemen, ist in Version 0.9795 erhältlich. In dieser Release kann das Tool auch Ext-4-Partitionen lesen.

comments powered by Disqus

Ausgabe 08/2014

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook