Home / LinuxUser / 2010 / 01 / Ladehemmung

Top-Beiträge

Canon treibt mich in den Wahnsinn!
(285 Punkte bei 13 Stimmen)
Und wenn es noch weitere drei werden ...
(214 Punkte bei 7 Stimmen)
Letzte Wartung für Hardy Heron
(179 Punkte bei 5 Stimmen)
Willkommen an Bord
(179 Punkte bei 5 Stimmen)
Spickzettel
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Partner-Links:

PC + Linux Hilfe finden Sie unter pchilfe.org
Shopping
Yatego Deutschlands größte Shoppingmall. 7000 Shops,
2.5 Mio Artikel. Alle Bestseller, Gutscheine und Gewinnspiele.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Bei Freeware bietet Ihnen kostenlose Software Downloads von Programmen.
Günstige Digitalkameras finden Sie im Preisvergleich.

© sxc.hu, L_Avi

Ladehemmung

Neuerungen und Fallstricke in Grub2

Mit Grub2 versuchen die Entwickler viele Probleme des Vorgängers zu beheben. Allerdings ändert sich damit auch die Konfiguration. Wir zeigen, wo's künftig langgeht.

Bootloader helfen, ein Betriebssystem mit allen erforderlichen Optionen zu starten. Der Lilo-Nachfolger Grub macht hier keine Ausnahme: Ob Linux, Windows oder eine der BSD-Varianten – mit den richtigen Kommandos schubsen Sie das gewünschte System in den Arbeitsspeicher, und los geht's.

Wenn alles so gut läuft, warum dann eine Neuauflage? Im Laufe der Zeit haben sich in Grub einige Hilfskonstruktionen angesammelt, mit denen die Entwickler neue Features implementierten. Mit Grub2 [1] erhielt der Bootmanager nun eine klarere Struktur, einen modularen Aufbau und Support für internationale Zeichensätze (für nicht-lateinische Buchstaben im Startmenü) erhalten. Hinzu kommt außerdem ein grafisches Interface für den Startschirm, das sich über ein Theming-System leicht anpassen lässt.

Der Code von Grub2 basiert auf dem mittlerweile eingestellten Pupa [2]. Derzeit befindet sich das Projekt noch ziemlich stark in Bewegung, eine Wiki-Seite [3] informiert über den aktuellen Stand der Dinge. Einiges funktioniert noch nicht, aber alle grundlegenden Routinen haben die Entwickler mittlerweile implementiert.

Etwas holperig verliefen erste Versuche, Grub2 im großen Stil in die freie Wildbahn zu entlassen: Canonical lieferte mit der aktuellen Release 9.10 von Ubuntu (Codename "Karmic Koala") die Version 1.97 Beta 4 von Grub aus [4]. Zahlreiche Anwender berichten in verschiedenen Foren von Schwierigkeiten bis hin zu einem nicht mehr bootbaren System. Allerdings bietet das Wiki von Ubuntu Abhilfe für viele Probleme. Der Kasten "Grub2 in Karmic Koala" fasst die wichtigsten Schritte zusammen.

Zu diesem Schwierigkeiten kam noch ein Problem mit dem Passwortschutz für den Bootloader: Ein Bug erlaubte es, die Sperre bereits aufzuheben, wenn ein Anwender nur den ersten Buchstaben eines Passworts richtig eingab [5]. Diesen Fehler haben die Entwickler allerdings schon behoben und eine neue Version freigegeben. Angesichts solcher gravierenden Lücken empfiehlt es sich aber, die üblichen Kanäle für Sicherheitsaktualisierungen immer gut im Blick zu behalten.

Abbildung 1: Mit Karmic Koala trat die neue Version erstmals im großen Stil in Erscheinung. Dabei kam es zu einigen Pannen, die bei den Usern einen zwiespältigen ersten Eindruck hinterließen.

Grub2 in Karmic Koala

Mit "Karmic Koala" vollzieht Canonical den Wechsel zu Grub2. Das hat bei manchen Systemen zu Problemen geführt, insbesondere bei einem Update von 9.04 ("Jaunty Jackalope") [6]. In diesem Fall installiert das Setup keinen Grub2. Möchten Sie auf dennoch auf die neuere Version wechseln, öffnen Sie ein Terminal und geben den folgenden Befehl ein:

$ sudo apt-get install grub2

Anschließend installieren Sie das Paket grub-pc, das als Abhängigkeit grub-common nach sich zieht. Damit haben Sie die notwendigen Dateien auf dem Rechner. Beim Installieren öffnet sich ein Dialog, der darauf hinweist, dass Grub Legacy (also die Vorversion) auf dem Rechner installiert sei. Sie bestätigen mit OK und wählen im folgenden Dialog mit Yes die Option, dem derzeitigen Menü einen zusätzlichen Eintrag hinzuzufügen, über den Sie Grub2 anspringen und testen können.

