In diesem Kapitel wird das GRUB-basierte Booten auf x86-Systemen für die Solaris-Installation beschrieben. Dieses Kapitel enthält die folgenden Abschnitte:
Ab Solaris-Release 10 1/06 ist GRUB, der Open Source Boot-Loader, der standardmäßige Boot-Loader des Betriebssystems Solaris.
GRUB-basiertes Booten steht für SPARC-Systeme nicht zur Verfügung.
Der Boot Loader ist das erste Softwareprogramm, das nach dem Einschalten des Systems ausgeführt wird. Nach dem Einschalten eines x86-basierten Systems initialisiert das BIOS (Basic Input/Output System) die CPU, den Hauptspeicher und die Plattform-Hardware. Nach dem Abschluss der Initialisierung lädt das BIOS vom konfigurierten Boot-Gerät den Boot-Loader und übergibt die Systemsteuerung an ihn.
GRUB ist ein Open Source Boot-Loader mit einer einfachen Menüschnittstelle mit Boot-Optionen, die in einer Konfigurationsdatei gespeichert sind. GRUB besitzt darüber hinaus auch eine Befehlszeilenschnittstelle, die zum Ausführen verschiedener Boot-Befehle von der Menüoberfläche aus aufgerufen werden kann. Im Betriebssystem Solaris hält die GRUB-Implementierung die Vorschriften der Multiboot-Spezifikation ein. Diese Spezifikation wird ausführlich unter http://www.gnu.org/software/grub/grub.html beschrieben.
Da der Solaris-Systemkern die Multiboot-Spezifikation vollständig einhält, kann ein x86-basiertes Solaris-System mit GRUB gebootet werden. Mit GRUB können mehrere Betriebssysteme auf einem System einfach installiert und gebootet werden. Auf einem System können Sie beispielsweise die folgenden Betriebssysteme individuell booten:
Solaris OS
Microsoft Windows
GRUB erkennt Microsoft Windows-Partitionen, kann jedoch nicht überprüfen, ob das Betriebssystem geladen werden kann.
Der Hauptvorteil von GRUB besteht darin, dass er Dateisysteme und ausführbare Systemkernformate intuitiv erkennt, sodass Sie ein Betriebssystem booten können, ohne dessen physische Position im Systemkern der Festplatte kennen zu müssen. Beim GRUB-basierten Booten wird der Systemkern eines Betriebssystems durch Angabe des Dateinamens, des Laufwerks und der Partition, auf der sich der Systemkern befindet, geladen. Das GRUB-basierte Booten löst den Solaris Device Configuration Assistent (Assistent zur Gerätekonfiguration) ab und vereinfacht mit dem GRUB-Menü den Boot-Vorgang.
Nachdem GRUB die Systemsteuerung übernommen hat, wird auf der Konsole ein Menü angezeigt. Im GRUB-Menü stehen Ihnen folgende Möglichkeiten zur Verfügung:
Auswahl eines Menüeintrags zum Booten des entsprechenden Betriebssystems
Ändern eines Boot-Eintrags mit dem GRUB-Bearbeitungsmenü
Manuelles Laden eines Betriebssystemkerns über die Befehlszeile
Es ist möglich, ein Timeout festzulegen. Wurde in diesem Zeitraum nichts eingegeben, wird das als Standardsystem festgelegte Betriebssystem gebootet. Durch Drücken einer beliebigen Taste wird das Booten des standardmäßigen Betriebssystems abgebrochen.
Ein Beispiel für ein GRUB-Menü finden Sie im Abschnitt Beschreibung des GRUB-Hauptmenüs.
Die Namenskonventionen für Geräte, die in GRUB verwendet werden, unterscheiden sich etwas von den in früheren Solaris-Versionen verwendeten Konventionen. Wenn Ihnen die in GRUB verwendeten Namenskonventionen für Geräte klar sind, sind Sie in der Lage, Laufwerks- und Partitionsinformationen ordnungsgemäß anzugeben, wenn Sie GRUB auf Ihrem System konfigurieren.
In der folgenden Tabelle sind die GRUB-Namenskonventionen für Geräte beschrieben.
Tabelle 5–1 Namenskonventionen für Geräte in GRUB
Gerätename |
Beschreibung |
---|---|
(fd0), (fd1) |
Erstes Diskettenlaufwerk, zweites Diskettenlaufwerk |
(nd) |
Netzwerkgerät |
(hd0,0), (hd0,1) |
Erste und zweite fdisk-Partition der ersten bios -Platte |
(hd0,0,a), (hd0,0,b) |
Solaris/BSD-Bereich 0 und 1 auf der ersten fdisk-Partition der ersten bios-Platte |
Alle GRUB-Gerätenamen sind in runden Klammern anzugeben. Partitionen werden von 0 (null) und nicht von 1 an gezählt.
Weitere Informationen zu fdisk-Partitionen finden Sie in Guidelines for Creating an fdisk Partition in System Administration Guide: Devices and File Systems.
Weitere Informationen zu diesen Neuerungen finden Sie in den folgenden Ressourcen:
Tabelle 5–2 Wo finde ich Informationen zu GRUB-basierten Installationen ?
Thema |
GRUB-Menüaufgaben |
Weitere Informationen |
---|---|---|
Installation |
Installation des Betriebssystems Solaris von der Solaris CD bzw. von DVD-Datenträgern | |
Installation des Betriebssystems Solaris von einem Netzwerkinstallationsabbild | ||
Konfiguration eines DHCP-Servers für Netzwerkinstallationen | ||
Installation mit dem benutzerspezifischen JumpStart-Programm | ||
Aktivieren einer bzw. Zurückgreifen auf eine Boot-Umgebung mit Solaris Live Upgrade | ||
Systemverwaltung |
Ausführlichere Informationen zu GRUB und administrativen Aufgaben |
Kapitel 11, GRUB Based Booting (Tasks) in System Administration Guide: Basic Administration |
In diesem Abschnitt werden die Grundlagen des GRUB-basierten Bootens und das GRUB-Menü beschrieben.
Bei der Installation des Betriebssystems Solaris werden standardmäßig zwei GRUB-Menüeinträge erstellt. Der erste Eintrag ist für das Betriebssystem Solaris. Der zweite Eintrag ist für das Failsafe-Bootarchiv, das zur Wiederherstellung des Systems dient. Die Solaris-Einträge des GRUB-Menüs werden als Teil des Installations- bzw. Upgrade-Vorgangs automatisch installiert bzw. aktualisiert. Diese Einträge werden direkt vom Betriebssystem verwaltet und sollten nicht manuell geändert werden.
Während einer Solaris-Standardinstallation wird GRUB in der fdisk-Partition von Solaris installiert, ohne dass dafür die entsprechende BIOS-Systemeinstellung geändert wird. Falls sich das Betriebssystem nicht auf der BIOS-Bootplatte befindet, müssen Sie einen der folgenden Schritte ausführen:
Ändern der BIOS-Einstellung.
Mit einem Boot-Manager einen Bootstrap auf die Solaris-Partition durchführen. Ausführlichere Informationen finden Sie in der Dokumentation Ihres Boot-Managers.
Es wird empfohlen, das Betriebssystem Solaris auf der Boot-Platte zu installieren. Wenn auf dem Rechner mehrere Betriebssysteme installiert sind, können Sie der Datei menu.lst Einträge hinzufügen. Diese Einträge werden dann beim nächsten Booten des Systems im GRUB-Menü angezeigt.
Weitere Informationen zur Installation mehrerer Betriebssysteme auf einem Rechner finden Sie in How Multiple Operating Systems Are Supported in the GRUB Boot Environment in System Administration Guide: Basic Administration.
Für das GRUB-basierte Booten über das Netzwerk benötigen Sie einen für PXE-Clients konfigurierten DHCP-Server sowie einen Installationsserver, der den tftp-Dienst bereitstellt. Der DHCP-Server muss die DHCP-Klassen PXEClient und GRUBClient erkennen können. In den vom DHCP-Server zurückgelieferten Daten müssen die folgenden Informationen enthalten sein:
IP-Adresse des Dateiservers
Name der Boot-Datei (pxegrub)
Für das GRUB-basierte Booten über das Netzwerk ist die Datei rpc.bootparamd, die normalerweise vom Server für das Booten über das Netzwerk benötigt wird, nicht erforderlich.
Wenn kein PXE- bzw. DHCP-Server verfügbar ist, können Sie GRUB von CD-ROM oder einer lokalen Festplatte laden. Dann können Sie das Netzwerk in GRUB manuell konfigurieren und das Multiboot-Programm sowie das Boot-Archiv vom Dateiserver herunterladen.
Weitere Informationen finden Sie in Überblick über das Booten und Installieren über das Netzwerk mit PXE in Solaris 10 Installationshandbuch: Netzwerkbasierte Installation.
Beim Booten eines x86-basierten Systems wird das GRUB-Menü angezeigt. In diesem Menü kann ein gewünschter Eintrag ausgewählt werden. Unter einem Boot-Eintrag versteht man eine auf Ihrem System installierte Instanz eines Betriebssystems. Das GRUB-Menü liest die Einträge in der Konfigurationsdatei menu.lst. Die Datei menu.lst wird vom Solaris-Installationsprogramm erstellt und kann nach der Installation bearbeitet werden. In der Datei menu.lst wird festgelegt, welche Betriebssysteminstanzen im GRUB-Menü angezeigt werden.
Wenn Sie das Betriebssystem Solaris installieren bzw. ein Upgrade durchführen, wird das GRUB-Menü automatisch aktualisiert. Das Betriebssystem Solaris wird dann als neuer Boot-Eintrag angezeigt.
Wenn Sie außer Solaris noch andere Betriebssysteme installieren, müssen Sie die Konfigurationsdatei menu.lst entsprechend ändern, damit die anderen Betriebssysteminstanzen angezeigt werden. Durch das Hinzufügen einer Betriebssysteminstanz erscheint deren Eintrag beim nächsten Booten des Systems im GRUB-Menü.
Im folgenden Beispiel enthält das GRUB-Hauptmenü Einträge für die Betriebssysteme Solaris und Microsoft Windows. Außerdem ist noch eine Boot-Umgebung für Solaris Live Upgrade namens second_disk aufgeführt. Im Folgenden wird jeder Menüeintrag beschrieben.
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |second_disk | |second_disk failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
Das Betriebssystem Solaris.
Ein Boot-Archiv, mit dem das System wiederhergestellt werden kann, wenn das Betriebssystem Solaris beschädigt wurde.
Die Boot-Umgebung von Solaris Live Upgrade. Die Boot-Umgebung second_disk wurde als Kopie des Betriebssystems Solaris erstellt. Sie wurde mit dem Befehl luactivate aktualisiert und aktiviert. Mit dieser Boot-Umgebung kann das System gebootet werden.
Das Betriebssystem Microsoft Windows. GRUB erkennt Microsoft Windows-Partitionen, kann jedoch nicht überprüfen, ob das Betriebssystem geladen werden kann.
Die GRUB-Datei menu.lst enthält den Inhalt des GRUB-Hauptmenüs. Im GRUB-Hauptmenü sind alle auf Ihrem System installierten Betriebssysteminstanzen (einschließlich Boot-Umgebungen für Solaris Live Upgrade) als Boot-Einträge aufgeführt. Beim Durchführen von Upgrades für das Betriebssystem Solaris werden alle Änderungen, die Sie an dieser Datei vorgenommen haben, gespeichert.
Alle an der Datei menu.lst vorgenommenen Änderungen (einschließlich der Änderungen an Solaris Live Upgrade-Einträgen) erscheinen entsprechend im GRUB-Hauptmenü. Diese Änderungen werden beim nächsten Booten des Systems wirksam. Sie können an dieser Datei zu folgenden Zwecken Änderungen vornehmen:
Hinzufügen von Boot-Einträgen für andere Betriebssysteme außer Solaris
Anpassen des Boot-Verhaltens (z. B. Angeben eines standardmäßig zu bootenden Betriebssystems im GRUB-Menü)
Einträge für Solaris Live Upgrade dürfen nicht in der GRUB-Datei menu.lst geändert werden. Durch solche Änderungen kann Solaris Live Upgrade fehlschlagen.
Obwohl das Boot-Verhalten in der Datei menu.lst angepasst werden kann (z. B. Booten mit dem Systemkern-Debugger), sollte dafür jedoch der Befehl eeprom verwendet werden. Wenn Sie das Boot-Verhalten durch Modifizieren der Datei menu.lst anpassen, kann es sein, dass die Solaris-Einträge während eines Solaris-Upgrades geändert werden Die an dieser Datei von Ihnen vorgenommenen Änderungen gehen dann verloren.
Informationen zur Verwendung des Befehls eeprom finden Sie in How to Set Solaris Boot Parameters by Using the eeprom Command in System Administration Guide: Basic Administration.
Hier ist ein Beispiel für die Datei menu.lst:
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title second_disk root (hd0,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title second_disk failsafe root (hd0,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- second_disk -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
Legt fest, welche Betriebssysteminstanz nach Ablauf des Timeouts gebootet werden soll. Zum Ändern der Standardeinstellung können Sie die nach diesem Parameter angegebene Zahl entsprechend ändern. Der erste unter “title” erscheinende Eintrag besitzt die Nummer 0. Sie können die Standardeinstellung beispielsweise auf 2 ändern, damit nach Ablauf des Timeouts die unter second_disk erscheinende Boot-Umgebung gebootet wird.
Legt fest, wie lange der Boot-Loader auf eine Benutzereingabe warten soll, ehe die unter “default” als Standard festgelegte Betriebssysteminstanz gebootet wird. Wenn kein Timeout angegeben ist, muss der Benutzer immer auswählen, welche Betriebssysteminstanz gebootet wird.
Legt den beschreibenden Namen des Betriebssystems fest.
Falls es sich bei dem Eintrag um eine Boot-Umgebung für Solaris Live Upgrade handelt, ist der Parameter Name_des_Betriebssystems der Name, den Sie der neuen Boot-Umgebung bei ihrer Erstellung gegeben haben. Im obigen Beispiel heißt die Boot-Umgebung für Solaris Live Upgrade second_disk.
Wenn es sich dabei um ein Failsafe-Bootarchiv handelt, dient diese Instanz zur Wiederherstellung des Systems, falls das primäre Betriebssystem beschädigt wurde. Im obigen Beispiel sind die Einträge Solaris failsafe und second_disk failsafe die Boot-Archive für die Wiederherstellung der Betriebssysteminstanzen Solaris und second_disk.
Legt fest, von welcher Festplatte, Partition und welchem Bereich Dateien geladen werden sollen. GRUB erkennt den Typ des Dateisystems automatisch.
Das Multiboot-Programm. Nach dem Befehl “kernel” muss stets unmittelbar der Name des Multiboot-Programms folgen. Die nach dem Befehl “kernel” angegebene Zeichenkette wird direkt an das Betriebssystem Solaris ohne Zwischenverarbeitung weitergegeben.
Eine vollständige Beschreibung zur Installation mehrerer Betriebssysteme auf einem Rechner finden Sie in How Multiple Operating Systems Are Supported in the GRUB Boot Environment in System Administration Guide: Basic Administration.
Zum Auffinden der Datei menu.lst des GRUB-Menüs müssen Sie stets den Befehl bootadm verwenden. Der Unterbefehl list-menu dieses Befehls sucht das aktive GRUB-Menü. In der Datei menu.lst sind alle im System installierten Betriebssysteme aufgeführt. Der Inhalt dieser Datei legt fest, welche Betriebssysteme im GRUB-Menü angezeigt werden. Wenn Sie an dieser Datei Änderungen vornehmen wollen, sollten Sie vorher unter x86: Auffinden der Datei menu.lst des GRUB-Menüs (Vorgehen) nachlesen.
Ab Solaris-Release 10 1/06 kann das GRUB-Menü aktualisiert werden. Es kann zum Beispiel sein, dass Sie festlegen wollen, wie schnell das Standardbetriebssystem gebootet werden soll, oder Sie wollen zum GRUB-Menü ein weiteres Betriebssystem hinzufügen.
Normalerweise befindet sich die Datei menu.lst des aktiven GRUB-Menüs im Verzeichnis /boot/grub/menu.lst. In einigen Situationen kann sich die GRUB-Datei menu.lst jedoch auch in einem anderen Verzeichnis befinden. Bei Systemen, die Solaris Live Upgrade verwenden, kann es sein, dass sich die GRUB-Datei menu.lst nicht in der gegenwärtig ausgeführten Boot-Umgebung befindet, oder wenn Sie an einem System mit x86-Bootpartition ein Upgrade ausgeführt haben, kann sich die Datei menu.lst im Verzeichnis /stubboot befinden. Zum Booten des Systems wird nur die aktive GRUB-Datei menu.lst verwendet. Wenn Sie das beim Booten des Systems angezeigte GRUB-Menü ändern wollen, müssen Sie an der Datei menu.lst entsprechende Änderungen vornehmen. Das Ändern anderer Versionen der GRUB-Datei menu.lst wirkt sich nicht auf das beim Booten des Systems angezeigte GRUB-Menü aus. Die aktive GRUB-Datei menu.lst kann mit dem Befehl bootadm ermittelt werden. Der Unterbefehl list-menu dieses Befehl zeigt das Verzeichnis des aktiven GRUB-Menüs an. Mit den folgenden Schritten finden Sie die aktive GRUB Datei menu.lst des GRUB-Menüs.
Weitere Informationen zum Befehl bootadm entnehmen Sie bitte der Manpage bootadm(1M).
In der folgenden Vorgehensweise enthält das System zwei Betriebssysteme: Solaris und die Boot-Umgebung für Solaris Live Upgrade second_disk. Das Betriebssystem Solaris wurde gebootet und enthält das GRUB-Menü.
Nehmen Sie Superuser-Status oder eine entsprechende administrative Rolle an.
Administrative Rollen umfassen Berechtigungen und reservierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Geben Sie den folgenden Befehl ein, um die Datei menu.lst aufzufinden:
# /sbin/bootadm list-menu |
Es werden Verzeichnis und Inhalt der Datei angezeigt.
The location for the active GRUB menu is: /boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
In der folgenden Vorgehensweise enthält das System zwei Betriebssysteme: Solaris und die Boot-Umgebung für Solaris Live Upgrade second_disk. In diesem Beispiel befindet sich die Datei menu.lst nicht in der aktuell ausgeführten Boot-Umgebung. Die Boot-Umgebung second_disk wurde gebootet. Die Boot-Umgebung Solaris enthält das GRUB-Menü. Die Boot-Umgebung Solaris ist nicht eingehängt.
Nehmen Sie Superuser-Status oder eine entsprechende administrative Rolle an.
Administrative Rollen umfassen Berechtigungen und reservierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Geben Sie den folgenden Befehl ein, um die Datei menu.lst aufzufinden:
# /sbin/bootadm list-menu |
Es werden Verzeichnis und Inhalt der Datei angezeigt.
The location for the active GRUB menu is: /dev/dsk/device_name(not mounted) The filesystem type of the menu device is <ufs> default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Da das Dateisystem, in dem sich die Datei menu.lst befindet, nicht eingehängt ist, müssen Sie dieses Dateisystem einhängen. Geben Sie das UFS-Dateisystem und den Gerätenamen an.
# /usr/sbin/mount -F ufs /dev/dsk/Gerätename /mnt |
Hierbei ist Gerätename der Ort des Root-Dateisystems (/) auf der Festplatte der Boot-Umgebung, die eingehängt werden soll. Geben Sie den Gerätenamen im Format /dev/dsk/c wtx dys z ein. Beispielsweise:
# /usr/sbin/mount -F ufs /dev/dsk/c0t1d0s0 /mnt |
Das GRUB-Menü befindet sich unter /mnt/boot/grub/menu.lst
Hängen Sie das Dateisystem aus.
# /usr/sbin/umount /mnt |
Wenn Sie eine Boot-Umgebung bzw. ein Dateisystem einer Boot-Umgebung einhängen, müssen Sie sicherstellen, dass diese Dateisysteme nach der Verwendung wieder ausgehängt werden. Wenn diese Dateisysteme nicht ausgehängt werden, kann es sein, dass zukünftige Operationen von Solaris Live Upgrade in dieser Boot-Umgebung fehlschlagen.
In der folgenden Vorgehensweise enthält das System zwei Betriebssysteme: Solaris und die Boot-Umgebung für Solaris Live Upgrade second_disk. Die Boot-Umgebung second_disk wurde gebootet. Die Boot-Umgebung Solaris enthält das GRUB-Menü. Die Boot-Umgebung Solaris ist unter /.alt.Solaris eingehängt.
Nehmen Sie Superuser-Status oder eine entsprechende administrative Rolle an.
Administrative Rollen umfassen Berechtigungen und reservierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Geben Sie den folgenden Befehl ein, um die Datei menu.lst aufzufinden:
# /sbin/bootadm list-menu |
Es werden Verzeichnis und Inhalt der Datei angezeigt.
The location for the active GRUB menu is: /.alt.Solaris/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Da die Boot-Umgebung, die das GRUB-Menü enthält, bereits eingehängt ist, können Sie dann auf die Datei menu.lst unter /.alt.Solaris/boot/grub/menu.lst. zugreifen.
In der folgenden Vorgehensweise enthält das System zwei Betriebssysteme: Solaris und die Boot-Umgebung für Solaris Live Upgrade second_disk. Die Boot-Umgebung second_disk wurde gebootet. Für das System wurde ein Upgrade durchgeführt und die x86-Boot-partition verbleibt. Diese Boot-Partition ist unter /stubboot eingehängt und enthält das GRUB-Menü. Eine Erläuterung von x86-Boot-partitionen finden Sie im Abschnitt x86: Empfehlungen für die Partitionierung.
Nehmen Sie Superuser-Status oder eine entsprechende administrative Rolle an.
Administrative Rollen umfassen Berechtigungen und reservierte Befehle. Weitere Informationen zu Rollen finden Sie unter Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Geben Sie den folgenden Befehl ein, um die Datei menu.lst aufzufinden:
# /sbin/bootadm list-menu |
Es werden Verzeichnis und Inhalt der Datei angezeigt.
The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default 0 timeout 10 0 Solaris 1 Solaris failsafe 2 second_disk 3 second_disk failsafe |
Sie haben auf die Datei menu.lst Zugriff unter /stubboot/boot/grub/menu.lst.