Starthilfe

Teil 2: Windows-Multiboot mit GRUB

Eine Besonderheit von GRUB ist, dass er seinen gesamten Funktionsumfang nur dann voll zur Geltung bringen kann, wenn er in den Master Boot Record der Festplatte installiert wird. Windows und DOS schreiben in den MBR lediglich einen Standard-Bootrecord, der das BIOS anweist, eine in der Partitionstabelle aktiv markierte Partition zu suchen und deren Bootloader zu starten. Da GRUB nicht seinen gesamten Code auf 446 Bytes unterbringen kann, schreibt er seine zweite Stufe in die Installationspartition. Sie sollten dies im Hinterkopf behalten, wenn Sie öfters Partitionen verschieben, löschen und neu anlegen. Verschieben Sie die Partition, auf der GRUB installiert wurde, bootet der PC nicht mehr von Festplatte.

Windows-Multiboot mit GRUB

© Archiv

Der einfachste Weg, die Konfiguration von GRUB kennen zu lernen, ist Ubuntu Linux oder openSUSE auf einen gewöhnlichen PC mit einer einzigen IDE- oder SATA-Festplatte zu installieren und während der Installation das Überschreiben des Master-Boot-Records zu erlauben. Der Installer erstellt dann eine Konfigurationsdatei /boot/grub/menu.lst und eine weitere Datei /boot/grub/device.map, in der die Zuordnung der Festplatten steht.

Auf dem Testrechner mit drei primären Partitionen (1. NTFS, 2. LinuxSwap, 3. Linux Root) erhielten wir dabei folgende /boot/grub/menu.lst-Kommentare. Die deutsche Tastaturbelegung im Boot-Editor haben wir entfernt.

default 0 
timeout 10 
title Ubuntu, Kernel 2.6.17 
kernel (hd0,2)/boot/vmlinuz root=/dev/sda3 ro 
initrd (hd0,2)/boot/initrd.img 
boot 
title Windows Vista 
root (hd0,0) 
makeactive 
chainloader +1 
boot

Die dazu gehörige /boot/grub/device.map enthielt nur einen Eintrag:

(hd0) /dev/sda

GRUB beginnt die Zählung von Partitionen und Festplatten bei Null, (hd0) bezeichnet die erste vom BIOS erkannte Festplatte - in der Regel die Platte, die in der Boot-Reihenfolge an erster Stelle steht. (hd0,0) steht demnach für die erste Partition der ersten Festplatte, hier die NTFS-Partition mit einer Vista-Installation.

Der erste Eintrag steht für die Linux-Installation. Kernel und Initrd werden direkt über ihren Pfad auf der dritten Partition auf der ersten Festplatte aufgerufen. Das Schlüsselwort boot schließt den Eintrag ab. Es folgt Windows auf der ersten Partition der ersten Festplatte. Da Vista einen eigenen Loader am Anfang seiner Partition mitbringt, wird dieser über das Schlüsselwort chainloader aufgerufen, makeactive markiert die Boot-Partition als aktiv.

GRUB installieren

Aktuelle Linux-Distributionen erledigen die Installation von GRUB automatisch. Hat eine erneute Windows-Installation den Master- Bootrecord überschrieben, werden Sie GRUB jedoch neu installieren müssen - ebenso, wenn Sie GRUB dazu nutzen, verschiedene Windows-Installationen komfortabel zu booten, ohne dass eine Linux-Installation auf dem Rechner vorhanden ist. Dies geht am komfortabelsten mit einer Linux-Live-CD wie Knoppix oder Kanotix. Starten Sie von dieser und mounten Sie die Partition, auf der Sie GRUB installieren wollen. Öffnen Sie anschließend eine Root-Shell und führen Sie den GRUB-Installer aus:

Windows-Multiboot mit GRUB

© Archiv

grub-install --root-directory=/media/hda3 --recheck /dev/hda

