Grand Unified Bootloader
Aus LinWiki.de
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
GRUB (Grand Unified Bootloader) ist ein Boot-Manager, der heutzutage bei vielen Linux Distributionen, wie zum Beispiel Red Hat, Mandrake und auch SuSE standardmässig installiert wird. GRUB in seiner heutigen Form wird vom GNU Projekt gepflegt und weiterentwickelt. [1]
GRUB kann verschiedene UNIX-Derivate wie Linux Systeme, FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem.
[Bearbeiten] Installation
Bei vielen Distributionen wird bereits während der Installation gefragt, ob GRUB in den sogennanten Master Boot Record, auf Festplatte oder auf Diskette installiert werden soll. Nach der Installation ist bei manchen Distributionen noch nötig, die verschiedenen Bootparamter mitanzugeben, um so später auch den Kernel booten zu können. Die meisten modernen Distributionen erledigen diesen Schritt jedoch für den Benutzer.
[Bearbeiten] Der Bootvorgang
stage1 befindet sich im Master Boot Record der Festplatte. Die einzige Aufgabe dieser Stufe ist es, stage2 zu laden. stage2 stellt die eigentlichen Funktionen des Bootloaders bereit. Diese befindet sich unter /boot/grub/stage2.
Bei der Installation wird in der Stufe 1 festgeschrieben, an welchem physikalischen Ort sich die Stufe 2 befindet. (Es gibt auch Systeme, die in 3 Stufen gebootet werden. Hier lädt stage1 die stage1_5, welche Zusatzcode für den Zugriff auf Dateien in verschiedenen Betriebssystemen enthält, diese lädt dann wiederrum stage2)
[Bearbeiten] Festplattenbezeichnungen
Die Besonderheit von GRUB ist die Bezeichnung der Festplatten und Partitionen. Sie unterscheidet sich von der gewohnten Linux-Bezeichnung der Devices.
hd0 = erste Festplatte
hd1 = zweite Festlatte ...
hd0,0 = 1. Partition der ersten Festplatte
hd1,2 = 3. Partition der zweiten Festplatte ...
Da GRUB in der Festplattenbezeichnung nicht zwischen IDE- und SCSI-Platten unterscheidet, erfolgt diese Zuordnung in der device.map (siehe unten).
[Bearbeiten] Wichtige Konfigurationsdateien
[Bearbeiten] menu.lst
Die menu.lst ist die Menüdatei und enthält Informationen zu allen Partitionen und Betriebssystemen, welche mit GRUB gebootet werden sollen oder können.
Beispiel /boot/grub/menu.lst
color white/blue black/light-gray default 0 timeout 8 gfxmenu (hd1,1)/boot/message
title Linux kernel (hd1,1)/boot/vmlinuz root=/dev/hdf2 vga=0x317 splash=silent acpi=off desktop resume=/dev/hdf1 showopts initrd (hd1,1)/boot/initrd
title Windows root (hd0,0) chainloader +1
title Diskette root (fd0) chainloader +1
title Failsafe kernel (hd1,1)/boot/vmlinuz root=/dev/hdf2 showopts ide=nodma apm=off acpi=off vga=normal noresume nosmp noapic maxcpus=0 3 initrd (hd1,1)/boot/initrd
title Speichertest kernel (hd1,1)/boot/memtest.bin
Wichtig für den „Anfangsgebrauch“ sind die Werte für "default" und "timeout". "timeout" gibt an, nach wievielen Sekunden ohne Eingabe das unter default eingestellte System gebootet wird.
[Bearbeiten] device.map
Die GRUB interne Zuordnung der Devicenamen erfolgt in der device.map
Bsp /boot/grub/device.map:
(fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdb (hd2) /dev/sda (hd3) /dev/sdb

