Linux (allgemein)

ID #1378 Grub 2 - Ein erster Einblick

Den Umstieg des Boot-Managers von Lilo auf Grub haben inzwischen die meisten Linux-Distributionen vollzogen. Und schon steht der nächste Boot-Manager der Zukunft in den Startlöchern: Grub 2.
Da er bereits in der neuen Ubuntu Version 9.10 (Karmic Koala) als standard Boot-Manager mitgeliefert wird, ist es Zeit mal einen Blick darauf zu werfen.

Aufbau

Grub 2 ist stark modifiziert worden. Aber nur zu seinem Vorteil. Denn die große Modularisierung lässt mehr Spielraum zu. So unterstützt Grub 2 nun direkt (Software-)RAID und LVM-Partitionen, beliebige weitere Dateisysteme und einige eher exotische Features.

Der erste Blick ins Verzeichnis <code>/boot/grub/code> läßt einen schnell verzweifeln. Dazu besteht aber kein Grund. Denn die meisten Dateien braucht man nicht oder muss sie zumindest nicht beachten.
Die Datei <code>menu.lstcode> findet sich nicht mehr aber dafür eine <code>grub.cfgcode>. Sie ist nicht nur umbenannt, sondern hat auch ihre Syntax verändert. (Allerdings leider nicht in eine XML-Schreibweise.):

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
}

Hier sehen wir bereits, dass das Modul für das Dateisystem geladen werden soll: <code>insmod ext2code>
Erst auf den zweiten Blick fällt das Auge auf <code>set root=(hd0,1)code>.
Dies ist nicht wie gewohnt die zweite Partition auf der ersten Platte, sondern die Erste.

Konfiguration

Letztendlich muss man als Anwender nicht ins Verzeichnis <code>/boot/grub/code> schauen. Denn Grub 2 wird vollständig in <code>/etc/grub.d/code> konfiguriert. Hier finden sich Shell-Scripte welche über <code>grub-mkconfigcode> aufgerufen werden und ihren Teil zur <code>grub.cfgcode> hinzufügen.
Bei Ubuntu 9.10 enthält dieses Verzeichnis folgende Dateien:

00_header
05_debian_theme
10_linux
20_memtest86+

Es ist nicht schwer zu erraten was sich in der jeweiligen Datei versteckt.

Der Aufruf von <code>grub-mkconfigcode> ist leider nicht ganz so trivial:

grub-mkconfig -o /boot/grub/grub.cfg

(Wenn man nicht im Administrations-Terminal ist, sollte noch ein <code>sudocode> davor.)

Erfreulicherweise hat sich am MBR-Installer nichts geändert:

grub-install /dev/sda

Damit installiert man den Master-Boot-Record von Grub 2 auf der ersten Festplatte.

Fazit

Grub 2 bietet deutlich mehr Features.
Auch ist die Erkennung von fremden Betriebssystemen verbessert worden.
Doch leider ist die Konfigurations-Methode für viele Admins ein Rückschritt. Denn es ist wesentlich umständlicher/schwerer den Konfigurator <code>grub-mkconfigcode> innerhalb der richtigen Umgebung aufzurufen, wenn man gerade in eine Recovery-System arbeitet bzw. in einem anderen OS gebootet hat.

Links

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2009-11-24 09:34, zuletzt 2009-11-24 09:43     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

Rubriken zu diesem Artikel
überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.5 von 5 (2 Bewertungen)

Artikel kommentieren

Kommentar von greg (2010-03-22 01:00:50):
Hallo,
du beschreibst in dem Artikel: http://www.huschi.net/2_215_de-grub-fallback-strategie.html eine Fallback-Strategie für Grub.
Geht das auch mit Grub2?

mfg

Kommentar von huschi (2010-03-23 09:46:55):
Antwort an Greg: JA.

huschi.

Kommentar von greg (2010-03-26 03:25:33):
Frage an huschi: Und wie?