Dieser Befehl installiert GRUB in den Master-Bootrecord der ersten IDE-Festplatte und die zweite Stufe auf die dritte Partition dieser Platte.

Der Parameter --recheck prüft die Zuordnung zwischen Linux-Laufwerksbezeichnungen und gibt sie am Ende aus. Wird die Boot-Platte nicht korrekt als (hd0) identifiziert, was häufig der Fall ist, wenn SATA- und IDE-Geräte in einem Rechner eingebaut sind, müssen Sie die Datei/boot/grub/device. map anpassen und den Befehl erneut ohne --recheck ausführen. Enthielt die Partition, auf der GRUB installiert wurde, noch keine /boot/grub/menu.lst, muss diese erstellt werden, um beim Systemstart nicht in der Eingabeaufforderung

grub>

zu landen und Bootpartition, Kernel und Initrd oder Chainloader von Hand eintippen zu müssen.

Profi-Bootloader

GRUB bringt einige Features mit, die den Bootloader für Firmenumgebungen und Server attraktiv machen. Eines davon ist die Möglichkeit, bestimmte Boot-Einträge durch ein Passwort abzusichern. So kann das Abändern von Menüeinträgen genauso verhindert werden wie die Anwahl gesperrter Optionen. Dies erlaubt es, Rettungssysteme so abzusichern, dass sie nur der Administrator anwählen kann. Erstellen Sie den Passwort-Hash unter Linux (oder unter Windows in einer Cygwin-Umgebung) mit dem Befehl

openssl passwd -1

Der ausgegebene Passwort-Hash wird vor die Menüeinträge in die Konfigurationsdatei eingegeben. Der Befehl lock sperrt einen Menüeintrag schließlich ganz, andere Menüeinträge können ausgewählt und gestartet, aber nicht ohne Passwort verändert werden.

default 0 
timeout 10 
password --md5 $1$OG9J9Le6$wfoIs2sHJR8rkzS4VjT5N0 
title Ubuntu, Kernel 2.6.17 
kernel (hd0,2)/boot/vmlinuz root=/dev/sda3 ro 
initrd (hd0,2)/boot/initrd.img 
lock 
boot 
title Windows Vista 
root (hd0,0) 
makeactive 
chainloader +1 
boot

Eine weitere interessante Erweiterung ist die Möglichkeit, GRUB mit Treibern für Netzwerkkarten und einem DHCP- sowie TFTP-Client zu kompilieren. Dies erleichtert das Zurückspielen von Betriebssystem-Images via Netzwerk, auch wenn ein Rechner nicht für den Boot-Vorgang per PXE konfiguriert wurde.

Mehr zum Thema

image.jpg
Gut gebrüllt, Löwe!

"Gut gebrüllt, Löwe", heißt es, wenn jemand überzeugend wirkt, auch wenn weniger dahinter ist. Gut brüllen konnte Apple immer schon. Vor wenigen…
BSI-Browser
Mehr Sicherheit online

Überall lauern Trojaner, Würmer oder Phisher. Mit normalen Browsern ist wirklich sicheres Surfen kaum möglich. Spezielle gehärtete und gekapselte…
Das bringen die neuen Funktionen von Mac OS X 10.8
Mac OS

Welche der von Apple angekündigten "200 neuen Funktionen" von "Mountain Lion" bewähren sich in der Praxis?
Parallels Desktop für Mac 5
Betriebssysteme

Windows auf dem Mac: Wir zeigen Ihnen die verschiedenen Möglichkeiten und sagen, wie Sie die optimale Lösung für Ihre Zwecke finden.
Ubuntu, openSUSE oder RedHat: Wir verraten, welches Linux für Sie sinnvoll ist.
Welches Linux?

Ubuntu, openSUSE oder RedHat? Welches Linux für Anfänger ist sinnvoll? Welches für Fortgeschrittene? Unser Linux-Ratgeber hilft weiter.