Zu den grundlegenden Kenntnissen vor der Verwendung von GRUB gehört, wie das Programm Geräte wie Festplatten und Partitionen anspricht. Diese Informationen sind insbesondere dann wichtig, wenn GRUB zum Starten mehrerer Betriebssysteme konfiguriert werden soll.
Nehmen Sie an, dass Ihr System mehrere Festplatten hat. Die erste Festplatte eines Systems wird von GRUB als (hd0), die erste Partition auf dieser Festplatte als (hd0,0) und die fünfte Partition auf der zweiten Festplatte als (hd1,4) bezeichnet. Im Allgemeinen sieht die Konvention für die Namensgebung für Dateisysteme bei GRUB wie folgt aus:
(<type-of-device><bios-device-number>,<partition-number>) |
Klammern und Kommata sind wichtige Elemente in den Konventionen der Gerätebezeichnungen. Der <Gerätetyp> gibt an, ob eine Festplatte (hd) oder Diskette (fd) angegeben wurde.
Die <BIOS-Gerätenummer> ist die Nummer des Geräts gemäß dem System-BIOS, die mit 0 beginnt. Die primäre IDE-Festplatte ist mit 0, die sekundäre IDE-Festplatte mit 1 nummeriert. Diese Anordnung entspricht ungefähr der Art, in der der Linux-Kernel die Geräte nach Buchstaben anordnet, wobei sich a in hda auf 0, b in hdb auf 1 usw. bezieht.
![]() | Anmerkung |
---|---|
Das Nummeriersystem von GRUB für Geräte beginnt bei 0 und nicht bei 1. Fehler bei der Unterscheidung gehören zu den häufigsten Fehlern, die von neuen GRUB- Benutzern begangen werden. |
Die <Partitionsnummer> bezieht sich auf die Nummer einer spezifischen Partition auf einem Plattengerät. Wie die <BIOS-Gerätenummer> beginnt die Nummerierung der Partitionen bei 0. Während die meisten Partitionen mit Nummern bezeichnet werden, werden sie durch Buchstaben wie a oder c angegeben, wenn Ihr System BSD-Partitionen verwendet.
Bei GRUB gelten die folgenden Regeln für die Bezeichnung von Geräten und Partitionen:
Unabhängig davon, ob es sich bei den Festplatten um IDE- oder SCSI-Festplatten handelt, beginnen alle Festplatten mit hd. Disketten dagegen beginnen mit fd.
Um ein ganzes Gerät ohne Berücksichtigung seiner Partitionen anzugeben, lassen Sie einfach das Komma und die Partitionsnummer weg. Dies ist dann wichtig, wenn Sie GRUB anweisen, den MBR für eine bestimmte Festplatte zu konfigurieren. Beispielsweise gibt (hd0) den MBR auf dem ersten Gerät an, und (hd3) gibt den MBR auf dem vierten Gerät an.
Wenn ein System über mehrere Festplatten verfügt, muss deren Startreihenfolge gemäß BIOS bekannt sein. Dies ist sehr einfach, wenn das System nur IDE- oder SCSI-Festplatten besitzt. Besitzt es jedoch mehrere, sind die Dinge etwas komplizierter.
Wenn Sie Befehle in Bezug auf eine Datei in GRUB eingeben, wie z.B. eine Menüliste, die zu verwenden ist, wenn das Booten von mehreren Betriebssystemen ermöglicht werden soll, muss die Datei sofort nach der Angabe des Geräts und der Partition spezifiziert werden.
Ein Beispiel für die Angabe einer Datei in einem absoluten Dateinamen:
(<type-of-device><bios-device-number>,<partition-number>)/path/to/file |
In den meisten Fällen geben Benutzer Dateien mit dem Verzeichnispfad auf der entsprechenden Partition und den Dateinamen an.
GRUB können weiterhin Dateien angegeben werden, die nicht im Dateisystem angezeigt werden. Ein Beispiel ist ein Kettenloader, der sich in den ersten wenigen Blöcken einer Partition befindet. Zur Angabe von solchen Dateien muss eine Blockliste zur Verfügung gestellt werden, die GRUB Block für Block angibt, an welcher Stelle der Partition sich die Datei befindet. Da eine Datei aus mehreren Blocksätzen bestehen kann, werden die Blocklisten auf eine ganz bestimmte Art und Weise geschrieben. Jeder Teilabschnitt einer Datei wird durch einen Offset an Blöcken gefolgt von einer Anzahl an Blöcken beschrieben, und die Abschnitte werden in Reihenfolge und durch Kommas getrennt aufgelistet.
Folgend ist ein Beispiel einer Blockliste:
0+50,100+25,200+1 |
Diese Blockliste weist GRUB an, eine Datei zu verwenden, die mit dem ersten Block auf der Partition beginnt und die Blöcke 0 bis 49, 99 bis 124 und 199 verwendet.
Blocklisten schreiben zu können ist dann sehr nützlich, wenn GRUB zum Laden von Betriebssystemen verwendet wird, die das verkettete Laden benutzen, wie z.B. Microsoft Windows. Sie können den Offset an Blöcken weglassen, wenn Sie bei Block 0 starten. Beispiel: die Kettenlade-Datei auf der ersten Partition der ersten Festplatte würde somit folgenden Namen besitzen:
(hd0,0)+1 |
Im Folgenden wird der Befehl chainloader mit einer ähnlichen Blocklisten-Bezeichnung in der GRUB-Befehlszeile gezeigt, nachdem Sie als root das korrekte Gerät und Partition eingestellt haben:
chainloader +1 |
Der Begriff "root-Dateisystem" bei GRUB mag verwirren. Dabei ist zu beachten, dass das root-Dateisystem von GRUB nichts mit dem root-Dateisystem von Linux gemeinsam hat.
Das root-Dateisystem von GRUB ist die root-Partition für ein bestimmtes Gerät. GRUB verwendet diese Angabe u.a., um das Gerät zu mounten und Dateien von diesem Gerät zu laden.
Nachdem GRUB die root-Partition geladen hat, die unter Red Hat Linux der /boot-Partition entspricht und den Linux-Kernel enthält, kann der Befehl kernel mit dem Speicherort der Kerneldatei als Option ausgeführt werden. Sobald der Linux-Kernel bootet, stellt er ein eigenes root-Dateisystem ein. Das ursprüngliche root-Dateisystem von GRUB und die Mounts sind bereits vergessen: Sie dienten lediglich dem Booten der Kerneldatei.
Weitere Informationen zu den Befehlen root und kernel finden Sie unter Abschnitt 2.6.
Zurück | Zum Anfang | Vor |
Installation von GRUB | Zum Kapitelanfang | GRUB-Oberflächen |