18 Der Bootloader GRUB 2 #
In diesem Kapitel wird die Konfiguration von GRUB 2, dem unter SUSE Linux Enterprise Server verwendeten Bootloader, beschrieben. Diese Anwendung ist der Nachfolger des bisherigen Bootloaders GRUB (nunmehr als „GRUB Legacy“ bezeichnet). GRUB 2 ist seit Version 12 als standardmäßiger Bootloader in SUSE® Linux Enterprise Server eingebunden. Für die Konfiguration der wichtigsten Einstellungen steht ein YaST-Modul bereit. Eine Übersicht über den Bootvorgang finden Sie in Kapitel 16, Einführung in den Bootvorgang. Weitere Informationen zur Unterstützung von Secure Boot finden Sie in Kapitel 17, UEFI (Unified Extensible Firmware Interface).
18.1 Hauptunterschiede zwischen GRUB Legacy und GRUB 2 #
Die Konfiguration wird in unterschiedlichen Dateien gespeichert.
Es werden mehr Dateisysteme unterstützt (z. B. Btrfs).
Dateien auf LVM- oder RAID-Geräten können direkt gelesen werden.
Die Benutzeroberfläche kann übersetzt und mit Themen gestaltet werden.
Es steht ein Mechanismus zum Laden von Modulen bereit, die weitere Funktionen (z. B. Dateisysteme) unterstützen
Es werden automatisch Boot-Einträge für andere Kernel und Betriebssysteme (z. B. Windows) gesucht und erzeugt.
Eine minimale Konsole (ähnlich wie Bash aufgebaut) steht zur Verfügung.
18.2 Konfigurationsdateistruktur #
Die Konfiguration von GRUB 2 umfasst die folgenden Dateien:
/boot/grub2/grub.cfg
Diese Datei enthält die Konfiguration der Menüpunkte in GRUB 2. Die Datei ersetzt die Datei
menu.lst
in GRUB Legacy.grub.cfg
sollte nicht bearbeitet werden. Die Datei wird automatisch durch den Befehlgrub2-mkconfig -o /boot/grub2/grub.cfg
generiert./boot/grub2/custom.cfg
Diese optionale Datei wird beim Booten direkt aus
grub.cfg
erzeugt. Hiermit können Sie benutzerdefinierte Einträge in das Bootmenü aufnehmen. Ab SUSE Linux Enterprise Server 12 SP2 werden diese Einträge auch geparst, wenngrub-once
verwendet wird./etc/default/grub
Diese Datei steuert die Benutzereinstellungen für GRUB 2 und enthält in der Regel zusätzliche Umgebungseinstellungen, beispielsweise Hintergründe und Themen.
- Skripte unter
/etc/grub.d/
Die Skripte in diesem Verzeichnis werden beim Ausführen des Befehls
grub2-mkconfig -o /boot/grub2/grub.cfg
gelesen. Die zugehörigen Anweisungen werden in die Hauptkonfigurationsdatei/boot/grub/grub.cfg
integriert./etc/sysconfig/bootloader
Diese Konfigurationsdatei enthält bestimmte Grundeinstellungen wie den Bootloader-Typ und ob die UEFI Secure Boot-Unterstützung aktiviert werden soll.
/boot/grub2/x86_64-efi
,/boot/grub2/power-ieee1275
,/boot/grub2/s390x
Diese Konfigurationsdateien enthalten architekturspezifische Optionen.
GRUB 2 kann auf mehrere Weisen gesteuert werden. Booteinträge aus einer vorhandenen Konfiguration können im grafischen Menü (Eröffnungsbildschirm) ausgewählt werden. Die Konfiguration wird aus der Datei /boot/grub2/grub.cfg
geladen, die aus anderen Konfigurationsdateien kompiliert wird (siehe unten). Alle GRUB 2-Konfigurationsdateien gelten als Systemdateien und Sie benötigen root
-Berechtigungen, um sie bearbeiten zu können.
Nach einer manuellen Änderung der GRUB 2-Konfigurationsdateien müssen Sie grub2-mkconfig -o /boot/grub2/grub.cfg
ausführen, damit die Änderungen in Kraft treten. Sollten Sie die Konfiguration jedoch mit YaST geändert haben, ist dies nicht nötig, da YaST diesen Befehl automatisch ausführt.
18.2.1 Die Datei /boot/grub2/grub.cfg
#
Hinter dem grafischen Eröffnungsbildschirm mit dem Bootmenü steht die GRUB 2-Konfigurationsdatei /boot/grub2/grub.cfg
, die alle Informationen zu allen Partitionen oder Betriebssystemen enthält, die über das Menü gebootet werden können.
GRUB 2 liest bei jedem Systemstart die Menüdatei direkt vom Dateisystem neu ein. Es besteht also kein Bedarf, GRUB 2 nach jeder Änderung an der Konfigurationsdatei neu zu installieren. Beim Installieren oder Entfernen von Kernels wird grub.cfg
automatisch neu aufgebaut.
grub.cfg
wird aus der Datei /etc/default/grub
und den Skripten kompiliert, die sich beim Ausführen des Befehls grub2-mkconfig -o /boot/grub2/grub.cfg
im Verzeichnis /etc/grub.d/
befinden. Ändern Sie die Datei daher in keinem Fall manuell. Bearbeiten Sie stattdessen die zugehörigen Ursprungsdateien, oder bearbeiten Sie die Konfiguration mit dem YaST- -Modul (siehe Abschnitt 18.3, „Konfigurieren des Bootloaders mit YaST“).
18.2.2 Die Datei /etc/default/grub
#
In dieser Datei finden Sie allgemeinere Optionen für GRUB 2, beispielsweise den Zeitraum, über den das Menü angezeigt wird, oder das standardmäßig zu bootende Betriebssystem. Mit dem folgenden Befehl erhalten Sie eine Liste aller verfügbaren Optionen:
>
grep "export GRUB_DEFAULT" -A50 /usr/sbin/grub2-mkconfig | grep GRUB_
Sie können benutzerdefinierte Variablen einführen und sie später in den Skripten im Verzeichnis /etc/grub.d
verwenden.
Aktualisieren Sie nach der Bearbeitung von /etc/default/grub
die Hauptkonfigurationsdatei mit grub2-mkconfig -o
/boot/grub2/grub.cfg
.
Alle in dieser Datei angegebenen Optionen sind allgemeine Optionen, die für alle Booteinträge gelten. Zu den für einen Xen-Hypervisor spezifischen Optionen gehört die Teilzeichenfolge _XEN_
.
Komplexere Optionen mit Leerzeichen erfordern Anführungszeichen, damit sie als eine Option verarbeitet werden. Solche inneren Anführungszeichen müssen korrekt mit Escape-Zeichen versehen werden, zum Beispiel:
GRUB_CMDLINE_LINUX_XEN="debug loglevel=9 log_buf_len=5M \"ddebug_query=file drivers/xen/xen-acpi-processor.c +p\""
GRUB_DEFAULT
Hiermit legen Sie den Bootmenüeintrag fest, der standardmäßig gebootet werden soll. Als Wert ist eine Zahl, der vollständige Name eines Menüeintrags oder der Eintrag „saved“ (Gespeichert) zulässig.
Mit
GRUB_DEFAULT=2
wird der dritte Bootmenüeintrag gebootet (gezählt ab 0).Mit
GRUB_DEFAULT="2>0"
wird der erste Untermenüeintrag im dritten übergeordneten Menüeintrag gebootet.Mit
GRUB_DEFAULT="Example boot menu entry"
wird der Menüeintrag mit dem Titel „Example boot menu entry“ gebootet.Mit
GRUB_DEFAULT=saved
wird der Eintrag gebootet, der mit dem Befehlgrub2-once
odergrub2-set-default
angegeben wurde. Während mitgrub2-reboot
der Standard-Booteintrag nur für das nächste Neubooten festgelegt wird, bestimmtgrub2-set-default
den Standard-Booteintrag bis zur nächsten Änderung.grub2-editenv list
zeigt den nächsten Booteintrag an.GRUB_HIDDEN_TIMEOUT
Hiermit wird ein bestimmter Zeitraum (in Sekunden) abgewartet, bis der Benutzer eine Taste drückt. Während dieses Zeitraums wird erst dann ein Menü angezeigt, wenn der Benutzer eine Taste drückt. Wird während des angegebenen Zeitraums keine Taste gedrückt, so wird die Steuerung an
GRUB_TIMEOUT
übergeben.GRUB_HIDDEN_TIMEOUT=0
prüft zunächst, ob Umschalttaste gedrückt wurde. Falls ja, wird das Bootmenü angezeigt; ansonsten wird sofort der Standard-Menüeintrag gebootet. Dies ist die Standardeinstellung, wenn GRUB 2 nur ein bootfähiges Betriebssystem erkennt.GRUB_HIDDEN_TIMEOUT_QUIET
Bei
false
wird ein Countdown-Zähler auf einem leeren Bildschirm angezeigt, wenn die FunktionGRUB_HIDDEN_TIMEOUT
aktiv ist.GRUB_TIMEOUT
Dies ist der Zeitraum (in Sekunden), über den das Bootmenü angezeigt wird, bevor der Standard-Booteintrag automatisch gebootet wird. Sobald Sie eine Taste drücken, wird die Zeitbegrenzung aufgehoben und GRUB 2 wartet darauf, dass Sie manuell die gewünschte Auswahl treffen. Mit
GRUB_TIMEOUT=-1
wird das Menü so lange angezeigt, bis Sie den gewünschten Booteintrag manuell auswählen.GRUB_CMDLINE_LINUX
Die Einträge in dieser Zeile werden an die Booteinträge für den normalen Modus und den Wiederherstellungsmodus angehängt. Hiermit können Sie zusätzliche Kernel-Parameter im Booteintrag angeben.
GRUB_CMDLINE_LINUX_DEFAULT
Dieser Eintrag entspricht
GRUB_CMDLINE_LINUX
, jedoch mit dem Unterschied, dass die Einträge nur im normalen Modus angehängt werden.GRUB_CMDLINE_LINUX_RECOVERY
Dieser Eintrag entspricht
GRUB_CMDLINE_LINUX
, jedoch mit dem Unterschied, dass die Einträge nur im Wiederherstellungsmodus angehängt werden.GRUB_CMDLINE_LINUX_XEN_REPLACE
Dieser Eintrag ersetzt die
GRUB_CMDLINE_LINUX
-Parameter für alle Xen-Boot-Einträge.GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT
Dieser Eintrag entspricht
GRUB_CMDLINE_LINUX_XEN_REPLACE
, jedoch mit dem Unterschied, dass nur Parameter vonGRUB_CMDLINE_LINUX_DEFAULT
ersetzt werden.GRUB_CMDLINE_XEN
Diese Einträge werden an die Xen-Menüeinträge des Xen-Hypervisors für den normalen Modus und den Wiederherstellungsmodus übergeben. Beispiel:
GRUB_CMDLINE_XEN="loglvl=all guest_loglvl=all"
Tipp: Xen-Hypervisor-OptionenEine vollständige Liste der Xen-Hypervisor-Optionen finden Sie unter https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html.
GRUB_CMDLINE_XEN_DEFAULT
Dieser Eintrag entspricht
GRUB_CMDLINE_XEN
, jedoch mit dem Unterschied, dass die Einträge nur im normalen Modus angehängt werden.GRUB_TERMINAL
Hiermit wird ein Eingabe-/Ausgabe-Terminal-Geräte angegeben und aktiviert. Mögliche Werte sind
console
(PC-BIOS- und EFI-Konsolen),serial
(serielle Terminals),ofconsole
(Open-Firmware-Konsolen) sowie der Standardwertgfxterm
(Ausgabe im Grafikmodus). Sollen mehrere Geräte aktiviert werden, setzen Sie die Optionen in Anführungszeichen, beispielsweiseGRUB_TERMINAL="console serial"
.GRUB_GFXMODE
Dies ist die Auflösung für das grafische Terminal
gfxterm
. Sie können nur Modi verwenden, die von Ihrer Grafikkarte (VBE) unterstützt werden. Die Standardeinstellung lautet „auto“; hiermit wird nach Möglichkeit eine bevorzugte Auflösung ausgewählt. Mit dem Befehlvideoinfo
in der GRUB 2-Befehlszeile werden die verfügbaren Bildschirmauflösungen für GRUB 2 angezeigt. Zum Öffnen der Befehlszeile drücken Sie C, wenn der GRUB 2-Bootmenübildschirm angezeigt wird.Außerdem können Sie eine Farbtiefe an die Einstellung für die Auflösung anhängen, z. B.
GRUB_GFXMODE=1280x1024x24
.GRUB_BACKGROUND
Hiermit legen Sie ein Hintergrundbild für das grafische Terminal
gfxterm
fest. Das Bild muss in einer Datei gespeichert sein, die GRUB 2 beim Booten lesen kann, und die Dateinamenerweiterung muss.png
,.tga
,.jpg
oder.jpeg
lauten. Falls erforderlich, wird das Bild auf die Bildschirmgröße skaliert.GRUB_DISABLE_OS_PROBER
Bei
true
wird die automatische Suche nach anderen Betriebssystemen deaktiviert. Nur die Kernel-Images in/boot/
und die Optionen aus Ihren eigenen Skripten in/etc/grub.d/
werden erkannt.SUSE_BTRFS_SNAPSHOT_BOOTING
Bei
true
kann GRUB 2 direkt in Snapper-Snapshots booten. Weitere Informationen finden Sie im Abschnitt 10.3, „System-Rollback durch Booten aus Snapshots“.
Im GNU GRUB manual erhalten Sie eine vollständige Liste der Optionen.
18.2.3 Skripte in /etc/grub.d
#
Die Skripte in diesem Verzeichnis werden beim Ausführen des Befehls grub2-mkconfig -o /boot/grub2/grub.cfg
gelesen. Ihre Anweisungen sind in /boot/grub2/grub.cfg
integriert. Die Reihenfolge der Menüpunkte in grub.cfg
ergibt sich aus der Reihenfolge, in der die Dateien in diesem Verzeichnis ausgeführt werden. Dateien mit einer Zahl am Anfang des Dateinamens werden zuerst ausgeführt, beginnend mit der niedrigsten Zahl. 00_header
wird beispielsweise vor 10_linux
ausgeführt, das wiederum vor 40_custom
ausgeführt wird. Dateien mit einem Buchstaben an der ersten Stelle im Dateinamen werden nach den Dateien mit Zahlen am Anfang ausgeführt. Nur ausführbare Dateien erzeugen beim Ausführen von grub.cfg
eine Ausgabe in grub2-mkconfig
. Standardmäßig sind alle Dateien im Verzeichnis /etc/grub.d
ausführbar.
grub.cfg
/boot/grub2/grub.cfg
wird bei jedem Ausführen von grub2-mkconfig
neu kompiliert, sodass benutzerdefinierte Inhalte verloren gehen. Um Ihre Zeilen direkt in /boot/grub2/grub.cfg
einzufügen, ohne dass sie nach der Ausführung von grub2-mkconfig
verloren gehen, fügen Sie sie zwischen folgenden Zeilen ein:
### BEGIN /etc/grub.d/90_persistent ###
und
### END /etc/grub.d/90_persistent ###
Das Skript 90_persistent
sorgt dafür, dass diese Inhalte erhalten bleiben.
Hier finden Sie eine Liste der wichtigsten Skripten:
00_header
Hiermit werden Umgebungsvariablen festgelegt, beispielsweise der Speicherort von Systemdateien, Anzeigeeinstellungen, Themen und zuvor gespeicherte Einträge. Außerdem werden die Voreinstellungen aus der Datei
/etc/default/grub
importiert. In der Regel sind keine Änderungen an dieser Datei notwendig.10_linux
Hiermit werden Linux-Kernel im root-Gerät erkannt und relevante Menüeinträge erstellt. Hierbei wird auch die zugehörige Option für den Wiederherstellungsmodus berücksichtigt (sofern aktiviert). Auf der Hauptmenüseite wird nur der jüngste Kernel angezeigt; weitere Kernel werden in einem Untermenü aufgeführt.
30_os-prober
Bei diesem Skript werden Linux und andere Betriebssysteme mithilfe von
os-prober
gesucht und die Ergebnisse werden in das GRUB 2-Menü eingetragen. Das Skript bietet Abschnitte für die Erkennung bestimmter anderer Betriebssysteme (z. B. Windows oder macOS).40_custom
Mit dieser Datei können Sie schnell und einfach benutzerdefinierte Booteinträge in
grub.cfg
einbinden. Der Bestandteilexec tail -n +3 $0
am Anfang darf dabei nicht geändert werden.
Die Verarbeitungsreihenfolge ergibt sich aus den Zahlen am Anfang des Skriptnamens, wobei das Skript mit der niedrigsten Zahl zuerst ausgeführt wird. Wenn mehrere Skripte mit derselben Zahl beginnen, entscheidet die alphabetische Sortierung des vollständigen Namens über die endgültige Reihenfolge.
/boot/grub2/custom.cfg
Wenn Sie die Datei /boot/grub2/custom.cfg
erstellen und mit Inhalt füllen, wird sie automatisch beim Booten direkt hinter 40_custom
in /boot/grub2/grub.cfg
eingefügt.
18.2.4 Zuordnung von BIOS-Laufwerken und Linux-Geräten #
In GRUB Legacy wurden die Linux-Geräte mithilfe der Konfigurationsdatei device.map
aus den Nummern der BIOS-Laufwerke abgeleitet. Die Zuordnung von BIOS-Laufwerken und Linux-Geräten ist jedoch nicht in jedem Fall fehlerfrei erkennbar. Wenn Sie beispielsweise die Reihenfolge der IDE- und SCSI-Laufwerke in der BIOS-Konfiguration vertauschen, entsteht in GRUB Legacy eine falsche Reihenfolge.
In GRUB 2 werden beim Erzeugen der Datei grub.cfg
dagegen Geräte-ID-Zeichenfolgen (UUIDs) oder Dateisystemkennungen erzeugt, damit dieses Problem vermieden wird. In GRUB 2 wird eine interaktive temporäre Gerätezuordnung genutzt, die in der Regel ausreicht, insbesondere bei Systemen mit nur einer Festplatte.
Falls die automatische Zuordnung in GRUB 2 außer Kraft gesetzt werden soll, legen Sie eine benutzerdefinierte Zuordnungsdatei mit dem Dateinamen /boot/grub2/device.map
an. Im nachfolgenden Beispiel wird die Zuordnung so geändert, dass DISK 3
das Bootlaufwerk ist. Die GRUB 2-Partitionsnummern beginnen mit 1
, nicht mit 0
wie in GRUB 2 Legacy.
(hd1) /dev/disk-by-id/DISK3 ID (hd2) /dev/disk-by-id/DISK1 ID (hd3) /dev/disk-by-id/DISK2 ID
18.2.6 Festlegen eines Bootpassworts #
GRUB 2 unterstützt schon vor dem Booten des Betriebssystems den Zugriff auf Dateisysteme. Dies bedeutet, dass Benutzer ohne root-Berechtigungen auf Dateien des Linux-Systems zugreifen können, auf die sie nach dem Booten keinen Zugriff haben. Um diese Zugriffe oder das Booten bestimmter Menüeinträge zu verhindern, können Sie ein Bootpasswort festlegen.
Das Bootpasswort muss dann bei jedem Booten eingegeben werden; das System wird also nicht automatisch gebootet.
Legen Sie das Bootpasswort gemäß den nachfolgenden Anweisungen fest. Alternativ verwenden Sie YaST ().
Verschlüsseln Sie das Passwort mit
grub2-mkpasswd-pbkdf2:
:>
sudo
grub2-mkpasswd-pbkdf2 Password: **** Reenter password: **** PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...Fügen Sie die resultierende Zeichenfolge zusammen mit dem Befehl
set superusers
in die Datei/etc/grub.d/40_custom
ein.set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
Führen Sie zum Importieren der Änderungen in der Hauptkonfigurationsdatei Folgendes aus:
>
sudo
grub2-mkconfig -o /boot/grub2/grub.cfg
Nach dem Neubooten werden Sie von GRUB 2 aufgefordert, einen Benutzernamen und ein Passwort einzugeben, sobald Sie versuchen, einen Menüeintrag zu booten. Geben Sie root
und das Passwort ein, das Sie während des Befehls grub2-mkpasswd-pbkdf2
eingegeben haben. Wenn der Berechtigungsnachweis fehlerfrei ist, bootet das System den angegebenen Booteintrag.
Weitere Informationen finden Sie in https://www.gnu.org/software/grub/manual/grub/grub.html#Security.
18.2.7 Autorisierter Zugriff auf Bootmenüeinträge #
Sie können GRUB 2 so konfigurieren, dass der Zugriff auf die Bootmenüeinträge abhängig von der Autorisierungsstufe gewährt wird. Sie können mehrere mit Passwörtern geschützte Benutzerkonten konfigurieren und ihnen Zugriff auf verschiedene Menüeinträge zuweisen. So konfigurieren Sie die Autorisierung in GRUB 2:
Erstellen und verschlüsseln Sie ein Passwort für jedes Benutzerkonto, das Sie in GRUB 2 verwenden möchten. Führen Sie den Befehl
grub2-mkpasswd-pbkdf2
aus (siehe Abschnitt 18.2.6, „Festlegen eines Bootpassworts“).Löschen Sie die Datei
/etc/grub.d/10_linux
. Damit wird die Ausgabe der standardmäßigen GRUB 2-Menüeinträge verhindert.Bearbeiten Sie die Datei
/boot/grub2/custom.cfg
und fügen Sie manuell benutzerdefinierte Menüeinträge hinzu. Die folgende Schablone ist ein Beispiel, das Sie je nach Anwendungsfall individuell anpassen können:set superusers=admin password admin ADMIN_PASSWORD password maintainer MAINTAINER_PASSWORD menuentry 'Operational mode' { insmod ext2 set root=hd0,1 echo 'Loading Linux ...' linux /boot/vmlinuz root=/dev/vda1 $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_CMDLINE_LINUX mode=operation echo 'Loading Initrd ...' initrd /boot/initrd } menuentry 'Maintenance mode' --users maintainer { insmod ext2 set root=hd0,1 echo 'Loading Linux ...' linux /boot/vmlinuz root=/dev/vda1 $GRUB_CMDLINE_LINUX_DEFAULT $GRUB_CMDLINE_LINUX mode=maintenance echo 'Loading Initrd ...' initrd /boot/initrd }
Importieren Sie die Änderungen in der Hauptkonfigurationsdatei:
>
sudo
grub2-mkconfig -o /boot/grub2/grub.cfg
Im obigen Beispiel:
Das GRUB 2-Menü hat zwei Einträge –
(Betriebsmodus) und (Wartungsmodus).Wenn kein Benutzer angegeben ist, ist der Zugriff auf beide Bootmenüeinträge möglich, doch niemand kann auf die GRUB 2-Befehlszeile zugreifen oder vorhandene Menüeinträge bearbeiten.
Der
admin
-Benutzer kann auf die GRUB 2-Befehlszeile zugreifen und vorhandene Menüeinträge bearbeiten.Der
maintenance
-Benutzer kann den Menüeintrag für die Wiederherstellung auswählen.
18.3 Konfigurieren des Bootloaders mit YaST #
Mit dem YaST-Modul ist die Konfiguration des Bootloaders auf Ihrem SUSE Linux Enterprise-Server am einfachsten. Wählen Sie im die Option › . Das Modul zeigt die aktuelle Bootloader-Konfiguration des Systems und ermöglicht Ihnen, Änderungen vorzunehmen.
Verwenden Sie den Karteireiter
, um die Einstellungen in Bezug auf Typ, Speicherort und erweiterte Bootloader-Einstellungen anzuzeigen und zu ändern. Sie können festlegen, ob GRUB 2 im Standardmodus oder im EFI-Modus verwendet werden soll.Bei einem EFI-System können Sie nur GRUB2-EFI installieren, da das System ansonsten nicht mehr bootfähig ist.
Um den Bootloader neu zu installieren, muss eine Einstellung in YaST geändert und wieder zurückgesetzt werden. Um beispielsweise GRUB2-EFI neu zu installieren, wählen Sie zuerst
aus und wechseln Sie sofort wieder zurück zu .Ansonsten wird der Bootloader möglicherweise nur zum Teil neu installiert.
Wenn Sie einen anderen Bootloader außer den aufgeführten Bootloadern verwenden möchten, wählen Sie
. Lesen Sie die Dokumentation Ihres Bootloaders sorgfältig durch, bevor Sie diese Option auswählen.18.3.1 Speicherort des Bootloaders und Boot-Code-Optionen #
Der Standardspeicherort des Bootloaders ist abhängig von der Partitionseinrichtung – es handelt sich entweder um den Master Boot Record (MBR) oder den Bootsektor der Partition /
. Um den Speicherort des Bootloaders zu ändern, gehen Sie wie folgt vor:
Wählen Sie den Karteireiter
und anschließend eine der folgenden Optionen für :Hiermit wird der Bootloader in den MBR der Festplatte installiert, auf der sich das Verzeichnis
/boot
befindet. In der Regel ist dies die Festplatte, die in/
eingehängt ist. Falls/boot
in einer anderen Partition auf einer anderen Festplatte eingehängt ist, wird entsprechend der MBR der anderen Festplatte herangezogen.Der Bootloader wird in den Bootsektor der Partition
/
installiert.Mit dieser Option können Sie den Speicherort des Bootloaders manuell angeben.
Klicken Sie auf
, um die Änderungen zu übernehmen.
Die Registerkarte
enthält die folgenden zusätzlichen Optionen:Aktiviert die Partition, die das Verzeichnis
/boot
enthält. Bei POWER-Systemen wird die PReP-Partition aktiviert. Verwenden Sie diese Option auf Systemen mit älterem BIOS und/oder älteren Betriebssystemen, da diese Systeme unter Umständen nicht von einer nicht aktiven Partition gebootet werden können. Diese Option kann problemlos aktiviert bleiben.Wenn der MBR einen benutzerdefinierten „Nicht-GRUB-Code“ enthält, ersetzt diese Option diesen Code durch einen generischen, betriebssystemunabhängigen Code. Wenn Sie diese Option deaktivieren, ist das System eventuell nicht mehr bootfähig.
Startet TrustedGRUB2, womit die Funktion für Trusted Computing (Trusted Platform Module (TPM)) unterstützt wird. Weitere Informationen finden Sie unter https://github.com/Sirrix-AG/TrustedGRUB2.
Der Abschnitt
enthält folgende Optionen:Diese Option eignet sich für das herkömmliche Booten mit Legacy-BIOS.
Diese Option eignet sich für das UEFI-Booten.
Dies ist in der Regel die beste Option, wenn bereits ein funktionsfähiges System vorliegt.
In den meisten Fällen verwendet YaST standardmäßig die jeweils richtige Option.
18.3.2 Anpassen der Festplattenreihenfolge #
Wenn der Rechner mit mehreren Festplatten ausgestattet ist, können Sie die Bootreihenfolge für die Festplatten festlegen. GRUB 2 wird auf der ersten Festplatte in der Liste installiert, wenn vom MBR gebootet wird. Auf dieser Festplatte wird SUSE Linux Enterprise Server standardmäßig installiert. Die restlichen Einträge in der Liste bilden Hinweise für den Geräte-Mapper von GRUB 2 (siehe Abschnitt 18.2.4, „Zuordnung von BIOS-Laufwerken und Linux-Geräten“).
Der Standardwert gilt in der Regel für nahezu alle Bereitstellungen. Wenn Sie die Bootreihenfolge der Festplatten falsch ändern, ist das System beim nächsten Booten unter Umständen nicht mehr bootfähig. Dies ist beispielsweise der Fall, wenn die erste Festplatte in der Liste nicht in der BIOS-Bootreihenfolge aufgeführt und der MBR der anderen Festplatten in der Liste leer ist.
Öffnen Sie die Registerkarte
.Klicken Sie auf
.Ändern Sie bei mehreren aufgeführten Festplatten deren Reihenfolge mit einem Klick auf
oder .Klicken Sie zweimal auf
, um die Änderungen zu speichern.
18.3.3 Konfigurieren der erweiterten Optionen #
Erweiterte Bootparameter lassen sich über die Registerkarte
konfigurieren.18.3.3.1 Registerkarte #
Zum Ändern des Werts für
geben Sie einen neuen Wert ein, und klicken Sie mit der Maus auf die entsprechenden Pfeilschaltfläche.Mit dieser Option sucht der Bootloader nach anderen Systemen, z. B. Windows oder andere Linux-Installationen.
Blendet das Bootmenü aus und bootet den Standardeintrag.
Wählen Sie den gewünschten Eintrag in der Liste „Standard-Bootabschnitt“ aus. Beachten Sie, dass das Zeichen „>“ im Namen des Booteintrags den Bootabschnitt und den zugehörigen Unterabschnitt begrenzt.
Schützt den Bootloader und das System mit einem zusätzlichen Passwort. Details zur manuellen Konfiguration finden Sie in Abschnitt 18.2.6, „Festlegen eines Bootpassworts“. Das Bootpasswort muss bei jedem Booten eingegeben werden, wenn diese Option aktiviert ist. Das System wird also nicht automatisch gebootet. Wenn Sie jedoch das Verhalten von GRUB 1 bevorzugen, aktivieren Sie zusätzlich . Bei dieser Einstellung darf jeder eine Boot-Eingabe auswählen und das System booten. Das Passwort für den GRUB 2
root
-Benutzer ist jedoch nur zum Ändern der Boot-Einträge erforderlich.
18.3.3.2 Registerkarte #
Geben Sie hier optionale Kernel-Parameter an, um Systemfunktionen zu aktivieren/deaktivieren, Treiber hinzuzufügen usw
SUSE hat mindestens einen Kernel-Boot-Befehlszeilenparameter für alle Software-Mitigationen veröffentlicht, die zur Vorbeugung von CPU-Seitenkanalangriffen bereitgestellt wurden. Einige Parameter führen unter Umständen zu Leistungseinbußen. Bringen Sie die Sicherheit und Leistung je nach Ihrer Situation mit einer der folgenden Optionen ins Gleichgewicht:
Aktiviert alle erforderlichen Mitigationen für Ihr CPU-Modell, schützt jedoch nicht vor CPU-übergreifenden Thread-Angriffen. Diese Einstellung kann die Leistung in gewissem Maße einschränken, je nach Auslastung. .
Aktiviert alle verfügbaren Sicherheitsmitigationen. Aktiviert alle erforderlichen Mitigationen für Ihr CPU-Modell. Darüber hinaus wird Simultaneous Multithreading (SMT) deaktiviert, sodass Seitenkanalangriffe über mehrere CPU-Threads unterbunden werden. Diese Einstellung kann die Leistung weiter einschränken, je nach Auslastung. .
Deaktiviert alle Mitigationen. Es sind Seitenkanalangriffe gegen die CPU möglich, je nach CPU-Modell. Diese Einstellung wirkt sich nicht auf die Leistung aus. .
Gibt keine Mitigationsstufe vor. Legen Sie die CPU-Mitigationen manuell über die Kernel-Befehlszeilenoptionen fest. .
Wenn diese Option aktiviert ist, wird das Bootmenü nicht im Textmodus dargestellt, sondern in einem grafischen Begrüßungsbildschirm. Die Auflösung des Bootbildschirms wird standardmäßig automatisch festgelegt, doch Sie können diese manuell über
festlegen. Die Datei mit der Definition des Grafikthemas wird mit der -Dateiauswahl angegeben. Ändern Sie diese Einstellung nur, wenn Sie ein eigenes benutzerdefiniertes Thema anwenden möchten.Wenn Ihr Computer über eine serielle Konsole gesteuert wird, aktivieren Sie diese Option und geben Sie an, welcher COM-Port in welcher Geschwindigkeit verwendet werden soll. Informationen finden Sie unter
info grub
oder https://www.gnu.org/software/grub/manual/grub.html#Serial-terminal
18.4 Unterschiede bei der Terminalnutzung auf IBM Z #
Auf 3215- und 3270-Terminals gelten bestimmte Unterschiede und Einschränkungen beim Bewegen des Cursors und beim Verwenden von Bearbeitungsbefehlen in GRUB 2.
18.4.1 Nutzungsbeschränkungen #
- Interaktivität
Die Interaktivität wird dringend empfohlen. Bei der Eingabe erfolgt häufig keine visuelle Rückmeldung. Zum Ermitteln der Cursorposition geben Sie einen Unterstrich (_) ein.
Anmerkung: 3270 im Vergleich zu 3215Das 3270-Terminal bietet eine bessere Darstellung und Bildschirmaktualisierung als das 3215-Terminal.
- Cursorbewegung
Die „herkömmliche“ Cursorbewegung ist nicht möglich. Alt, Meta, Strg und die Cursortasten sind nicht funktionsfähig. Bewegen Sie den Cursor mit den Tastenkombinationen in Abschnitt 18.4.2, „Tastenkombinationen“.
- Caret
Das Caret ^ dient als Steuerzeichen. Zur Eingabe eines Buchstabens mit Caret ^ geben Sie Folgendes ein: ^, ^, LETTER.
- Geben Sie Folgendes ein:
Die Eingabetaste-Taste ist nicht funktionsfähig; drücken Sie stattdessen ^–J.
18.4.2 Tastenkombinationen #
Häufig ersetzt durch: |
^–J |
Erfassen („Eingabetaste“) |
^–L |
Abbrechen, zum letzten „Status“ zurückkehren | |
^–I |
Karteireiter ausfüllen (im Bearbeitungs- und Shell-Modus) | |
Verfügbare Tasten im Menümodus: |
^–A |
Erster Eintrag |
^–E |
Letzter Eintrag | |
^–P |
Vorheriger Eintrag | |
^–N |
Nächster Eintrag | |
^–G |
Vorherige Seite | |
^–C |
Nächste Seite | |
^–F |
Ausgewählten Eintrag booten oder Untermenü öffnen (entspricht ^–J) | |
E |
Ausgewählten Eintrag bearbeiten | |
C |
GRUB-Shell öffnen | |
Verfügbare Tasten im Bearbeitungsmodus: |
^–P |
Vorherige Zeile |
^–N |
Nächste Zeile | |
^–B |
Ein Zeichen zurück | |
^–F |
Ein Zeichen weiter | |
^–A |
Zeilenanfang | |
^–E |
Zeilenende | |
^–H |
Rücktaste | |
^–D |
delete | |
^–K |
Zeile löschen | |
^–Y |
Kopieren | |
^–O |
Zeile öffnen | |
^–L |
Bildschirm aktualisieren | |
^–X |
Eintrag booten | |
^–C |
GRUB-Shell öffnen | |
Verfügbare Tasten im Befehlszeilenmodus: |
^–P |
Vorheriger Befehl |
^–N |
Nächster Befehl im Verlauf | |
^–A |
Zeilenanfang | |
^–E |
Zeilenende | |
^–B |
Ein Zeichen zurück | |
^–F |
Ein Zeichen weiter | |
^–H |
Rücktaste | |
^–D |
delete | |
^–K |
Zeile löschen | |
^–U |
Zeile verwerfen | |
^–Y |
Kopieren |
18.5 Nützliche Befehle in GRUB 2 #
grub2-mkconfig
Generiert eine neue Datei
/boot/grub2/grub.cfg
basierend auf/etc/default/grub
und den Skripten von/etc/grub.d/
.Beispiel 18.1: Verwendung von grub2-mkconfig #grub2-mkconfig -o /boot/grub2/grub.cfg
Tipp: SyntaxprüfungWenn Sie
grub2-mkconfig
ohne Parameter ausführen, wird die Konfiguration an STDOUT ausgegeben und kann dort abgerufen werden. Zur Syntaxprüfung führen Siegrub2-script-check
aus, sobald die Datei/boot/grub2/grub.cfg
geschrieben wurde.Wichtig: Mitgrub2-mkconfig
können UEFI Secure-Boottabellen nicht repariert werdenWenn Sie UEFI Secure Boot verwenden und Ihr System GRUB 2 nicht mehr ordnungsgemäß erreichen kann, müssen Sie möglicherweise zusätzlich Shim neu installieren und die UEFI-Boottabelle regenerieren. Verwenden Sie hierzu den folgenden Befehl:
#
shim-install --config-file=/boot/grub2/grub.cfggrub2-mkrescue
Hiermit wird ein bootfähiges Rettungs-Image der installierten GRUB 2-Konfiguration erstellt.
Beispiel 18.2: Verwendung von grub2-mkrescue #grub2-mkrescue -o save_path/name.iso iso
grub2-script-check
Hiermit prüfen Sie die angegebene Datei auf Syntaxfehler.
Beispiel 18.3: Verwendung von grub2-script-check #grub2-script-check /boot/grub2/grub.cfg
grub2-once
Hiermit legen Sie den Standard-Booteintrag für den nächsten Bootvorgang fest (dies wird nicht dauerhaft gespeichert). Mit der Option
--list
erhalten Sie eine Liste der verfügbaren Booteinträge.Beispiel 18.4: Verwendung von grub2-once #grub2-once number_of_the_boot_entry
Tipp:grub2-once
helpWenn Sie das Programm ohne Angabe von Optionen aufrufen, erhalten Sie eine vollständige Liste der zulässigen Optionen.
18.6 Rescue-Modus #
Der Rescue-Modus ist eine spezielle root
-Benutzersitzung zur Fehlerbehebung und Reparatur von Systemen, bei denen beim Booten eine Fehler auftritt. Er bietet eine Einzelbenutzerumgebung mit lokalen Dateisystemen und aktiven Kernsystemdiensten. Es sind keine Netzwerkschnittstellen aktiviert. Gehen Sie folgendermaßen vor, um in den Rescue-Modus zu gelangen.
Booten Sie das System neu. Der Bootbildschirm wird mit dem GRUB 2-Startmenü angezeigt.
Wählen Sie den Menüeintrag zum Booten und drücken Sie e, um die Bootzeile zu bearbeiten.
Fügen Sie den folgenden Parameter an die Zeile mit den Kernel-Parametern an:
systemd.unit=rescue.target
Drücken Sie Strg+X , um mit diesen Einstellungen zu booten.
Geben Sie das Passwort für
root
ein.Nehmen Sie alle erforderlichen Änderungen vor.
Wechseln Sie wieder zum Ziel im normalen Betrieb, indem Sie an der Befehlszeile
systemctl isolate multi-user.target
dersystemctl isolate graphical.target
eingeben.
18.7 Weitere Informationen #
Umfassende Informationen zu GRUB 2 finden Sie unter https://www.gnu.org/software/grub/. Ausführliche Informationen finden Sie auch auf der Infoseite für den Befehl grub
. Weitere Informationen zu bestimmten Themen erhalten Sie auch, wenn Sie „GRUB 2“ in der Suchfunktion für technische Informationen unter https://www.suse.com/support als Suchwort eingeben.