GRUB Legacy: Unterschied zwischen den Versionen
(In Sachen device.map muß ich robi korrigieren.) |
Robi (Diskussion | Beiträge) K (Ref scheint aktuell nicht zu gehen, dann eben verlinkt) |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
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 (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. | 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 | + | Aktuell ist [[GRUB 2]] eine komplette Neuentwicklung aus dem selben Team, aber nicht kompatibel zu [http://www.gnu.org/software/grub/manual/legacy/index.html Grub Legacy]. |
GRUB Legacy kann verschiedene UNIX-Derivate wie [[Linux]], FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem. | GRUB Legacy kann verschiedene UNIX-Derivate wie [[Linux]], FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem. | ||
Zeile 34: | Zeile 34: | ||
Stage2 stellt die eigentlichen Funktionen des Bootloaders bereit. Diese befindet sich unter /boot/grub/stage2. | 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 | + | 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. Stufe zwischen Stage1 und Stage2 benötigt, mit deren Hilfe das Dateisystem und somit die GRUB-Dateien 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. | Stage2 kann dann den Linux-Kernel laden und booten, oder auch andere Betriebssysteme oder andere Bootloader starten. | ||
Zeile 55: | Zeile 55: | ||
hd0,1,a= 1. Slice in der 2. Partition der 1. Platte | 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. | + | 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. |
Zeile 90: | Zeile 90: | ||
title Speichertest | title Speichertest | ||
kernel (hd1,1)/boot/memtest.bin | 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. | 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. | ||
Zeile 97: | Zeile 96: | ||
− | Beim Boot-Vorgang wird die Datei device.map nicht verwendet, hier muss mit den Werten gelebt werden, die das BIOS gerade benutzt. Wenn im laufenden Linux-System GRUB-Aktivitäten ausgeführt werden, dient die Datei | + | Beim Boot-Vorgang wird die Datei '''/boot/grub/device.map''' nicht verwendet, hier muss mit den Werten gelebt werden, die das BIOS gerade benutzt. Wenn im laufenden Linux-System GRUB-Aktivitäten ausgeführt werden, dient die Datei als Übersetzungtabelle zwischen GRUB- und Linux-Bezeichnung. Es ist zu beachten, dass die GRUB-Bezeichnung in diesem Fall formal nichts mit der BIOS-ID zu tun hat; um Mißverständnisse zu vermeiden, sollte daher dafür gesorgt werden, dass die Werte zusammenpassen (dazu können die Informationen aus dem als ''root'' ausgeführten Befehl |
hwinfo --disk | egrep "Device Files:|BIOS id:" | hwinfo --disk | egrep "Device Files:|BIOS id:" | ||
− | verwendet werden). Wenn die Datei nicht vorhanden ist, wird sie bei der nächsten Ausführung des Programms ''grub'' (das sofort wieder mit "quit" verlassen werden kann) mit vermuteten Werten neu angelegt, die | + | verwendet werden). Wenn die Datei nicht vorhanden ist, wird sie bei der nächsten Ausführung des Programms ''grub'' (das sofort wieder mit "quit" verlassen werden kann) mit vermuteten Werten neu angelegt, die zwar in einfachen Fällen meist mit der jeweiligen BIOS-ID korrespondieren, dies aber nicht tun müssen. |
− | + | Beispiel /boot/grub/device.map: | |
(fd0) /dev/fd0 | (fd0) /dev/fd0 | ||
(hd0) /dev/sdc | (hd0) /dev/sdc | ||
Zeile 121: | Zeile 120: | ||
* http://tldp.org/HOWTO/Multiboot-with-GRUB.html | * http://tldp.org/HOWTO/Multiboot-with-GRUB.html | ||
* http://de.wikipedia.org/wiki/GRUB | * http://de.wikipedia.org/wiki/GRUB | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Aktuelle Version vom 13. September 2015, 15:22 Uhr
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 |
Inhaltsverzeichnis
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.
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. Stufe zwischen Stage1 und Stage2 benötigt, mit deren Hilfe das Dateisystem und somit die GRUB-Dateien 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>
Beim Boot-Vorgang wird die Datei /boot/grub/device.map nicht verwendet, hier muss mit den Werten gelebt werden, die das BIOS gerade benutzt. Wenn im laufenden Linux-System GRUB-Aktivitäten ausgeführt werden, dient die Datei als Übersetzungtabelle zwischen GRUB- und Linux-Bezeichnung. Es ist zu beachten, dass die GRUB-Bezeichnung in diesem Fall formal nichts mit der BIOS-ID zu tun hat; um Mißverständnisse zu vermeiden, sollte daher dafür gesorgt werden, dass die Werte zusammenpassen (dazu können die Informationen aus dem als root ausgeführten Befehl
hwinfo --disk | egrep "Device Files:|BIOS id:"
verwendet werden). Wenn die Datei nicht vorhanden ist, wird sie bei der nächsten Ausführung des Programms grub (das sofort wieder mit "quit" verlassen werden kann) mit vermuteten Werten neu angelegt, die zwar in einfachen Fällen meist mit der jeweiligen BIOS-ID korrespondieren, dies aber nicht tun müssen.
Beispiel /boot/grub/device.map:
(fd0) /dev/fd0 (hd0) /dev/sdc (hd1) /dev/sdd (hd2) /dev/sda (hd3) /dev/sdb
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
- http://www.gnu.org/software/grub/manual/legacy/index.html
- http://www.pl-berichte.de/t_system/grub-howto.html
- http://old-de.opensuse.org/SDB:Der_Bootmanager_GRUB
- http://tldp.org/HOWTO/Multiboot-with-GRUB.html
- http://de.wikipedia.org/wiki/GRUB