Danach sucht die Konfigurationsroutine noch in der vorhandenen Grub-Konfiguration nach möglichen Startoptionen und zeigt diese zum Bearbeiten an. Anschließend endet das Setup. Nun befinden sich beide Bootloader parallel auf dem System, Sie sehen nach einem Neustart aber noch das alte Menü mit dem zusätzlichen Eintrag für Grub2.

Wählen Sie diesen an und starten Sie aus dem Grub2-Menü dann nacheinander alle Systeme. Klappt das, öffnen Sie wieder ein Terminal und geben dort den folgenden Befehl ein:

$ sudo upgrade-from-grub-legacy

Das System fragt nun nach, von welchem Gerät Sie den Rechner booten möchten. Wählen Sie hier unbedingt mit der Leertaste das korrekte Device aus – anderenfalls startet das System beim nächsten Mal mit der Meldung Error 15 (das Start-Device wurde nicht gefunden).

Haben Sie bereits ein System, bei dessen Start die besagte Meldung Error 15 erscheint, booten Sie von einer Live-CD, mounten die Root-Partition nach /mnt und binden mit den folgenden Befehlen das Dev-Filesystem ein und wechseln in ein Change-Root-System:

$ sudo mount --bind /dev /mnt/dev
$ sudo chroot /mnt

Anschließend rufen Sie mit dpkg-reconfigure grub-pc noch einmal die Konfiguration von Grub2 auf. Haben Sie alles richtig ausgewählt, verlassen Sie mit [Strg]+[D] die Chroot-Umgebung, lösen das gemountete Dateisystem und starten den Rechner neu. Nun sollte alles funktionieren.

Neue Struktur

Wer früher das Startmenü auf einem Rechner durch einen zusätzlichen Eintrag erweitern oder einen bestehenden Abwandeln wollte, der lud dazu die Datei /boot/grub/menu.lst in einen Editor und passte sie seinen Wünschen gemäß an. Damit macht Grub2 Schluss.

Zwar findet sich nach der Installation des Bootloaders eine Datei grub.cfg im Verzeichnis /boot/grub. Sie enthält die Konfiguration, die Sie durch den Aufruf von update-grub erstellen. Manuelle Änderungen an dieser Datei sehen die Entwickler aber nicht vor.

Generell sieht Grub2 vor, dass vieles automatisiert passiert. So suchen Hilfsskripte die Partitionen des Rechners nach bekannten Betriebssystemen ab und erstellen für diese ohne Ihr Zutun die notwendigen Einträge. In vielen Fällen reicht das völlig aus – etwa für ein Dual-Boot-System, auf dem sich Linux und Windows befinden.

Mit der neuen Version hat sich auch die Struktur der Dateien und Verzeichnisse geändert (siehe Tabelle "Dateien und Verzeichnisse"). Auf einem Ubuntu/Debian-System legen Sie unter /etc/grub/default das generelle Verhalten der Software fest. So schalten Sie hier bei Bedarf über die Option GRUB_DISABLE_LINUX_UUID=true die Funktion aus, die beim Start die Angabe der zu bootenden Partition in Form einer UUID erwartet. Stattdessen arbeiten Sie mit den bekannten Gerätenamen.

/boot/grub/grub.cfg Zentrale, automatisch erstellte Konfigurationsdatei von Grub2
/etc/default/grub Generelle Optionen (keine Menü-Einträge)
/etc/grub.d Verzeichnis mit den Hilfsskripten zum Erkennen der Partitionen und der darauf befindlichen Betriebssysteme. Hier erstellen Sie zusätzliche Skripte, mit denen Sie bei Bedarf eigene Menü-Einträge hinzufügen.

Für den Endanwender spielen die meisten Optionen eine eher nachgelagerte Rolle. Optimalerweise haben die Distributoren die Funktion aktiviert, mit der Sie über das Halten von [Umschalt] das Menü auf den Schirm holen, obwohl Sie es normalerweise nicht zu Gesicht bekommen. Danach haben Sie die Möglichkeit, im Falle eines Fehlers manuell in die Konfiguration einzugreifen.

Bleibt das Hinzufügen von Menü-Einträgen: Möchten Sie in einem Bootmenü nachträglich installierte Systeme unterbringen, die die Automatik nicht erkennt oder die zum Start spezielle Parameter benötigen, so müssen Sie dazu künftig ein kleines Skript schreiben. Dazu gilt es zu verstehen, wie Grub2 arbeitet: Beim Start führt es alle Skripte aus, die sich in /etc/grub.d/ befinden und von Ihnen mittels sudo chmod u+x Skript mit dem entsprechenden Bit versehen wurden. In der Standardeinstellung haben die System-Skripte bereits die richtigen Rechte.

Ziffern im Dateinamen sorgen für die richtige Reihenfolge beim Ausführen. Listing 1 zeigt den Inhalt eines individuellen Startskriptes. Damit booten Sie die System Rescue CD von der Festplatte. Es handelt sich um ein Here-Dokument, mit dem Sie (ähnlich wie mit Echo) eine Zeichenkette ausgeben oder per Umleitung in eine Datei schreiben.

