GRUB Legacy

Aus Linupedia.org
Version vom 18. Dezember 2013, 00:41 Uhr von Robi (Diskussion | Beiträge) (kleine Überarbeitung)
Wechseln zu: Navigation, Suche
GRUB

Grub Legacy
Basisdaten
Entwickler: Das GRUB-Team
Aktuelle Version: 0.97
letzte Veröffentlichung: 5/2006
Betriebssystem: Unix-Derivate, Linux
Kategorie: Bootmanager
Lizenz: GPL
Deutschsprachig: nein
Webseite: http://www.gnu.org/software/grub/manual/legacy/index.html


Was ist GRUB Legacy

GRUB (Grand Unified Bootloader) ist ein Boot-Manager, der heutzutage bei vielen Linux-Distributionen, wie z.B. Red Hat, Mandrake und auch openSUSE per default installiert wird. GRUB in seiner heutigen Form wird vom GNU Projekt gepflegt und weiterentwickelt. Aktuell ist GRUB 2 eine komplette Neuentwicklung aus dem selben Team, aber nicht kompatibel zu Grub Legacy.<ref>http://www.gnu.org/software/grub/manual/legacy/index.html</ref>

GRUB Legacy kann verschiedene UNIX-Derivate wie Linux, FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem.



Der Bootvorgang mit GRUB (Legacy)

Der Bootloader GRUB startet in 2 Stufen:

Stage1 befindet sich entweder im Master Boot Record (MBR) der Festplatte oder im Boot-Sektor einer Partition. 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. Befindet sich /boot/grub in bestimmten Dateisystemen, dann wird eine 3 Stufen zwischen Stage1 und Stage2 benötigt, mit deren Hilfe das Dateisystem und somit die Grubdateien gelesen werden können. Hier lädt stage1 die stage1_5, welche Zusatzcode für den Zugriff auf das verwendete Dateisystem enthält, und diese lädt dann stage2.

Stage2 kann dann den Linux-Kernel laden und booten, oder auch andere Betriebssysteme oder andere Bootloader starten.



Festplattenbezeichnung unter GRUB

Die Besonderheit von GRUB ist die Bezeichnung der Festplatten und Partitionen. Sie unterscheidet sich von der gewohnten Linux-Bezeichnug der Devices.

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

Die Festplattenreihenfolge wird vom BIOS festgelegt, wobei die im BIOS festgelegte Boot-Platte immer 0x80 (hexadezimal 80, dezimal 128, bei GRUB im allgemeinen als hd0 bezeichnet) erhält und die übrigen Platten danach fortlaufend nummeriert werden.


Wichtige Konfigurationsdateien von GRUB Legacy

Die wichtigsten Konfigurations-Dateien von GRUB sind die /boot/grub/menu.lst und die /boot/grub/device.map.

Die Datei /boot/grub/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/sdc2 vga=0x317 splash=silent acpi=off desktop resume=/dev/sdc1 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/sdc2 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 wie vielen Sekunden ohne Eingabe das unter "default" eingestellte Booteintrag ausgeführt werden soll.

Etwas tiefere Einblick in die menu.lst bieten eine Vielzahl Von Artikeln und User Tips <ref>http://www.pro-linux.de/artikel/2/119/der-bootloader-grub.html</ref>


Wenn im laufenden Linux-System GRUB-Aktivitäten ausgeführt werden, dient die Datei device.map als Übersetzungtabelle zwischen GRUB- und Linux-Bezeichnung, z. B.:

(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb
(hd2) /dev/sda
(hd3) /dev/sdb

Beim Boot-Vorgang wird diese Datei nicht benutzt, hier muss mit den Werten gelebt werden die der BIOS gerade benutzt. Jedoch bei der zur Konfiguration von Grub aus dem Betriebssystem heraus wird diese Datei benötigt, da in ihr die Sichtweise des BIOS auf die Platen festgehalten ist. Sollte sich die Platten- oder Kontroller Hardware des Rechners einmal geändert haben, genügt es diese Datei zu löschen und mittels des Befehl "grub" einmal die Grubshell zu öffnen, um diese Datei wieder mit der sich derzeitig gegebenden richtigen Sichtweise des BIOS neu anzulegen. Grubshell kann sofort wieder mit "quit" wieder verlassen werden.


Zur Konfiguration des Bootloader GRUB auf OpenSuse empfielt es sich, ein wenig in der Doku zu blättern. <ref>http://old-de.opensuse.org/SDB:Der_Bootmanager_GRUB</ref>


Quellen und weiterführende Links


<references/>