GRUB Legacy: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Was ist GRUB?: Einsatz Textbaustein)
K (Ref scheint aktuell nicht zu gehen, dann eben verlinkt)
 
(11 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
 
{{Infobox_Software|
 
{{Infobox_Software|
 
Name= GRUB
 
Name= GRUB
 
|Screenshot=  
 
|Screenshot=  
|Beschreibung=  
+
|Beschreibung= Grub Legacy
 
|Hersteller= Das GRUB-Team
 
|Hersteller= Das GRUB-Team
|AktuelleVersion= 1.95
+
|AktuelleVersion= 0.97
|AktuelleVersionFreigabeDatum= 15. Oktober 2006
+
|AktuelleVersionFreigabeDatum= 5/2006
 
|Betriebssystem= Unix-Derivate, [[Linux]]
 
|Betriebssystem= Unix-Derivate, [[Linux]]
 
|Kategorie= [[Bootmanager]]
 
|Kategorie= [[Bootmanager]]
 
|Lizenz= [[GNU General Public License|GPL]]
 
|Lizenz= [[GNU General Public License|GPL]]
 
|Deutsch= nein
 
|Deutsch= nein
|Website= http://www.gnu.org/software/grub/
+
|Website= http://www.gnu.org/software/grub/manual/legacy/index.html
 
}}
 
}}
  
== Was ist GRUB? ==
+
 
 +
== 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 (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. '''[1]'''
+
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 [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 kann verschiedene UNIX-Derivate wie [[Linux]], FreeBSD, NetBSD oder OpenBSD starten und auch das Booten von Windows ist kein Problem.
 
  
{{Achtung|'''Hinweis:''' ser Artikel handelt explizit von der Version ''GRUB Legacy''. Das Programm wurde weiterentwickelt. Die Weiterentwicklung wird aufgrund von Inkompatibilitäten auf einer eigenen Seite behandelt: [[GRUB 2]]}}
 
  
== Der [[Bootvorgang]] mit GRUB ==
 
  
 +
== Der [[Bootvorgang]] mit GRUB (Legacy)==
  
''GRUB besteht aus 2 Stufen:''
+
''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.
  
stage1 befindet sich im Master Boot Record (MBR) der Festplatte. Die einzige Aufgabe dieser Stufe ist es, stage2 zu laden.
+
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 stellt die eigentlichen Funktionen des Bootloaders bereit. Diese befindet sich unter /boot/grub/stage2.
+
 
 +
Stage2 kann dann den Linux-Kernel laden und booten, oder auch andere Betriebssysteme oder andere Bootloader starten.
 +
  
  
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 ==
 
== Festplattenbezeichnung unter GRUB ==
 
  
 
Die Besonderheit von GRUB ist die Bezeichnung der Festplatten und Partitionen.  
 
Die Besonderheit von GRUB ist die Bezeichnung der Festplatten und Partitionen.  
Sie unterscheidet sich von der gewohnten Linux-Bezeichnug der Devices. '''[2]'''
+
Sie unterscheidet sich von der gewohnten Linux-Bezeichnug der Devices.
 
 
 
 
hd0 = erste Festplatte hd1 = zweite Festlatte ...
 
  
 +
hd0 = erste Festplatte
 +
hd1 = zweite Festlatte ...
  
 
  hd0,0 = 1. Partition der ersten Festplatte  
 
  hd0,0 = 1. Partition der ersten Festplatte  
Zeile 51: 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
  
Da GRUB in der Festplattenbezeichnung nicht zwischen IDE- und SCSI-Platten unterscheidet, erfolgt diese Zuordnung in der device.map (s. unten)
+
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 ==
 
  
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.
+
== Wichtige Konfigurationsdateien von GRUB Legacy==
  
Beispiel /boot/grub/menu.lst:
+
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
 
  color white/blue black/light-gray
Zeile 67: Zeile 73:
 
   
 
   
 
  title Linux
 
  title Linux
     kernel (hd1,1)/boot/vmlinuz root=/dev/hdf2 vga=0x317 splash=silent acpi=off desktop resume=/dev/hdf1 showopts
+
     kernel (hd1,1)/boot/vmlinuz root=/dev/sdc2 vga=0x317 splash=silent acpi=off desktop resume=/dev/sdc1 showopts
 
     initrd (hd1,1)/boot/initrd
 
     initrd (hd1,1)/boot/initrd
 
   
 
   
Zeile 79: Zeile 85:
 
   
 
   
 
  title Failsafe
 
  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
+
     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
 
     initrd (hd1,1)/boot/initrd
 
   
 
   
Zeile 85: Zeile 91:
 
     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".
+
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>
 
 
"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):
+
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
 
  (fd0) /dev/fd0
  (hd0) /dev/hda
+
  (hd0) /dev/sdc
  (hd1) /dev/hdb
+
  (hd1) /dev/sdd
 
  (hd2) /dev/sda
 
  (hd2) /dev/sda
 
  (hd3) /dev/sdb
 
  (hd3) /dev/sdb
  
  
Zur Konfiguration des Bootloader GRUB empfielt es sich, den Text '''[4]''' zu lesen.
+
 
 +
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>
  
  
Zeile 108: Zeile 115:
 
== Quellen und weiterführende Links ==
 
== Quellen und weiterführende Links ==
  
* http://www.gnu.org/software/grub/manual/grub.html
+
* http://www.gnu.org/software/grub/manual/legacy/index.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://www.pl-berichte.de/t_system/grub-howto.html
* http://de.opensuse.org/SDB:Der_Bootmanager_GRUB
+
* http://old-de.opensuse.org/SDB:Der_Bootmanager_GRUB
* http://www.linuxgazette.com/issue64/kohli.html
 
 
* 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
  
Created by [[l:Benutzer:Funny|michiSPO]]
 
  
Freundlichst für den LC zur Verfügung gestellt.
+
 
{{LinWiki}}
 
 
----
 
----
 
*[[Bootmanager]]
 
*[[Bootmanager]]

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


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