echo "Angepasster Eintrag für den Start einer Rettungs-CD als Image" >&2
cat << EOF
menuentry "Starte System Rescue CD von der Festplatte" {
        set root=(hd0,10)
        linux   /sysrcd/rescuecd subdir=sysrcd setkmap=de
        initrd  /sysrcd/initram.igz
}
EOF

Mit dem Befehl set root=(hd0,10) sorgen Sie dafür, dass die zehnte Partition auf der ersten Platte als Root-Dateisystem fungiert. Das Schema zum Nummerieren der Partitionen startet in der neuen Version von Grub bei 1, anstatt wie bei Vorversion bei 0. Über die Kommandos linux und initrd setzen Sie die Pfade zum Kernel und der Initial RAM Disk, wobei der Kernel noch zwei Parameter mitbekommt. Bei Grub Legacy, der Vorversion, gab es ein reserviertes Wort root. Das haben die Entwickler nun so abgeändert, dass es sich dabei um eine Variable handelt. Die vollständige Liste der Grub2-Kommandos finden Sie im Netz [7].

Optisch aufgepeppt

Beim Booten präsentiert sich das Startmenü normalerweise etwas dröge im Zwei-Farben-Look. Mit ein paar einfachen Handgriffen bringen Sie etwas Farbe ins Spiel. Grub2 akzeptiert als Hintergrund für das Startmenü Bilder im PNG- sowie TGA-Format. Diese kopieren Sie unter Ubuntu in den Ordner /usr/share/images/grub/. Vorpaketierte Bilder landen mittels sudo apt-get install grub2-splashimages auf der Festplatte.

Nun teilen Sie dem System noch mit, welches von den Bildern Sie verwenden möchten. Dazu nutzen Sie im Ordner /etc/grub.d/ eine andere Startdatei, die bei Ubuntu/Debian-Systemen 05_debian_theme heißt. Hier suchen Sie die Zeile 16, die Sie auch in Listing 2 sehen. Hier passen Sie den Pfad gemäß dem System (siehe oben) und den Dateinamen gemäß Ihren Vorstellungen an. Vergessen Sie anschließend nicht, den Befehl update-grub auszuführen, um die Änderungen anzuwenden. Das Ergebnis sehen Sie in Abbildung 2.

Abbildung 2: Mit wenigen Handgriffen versehen Sie das Bootmenü mit einem Hintergrundbild.

#!/bin/bash -e
source /usr/lib/grub/grub-mkconfig_lib
set_mono_theme()
{
  cat << EOF
set menu_color_normal=white/black
set menu_color_highlight=black/white
EOF
}
# check for usable backgrounds
use_bg=false
if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then
  for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
    if is_path_readable_by_grub $i ; then
      bg=$i
Kommentare
Einem Freund empfehlen    Druckansicht

Wertung: 0 Punkte (0 Stimmen)

Infos zur Publikation

Dieser Artikel stammt aus der Zeitschrift LinuxUser.

Aktuelles Cover

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Für weitere Informationen zum Heft klicken Sie hier.

Möchten Sie ein Probeabo (drei Ausgaben für 3 Euro) oder ein Jahresabo (ab EUR 56,10) bestellen, klicken Sie hier.

Tipp der Woche

MPlayer mit grafischem DVD-Menü
Marcel Hilzinger, 08.02.2010 11:45, 0 Kommentare

Wer zu den Linux-Früheinsteigern gehört, wird sich mit Sicherheit noch an die Tage erinnern, an denen die DVD-Wiedergabe mit Menü-Support unter Linux nur mit dem Player

Aktuelle Fragen

Wo ist mein Netmanager geblieben?
Matthias Ohletz, 08.02.2010 21:55, 1 Antworten
Hallo allerseits, bin noch ein absolutes Suse-Greenhorn. Ich habe die Version 11.2 auf meinem No...
DVD aus TS von Kathrein erstellen - KUbuntu 9.10 - wie?
Hendrik Timmermann, 08.02.2010 18:10, 3 Antworten
Hallo, ich habe einen Kathi mit Netzanschluss und kann mir so vom Kathi die auf Platte aufgeno...
USB Bluetooth-Adapter
Wimpy *, 07.02.2010 10:27, 2 Antworten
Ich wollte Bilder vom Handy via Bluetooth auf den PC laden und habe mir dazu einen USB-Bluetooth-...
Blackberry Bold 9700 als UMTS-Modem
Michael Pfaffe, 06.02.2010 10:18, 3 Antworten
Liebe Linux-Gemeinde, ich möchte meine Frage noch einmal wiederholen, vielleicht kann mir jetz...
DVD 9 aus dem Heft LINUXuser
Wolfgang Schiewart, 03.02.2010 14:19, 3 Antworten
Bin ein Suse-Frischling. Wenn ich die DVD mit meinem Suse11.2-Laptop öffne, erscheint Dolphin und...