0730: Globales Bootmenü einrichten
In diesem Modul wird Ihnen gezeigt, wie Sie Ihr globales Bootmenü modifizieren können.
Das verwendete Bootmenü heißt grub.
1. Die Datei "menu.lst"
Die wesentliche Konfigurationsdatei, um die es hier geht, heißt
"/boot/grub/menu.lst". Sie bestimmt das Aussehen des
kompletten Bootmenüs und die Bedeutung der einzelnen Menüpunkte.
Es geht jetzt darum, die grub-Konfigurationsdatei des Startrampensystems
anzupassen, welches sich aktuell im Verzeichnis "0002_startrampensystem" befindet.
Öffnen Sie dazu die Datei "0002_startrampensystem/boot/grub/menu.lst"
in einem Editor:
nedit 0002_startrampensystem/boot/grub/menu.lst
Interessant ist jetzt der Inhalt dieser Datei. Alle Zeilen, die mit einem "#" beginnen,
sind Kommentarzeilen und werden entsprechend von grub ignoriert.
Es ist eine gute Idee, wenn Sie zuerst die Datei etwas aufräumen. Wenn Sie den Blick für das
Wesentliche freihaben möchten, dann löschen Sie alle Zeilen, die mit einem Kommentar beginnen,
heraus. Die nach dieser Aktion übrigbleibenden ca 10 Prozent der ursprünglichen
Datei passen jetzt locker auf eine einzige Bildschirmseite.
2. Das Aussehen des Bootmenüs
Die folgenden drei Parameter bestimmen das Aussehen und Verhalten Ihres Bootmenüs:
-
default: Die Zahl sagt aus, welcher Menüpunkt nach dem Booten des Rechners
zur Auswahl vorselektiert sein soll. Die Zählung beginnt bei 0. Beispiel:
default 3
In dem Fall ist der vierte (!) Menüpunkt vorselektiert.
-
timeout: Wenn nach dem Booten des Rechners die Tastatur nicht berührt wird, dann sagt
die Zahl aus, nach wie vielen Sekunden der vorselektierte Menüpunkt automatisch von
grub ausgewählt wird. Das entsprechende Betriebssystem wird dann gestartet.
Beispiel:
timeout 60
Nach 60 Sekunden den zweiten Menüpunkt automatisch auswählen.
-
color normal [highlight]: Dieser Befehl bestimmt die Farben des Bootmenüs.
Die Farben werden mit Hilfe von symbolischen Farbbezeichnungen angegeben.
Also so:
"color foreground/background foreground/background".
Anstelle von "background" können folgende Farben verwendet werden:
black, blue, green, cyan, red, magenta, brown, light-gray.
Anstelle von "foreground" können zusätzlich auch noch folgende Farben verwendet werden:
dark-gray, light-blue, light-green, light-cyan, light-red, light-magenta, yellow, white
Das Farbenpaar für "normal" bestimmt das Aussehen aller
Menüpunkte, die im Moment nicht selektiert sind. Das Farbenpaar für
"highlight" bestimmt das Aussehen des aktuell selektierten Menüpunktes.
Wird kein Farbenpaar für "highlight" angegeben, dann wird der aktuell
selektierte Menüpunkt invertiert dargestellt.
Beispiel:
color yellow/green white/blue
Das Menü wird mit gelber Schrift auf grünem Hintergrund dargestellt.
Der aktuell selektierte Menüpunkt wird mit weißer Schrift auf blauem Hintergrund dargestellt.
3. Die einzelnen Menüpunkte
Am Ende der Datei werden die einzelnen Menüpunkte definiert. Sie müssten dort
jetzt vier Menüpunkte zu stehen haben. Der erste und der dritte Menüpunkt starten Ihr
Startrampen-Linux im Normal-Modus, der zweite und vierte im Rettungs-Modus.
Die ersten beiden Menüpunkte benutzen einen 686er-Bigmem-Kernel, die anderen
beiden benutzen einen einfachen 686er-Kernel.
Nach einer kleinen Umformatierung (TABs raus!) sehen sie so aus:
title Debian GNU/Linux, kernel 2.6.26-2-686-bigmem
root (hd0,6)
kernel /boot/vmlinuz-2.6.26-2-686-bigmem root=/dev/sda7 ro
initrd /boot/initrd.img-2.6.26-2-686-bigmem
title Debian GNU/Linux, kernel 2.6.26-2-686-bigmem (single-user mode)
root (hd0,6)
kernel /boot/vmlinuz-2.6.26-2-686-bigmem root=/dev/sda7 ro single
initrd /boot/initrd.img-2.6.26-2-686-bigmem
title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,6)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda7 ro
initrd /boot/initrd.img-2.6.26-2-686
title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root (hd0,6)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda7 ro single
initrd /boot/initrd.img-2.6.26-2-686
Wenn auf einem Rechner mehrere Betriebssysteme laufen, dann ist es am pflegeleichtesten,
vom globalen Bootmenü aus einfach nur die lokalen Bootmenüs der anderen Systeme
anzuspringen.
Würden sich auf den Partitionen "/dev/sda5" und "/dev/sda6" nun die
zwei Betriebssysteme "mein Linux 1" und "mein Linux 2" befinden, dann
könnten Sie die folgenden zwei Einträge in die Konfigurationsdatei hinzufügen, um
diese beiden Systeme vom globalen Bootmenü aus zu erreichen:
title mein Linux 1
root (hd0,4)
chainloader +1
title mein Linux 2
root (hd0,5)
chainloader +1
Wie Sie sehen, ist das Prinzip eigentlich ganz einfach. Die einzelnen Befehle
haben die folgende Bedeutung:
-
title: Der Text nach dem "title"-Befehl ist die Bezeichnung des
Menüpunktes im Menü. Wenn Sie also "mein Linux 1" schreiben,
dann heißt der Menüpunkt im Bootmenü genau so.
-
root: Der erste Wert in der Klammer (hd0) sagt aus, auf welchem Datenträger sich
die zu bootende Partition befindet. Mit "hd0" meinen Sie die erste Festplatte,
mit "hd1" die zweite, mit "hd2" die dritte und so weiter.
Sollten Sie noch ein antiquiertes Diskettenlauferk besitzen, dann wäre "fd0"
das erste Diskettenlaufwerk im System.
Der zweite Wert beschreibt die Partition auf dem Datenträger. Der Wert 0 steht
für die erste Partition, 1 für die zweite, 5 für die sechste und so weiter.
Wenn dort also "root (hd0,4)" steht, dann ist damit "/dev/sda5" gemeint.
Sie können den zweiten Wert auch weglassen. Fehlt er, dann soll nicht vom Bootsektor
einer Partition, sondern vom Masterbootsektor des Datenträgers (also vom MBR)
gebootet werden. Also: Wenn Sie "root (hd1)" schreiben, dann meinen
Sie "/dev/sdb".
Das Weglassen des zweiten Wertes ist ganz praktisch, wenn Sie ein lokales Bootmenü
konfigurieren. Dort ist es empfehlenswert, einen Menüpunkt einzubauen, der zum
globalen Bootmenü zurückspringt. Das ist nützlich, wenn Sie beim
Booten des Rechners aus Versehen das falsche System ausgewählt haben. Durch das
"wieder hoch springen" verhindern Sie einen Neustart des Rechners und Sie
sparen dadurch Zeit (ganze 15 Sekunden bei moderner Hardware) und Nerven.
-
chainloader +1: Mit diesem Befehl sagen Sie "grub", dass ein anderer
Bootsektor (einer anderen Partition oder der des gesamten Datenträgers, also der
MBR) aufgerufen werden soll. Meistens springen Sie von hier aus in ein anderes
Bootmenü, etwa in das von Windows XP (falls bei Ihnen noch eins läuft) oder
in das "grub" oder "lilo" eines anderen Linux-Systems.
Wenn Sie Ihr Menü mit weiteren nützlichen Eigenschaften versehen möchten, dann können Ihnen
vielleicht auch nachfolgend beschriebenene Menüpunktarten hilfreich sein.
So könnte in einem lokalen Bootmenü ein Eintrag aussehen, der ins globale Bootmenü
zurückspringt, ohne dass ein Rechnerneustart nötig ist:
title zurueck zum globalen Bootmenue
root (hd0)
chainloader +1
Mit einem solchen Trenn-Eintrag können Sie die Einträge in einem Bootmenü gruppieren:
title --------------------
root
Sie sehen also, der Aufbau und die Pflege eines globalen Bootmenüs ist eine sehr einfache
Sache, wenn die Details irgendwo dokumentiert sind. Viel Spaß damit! :-)
4. Globales Musterbootmenü
Wenn Sie Ihren Rechner so einrichten wollen, wie ich es hier generell empfehle,
dann sollte Ihr globales Bootmenü wie folgt aussehen:
default 3
timeout 60
color yellow/green white/blue
title sda1: Installationspartition
root (hd0,0)
chainloader +1
title sda2 - startrampe: Debian 5.0.4
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686-bigmem root=/dev/sda2 ro
initrd /boot/initrd.img-2.6.26-2-686-bigmem
savedefault
title ----------------------------------------
root
title sda5 - os1: Debian 5.0.4 zum Arbeiten
root (hd0,4)
chainloader +1
title sda6 - os2: Debian Etch R0
root (hd0,5)
chainloader +1
title sda7 - os3: Template-Baustelle
root (hd0,6)
chainloader +1
Erklärung:
-
default 3: Damit wird erreicht, dass immer das Arbeitssystem (das wichtigste
System auf dem Rechner) vorselektiert ist. Die Zählung der Menüpunkte beginnt bei 0.
-
timeout 60: Wird 60 Sekunden lang keine Taste auf der Tastatur gedrückt, dann
wird das lokale Bootmenü des vorselektierten Systems betreten. Jenes Menü könnte dann
so konfiguriert sein, dass nach 5 Sekunden Nichtstun das globale Bootmenü erneut
aufgesucht wird. Der Vorteil: Es wird kein System gebootet, wenn Sie es nicht
booten möchten!
-
color yellow/green white/blue: Das Menü erscheint mit gelber Schrift auf grünem
Hintergrund. Der aktuell ausgewählte Menüpunkt erscheint mit weißer Schrift auf blauem
Hintergrund.
-
title sda1: Hiermit ist die Installationspartition erreichbar, mit der die
Installation eines neuen Betriebssystems gestartet werden kann.
-
title sda2 - startrampe: Hiermit kann das Startrampensystem gebootet werden.
Dabei gibt es Folgendes zu beachten:
-
Hier müssen Sie den ersten der 4 Einträge wiederverwenden, der sich ursprünglich
in der Datei befand (siehe oben).
-
Aus "root (hd0,6)" machen Sie bitte "root (hd0,1)", denn das
ist die Partition, in der sich das Startrampensystem künftig einmal befinden soll.
-
Aus dem gleichen Grund machen Sie aus dem "/dev/sda7" ein "/dev/sda2".
-
Für ein Startrampensystem reicht es völlig aus, nur den ersten der 4 Originaleinträge
wiederzuverwenden. Sie brauchen dort weder einfache 686er-Kernel noch brauchen Sie
dort einen Rettungs-Modus.
-
title ----------------------------------------: Hiermit wird nichts gebootet,
sondern das aktuelle Bootmenü bleibt aktiv. Dieser Eintrag ist ein Trenner und soll
optisch zeigen, dass die oberen 2 Menüpunkte der einen Kategorie angehören und die
unteren 3 Menüpunkte einer anderen Kategorie.
-
title sda5 - os1: Hiermit wird das Arbeitssystem gebootet.
-
title sda6 - os2: Hiermit wird ein Testsystem gebootet.
-
title sda7 - os3: Hiermit wird die Template-Baustelle gebootet.
|