GRUB
Inhaltsverzeichnis
Was ist GRUB?
GRUB (Grand Unified Bootloader) ist ein Boot-Manager, der heutzutage bei vielen Linux-Distributionen, wie z.B. Red Hat, Mandrake und auch SuSE per default installiert wird. GRUB in seiner heutigen Form wird vom GNU Projekt geplegt und weiterentwickelt. [1]
GRUB kann verschiedene UNIX-Derivate wie Linux, FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem.
Der Bootvorgang mit GRUB
GRUB besteht aus 2 Stufen:
stage1 befindet sich im Master Boot Record (MBR) 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)
Festplattenbezeichnung unter GRUB
Die Besonderheit von GRUB ist die Bezeichnung der Festplatten und Partitionen. Sie unterscheidet sich von der gewohnten Linux-Bezeichnug der Devices. [2]
hd0 = erste Festplatte hd1 = zweite Festlatte ...
hd0,0 = 1. Partition der ersten Festplatte
hd1,2 = 3. Partition der zweiten Festplatte ...
Für UFS oder UFS2 benutzende Systeme wie Solaris oder BSD-Derivate: hd0,1,a= 1. Slice in der 2. Partition der 1. Platte
Da GRUB in der Festplattenbezeichnung nicht zwischen IDE- und SCSI-Platten unterscheidet, erfolgt diese Zuordnung in der device.map (s. unten)
Wichtige Konfigurationsdateien von GRUB
Die wichtigsten Konfigurations-Dateien von GRUB sind die menu.lst und die device.map. Beide zu finden in /boot/grub.
Die menu.lst ist die Menüdatei und enthält Informationen zu allen Partitionen und Betriebssystemen, welche mit GRUB gebootet werden sollen/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.
Um einen tieferen Einblick in die menu.lst zu bekommen, lohnt es sich, einen Augenblick Zeit zu nehmen und [3] zu lesen.
Die GRUB interne Zuordnung der Devicenamen erfolgt in der device.map (Bsp):
(fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdb (hd2) /dev/sda (hd3) /dev/sdb
Zur Konfiguration des Bootloader GRUB empfielt es sich, den Text [4] zu lesen.
Quellen und weiterführende Links
- http://www.gnu.org/software/grub/manual/grub.html
- http://www.linux-club.de/viewtopic.php?t=4949
- http://www.kofler.cc/pdf/linux7_kapitel26.pdf
- http://www.pl-berichte.de/t_system/grub-howto.html
- http://de.opensuse.org/SDB:Der_Bootmanager_GRUB
- http://www.linuxgazette.com/issue64/kohli.html
- http://tldp.org/HOWTO/Multiboot-with-GRUB.html
Created by michiSPO
Freundlichst für den LC zur Verfügung gestellt.