- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
SYSTEMD-BOOT(7) | systemd-boot | SYSTEMD-BOOT(7) |
BEZEICHNUNG¶
systemd-boot, sd-boot - Ein einfacher UEFI-Systemstartverwalter
BESCHREIBUNG¶
systemd-boot (kurz sd-boot) ist ein einfacher UEFI-Systemstartverwalter. Er stellt ein textuelles Menü zur Auswahl des zu startenden Eintrags und einen Editor für die Kernelbefehlszeile zur Verfügung. systemd-boot unterstützt nur Systeme mit UEFI-Firmware.
systemd-boot lädt Systemstarteintragsinformationen aus der EFI-Systempartition (ESP), die zur Betriebssystemlaufzeit normalerweise unter /efi/, /boot/ oder /boot/efi/ eingehängt ist, sowie von der »Extended Boot Loader«-Partition (XBOOTLDR), falls sie existiert (normalerweise unter /boot/ eingehängt). Konfigurationsdateifragmente, Kernel, Initrds und andere zu startende EFI-Images müssen im Allgemeinen in der ESP oder der »Extended Boot Loader«-Partition liegen. Linux-Kernel müssen mit CONFIG_EFI_STUB gebaut sein, damit sie direkt als EFI-Image ausgeführt werden können. Während des Systemstarts fügt systemd-boot automatisch eine Liste von Systemstarteinträgen aus den folgenden Quellen zusammen:
systemd-boot unterstützt die folgenden Funktionalitäten:
bootctl(1) kann aus dem laufenden System verwandt werden, um die ESP und die »Extended Boot Loader«-Partition zu ermitteln, verfügbare Einträge aufzulisten und systemd-boot selbst zu installieren.
kernel-install(8) kann zum Kopieren des Kernel-Images auf die ESP oder die »Extended Boot Loader«-Partition und zur Erstellung von Beschreibungsdateien, die konform mit der Boot-Loader-Spezifikation sind, verwandt werden.
systemd-stub(7) kann als UEFI-Systemstartrumpf für ausgeführte Kernel verwandt werden. Das ist nützlich, um graphische Systemstartbilder zu zeigen, bevor in die Linux-Welt übergeleitet wird. Es ist auch in der Lage, zusätzliche Zugangsberechtigungsdateien aufzusammeln (für die Parametrisierung des Systemstarts) und Erweiterungsabbilder für das System, wie Begleitdateien für die gestarteten Kernelabbilder.
TASTENBELEGUNGEN¶
Im Boot-Menü können die folgenden Tasten verwandt werden:
↑ (Hoch), ↓ (Runter), j, k, SeiteHoch, SeiteRunter, Pos 1, Ende
Hinzugefügt in Version 239.
↵ (Eingabe), → (Rechts)
Hinzugefügt in Version 239.
d
Hinzugefügt in Version 239.
e
Hinzugefügt in Version 239.
+, t
Hinzugefügt in Version 239.
-, T
Hinzugefügt in Version 239.
r
Hinzugefügt in Version 250.
R
Hinzugefügt in Version 250.
p
Hinzugefügt in Version 250.
h, ?, F1
Hinzugefügt in Version 239.
f
Zur Kompatibilität mit Tastaturbindungen mehrerer Firmware-Implementierungen kann diese Aktion auch mit F2, F10, Entf und Esc erreicht werden.
Hinzugefügt in Version 250.
Umschalt+o
Hinzugefügt in Version 255.
Umschalt+b
Hinzugefügt in Version 255.
Die folgenden Tasten können während des Systemstarts oder im Startmenü gedrückt werden, um direkt einen bestimmten Eintrag zu starten:
l
Hinzugefügt in Version 239.
w
Hinzugefügt in Version 239.
a
Hinzugefügt in Version 239.
s
Hinzugefügt in Version 239.
1, 2, 3, 4, 5, 6, 7, 8, 9
Hinzugefügt in Version 239.
Das Boot-Menü wird angezeigt, wenn eine Zeitüberschreitung größer Null konfiguriert wurde. Falls die Menü-Zeitüberschreitung auf Null gesetzt wurde, reicht es aus, eine Taste zu drücken - bevor sich das Systemstartprogramm initialisiert -- um das Boot-Menü hochzubringen. Ausnahmen sind die direkt hierüber aufgeführten Tasten, da sie direkt in den ausgewählten Boot-Menü-Eintrag starten. Beachten Sie, dass das Zeitfenster, in dem Tastendrücke akzeptiert werden, bevor sich das Systemstartprogramm initialisiert, abhängig von der Firmware-Implementierung sehr kurz sein kann. Falls das Fenster verpasst wird, starten Sie neu und versuchen Sie es erneut, möglicherweise, indem sie eine geeignete Taste (beispielsweise die Leertaste) dauerhaft drücken: auf den meisten Systemen sollte es möglich sein, das Zeitfenster nach ein paar Versuchen zu treffen. Um das Problem zu vermeiden, sollten Sie darüber nachdenken, die Zeitüberschreitung auf einen Wert größer Null zu setzen, wodurch das Boot-Menü bedingungslos angezeigt wird. Einige Desktop-Umgebungen könnten anbieten, direkt in das Boot-Menü zu starten, um das Problem insgesamt zu vermeiden. Alternativ können Sie auch die Befehlszeile systemctl reboot --boot-loader-menu=0 auf der Shell verwenden.
Im Editor fügen die meisten Tasten einfach sich selbst ein, aber die folgenden Tasten können zur Ausführung zusätzlicher Aktionen verwandt werden:
← (Links), → (Rechts), Pos 1, Ende
Hinzugefügt in Version 239.
Esc, Strg+c
Hinzugefügt in Version 239.
Strg+k
Hinzugefügt in Version 239.
Strg+w, Alt+Rückschritt
Hinzugefügt in Version 239.
Strg+Entf, Alt+d
Hinzugefügt in Version 239.
↵ (Eingabe)
Hinzugefügt in Version 239.
Beachten Sie, dass Systemd-boot die US-Tastaturbelegung verwenden wird, falls es nicht anders konfiguriert wurde, und daher die Tastenbezeichnungen für Tasten wie +/- nicht passen könnten.
DATEIEN¶
Die Dateien, die systemd-boot verarbeitet, befinden sich im Allgemeinen auf der UEFI ESP, die normalweise während der Laufzeit des Betriebssystems auf /efi/, /boot/ oder /boot/efi/ eingehängt ist. Es verarbeitet auch Dateien auf der Erweiterten Systemlade-Partition, die normalerweise auf /boot/ eingehängt ist, falls sie existiert.
systemd-boot liest Laufzeitkonfiguration wie die Systemstart-Zeitüberschreitung und den Vorgabeeintrag aus /loader/loader.conf aus dem ESP (zusammen mit aus EFI-Variablen gelesenen Daten). Siehe loader.conf(5).
Systemstarteintragbeschreibungsdateien, die der Boot Loader-Spezifikation[1] folgen, werden aus /loader/entries/ auf dem ESP und der Erweiterten Systemladepartition gelesen.
Vereinigte Kernel-Einträge, die der Boot Loader-Spezifikation[1] folgen, werden aus /EFI/ Linux/ auf der ESP und der »Extended Boot Loader«-Partition gelesen.
Optional wird ein Zufallsstartwert für die Bereitstellung der Entropie-Sammlung für die frühe Systemstartphase in /loader/random-seed in dem ESP gespeichert.
Während der Initialisierung lädt sd-boot automatisch alle im Verzeichnis /EFI/systemd/drivers/ auf dem ESP abgelegten Treiberdateien. Die dort abgelegten Dateien müssen eine Erweiterung der EFI-Architekturkennung gefolgt von .efi haben (für x86-64 bedeutet dies beispielsweise eine Endung x64.efi). Dies kann zum automatischen Laden von Dateisystemtreibern und ähnlichem verwandt werden, um die Unterstützung der nativen Firmware zu erweitern.
Die Registrierung von Variablen für den sicheren Systemstart kann manuell oder automatisch erfolgen, falls Dateien unter /loader/keys/NAME/{db,dbx,KEK,PK}.auth verfügbar sind. NAME ist der Anzeigename für die Variablengruppe im Menü. Falls eine der Gruppen »auto« heißt, dann könnte sie automatisch registriert werden, abhängig davon, ob »secure-boot-enroll« auf »force« gesetzt ist.
EFI-VARIABLEN¶
Die folgenden EFI-Variablen sind definiert und werden durch systemd-boot unter der Lieferanten-UUID »4a67b082-0a4c-41cf-b6c7-440b29bb8c4f« für die Kommunikation zwischen dem Boot-Loader und dem Betriebssystem gesetzt und gelesen:
LoaderBootCountPath
Hinzugefügt in Version 240.
LoaderConfigTimeout, LoaderConfigTimeoutOneShot
Hinzugefügt in Version 240.
LoaderConfigConsoleMode
Hinzugefügt in Version 250.
LoaderDevicePartUUID
Hinzugefügt in Version 240.
LoaderEntries
Hinzugefügt in Version 240.
LoaderEntryDefault, LoaderEntryOneShot
Hinzugefügt in Version 240.
LoaderEntryLastBooted
Das Systemstartladeprogramm stellt sicher, dass LoaderEntryLastBooted für jeden Systemstart aktuell ist. Es aktualisiert ihn bei Bedarf und unterlässt die Änderung komplett, wenn LoaderEntryOneShot gesetzt ist.
Das Systemstartladeprogramm liest die Variable, die eine höhere Priorität als LoaderEntryDefault hat. Die Variable wird ignoriert, wenn LoaderEntryOneShot gesetzt ist.
LoaderEntryLastBooted kann nicht als Indiz verwandt werden, ob der letzte Systemstart erfolgreich war.
Hinzugefügt in Version 250.
LoaderEntrySelected
Hinzugefügt in Version 240.
LoaderFeatures
Hinzugefügt in Version 240.
LoaderFirmwareInfo, LoaderFirmwareType
Hinzugefügt in Version 240.
LoaderImageIdentifier
Hinzugefügt in Version 240.
LoaderInfo
Hinzugefügt in Version 240.
LoaderTimeExecUSec, LoaderTimeInitUSec, LoaderTimeMenuUsec
Hinzugefügt in Version 240.
LoaderSystemToken
Hinzugefügt in Version 243.
Viele dieser Variablen werden durch die Systemladerschnittstelle[2] definiert.
SMBIOS-TYP-11-ZEICHENKETTEN¶
systemd-boot kann konfiguriert werden, SMBIOS-Typ-11-Zeichenketten zu verwenden. Anwendbare Zeichenketten bestehen aus einem Namen, gefolgt von »=«, gefolgt vom Wert. Außer wenn systemd-boot erkennt, dass es innerhalb einer vertraulichen Rechnerumgebung läuft, wird systemd-boot die Tabelle nach einer Zeichenkette mit dem bestimmten Namen durchsuchen und, falls er gefunden wird, seinen Wert verwenden. Die folgenden Zeichenketten werden gelesen:
io.systemd.boot.kernel-cmdline-extra
Hinzugefügt in Version 256.
STARTZÄHLUNG¶
systemd-boot implementiert einen einfachen Startzählungsmechanismus auf Grundlage der Boot-Loader-Spezifikation[1], für automatischen und unbeaufsichtigten Rückfall zu älteren Kernelversionen/Boot-Loader-Einträgen, wenn ein bestimmter Eintrag dauerhaft fehlschlägt. Alle Boot-Loader-Eintragsdateien und vereinigte Kernel-Image-Dateien, bei denen ein »+« von einer oder mehreren Zahlen (falls es zwei sind, müssen sie durch ein »-« getrennt werden) vor der Endung ».conf« oder ».efi« gefolgt ist, unterliegen der Startzählung: die erste der zwei Zahlen (»verbliebene Einträge«) wird bei jedem Systemstartversuch heruntergezählt, die zweite der zwei Zahlen (»unternommene Versuche«) wird um einen erhöht (falls »unternommene Versuche« nicht vorhanden ist, wird es als 0 angenommen). Abhängig vom aktuellen Wert dieser zwei Zähler wird der Boot-Eintrag einem der drei Zustände zugeordnet:
Im Allgemeinen befinden sich neu hinzugefügte Einträge zum Boot-Loader zuerst im Zustand »unbestimmt«, d.h. mit dem Zähler »verbliebene Einträge« größer als Null. Der Systemstarteintrag verbleibt in diesem Zustand, bis er entweder mindestens einmal erfolgreich durchgeführt wurde (woraufhin er sich im Zustand »gut« befindet) — oder der Zähler »verbliebene Einträge« erreicht Null (woraufhin er sich im Zustand »schlecht« befindet).
Beispiel: Die Systemstartladereintragsdatei foo.conf ist für 3 Startversuche eingerichtet. Das Installationsprogramm wird es daher unter dem Namen foo+3.conf erstellen. Beim ersten Systemstart wird der Boot-Loader ihn in foo+2-1.conf umbenennen. Falls dieser Systemstart nicht erfolgreich abgeschlossen werden kann, wird ihn der Boot-Loader in foo+1-2.conf beim nachfolgenden Systemstart umbenennen. Falls dieser auch fehlschlägt, wird er schließlich in foo+0-3.conf beim nachfolgenden Systemstart umbenannt, anschließend wird er als »schlecht« betrachtet. Falls allerdings der Systemstart erfolgreich abgeschlossen wird, wird die Eintragsdatei durch das Betriebssystem in foo.conf umbenannt, so dass sie von diesem Zeitpunkt an als »gut« betrachtet wird.
Das Systemstartmenü berücksichtigt den Zähler »verbliebene Einträge« bei der Sortierung der Menüeinträge: Einträge im »schlechten« Zustand werden am Anfang der Liste einsortiert und Einträge im »guten« oder »unbestimmten« Zustand am Ende. Der Benutzer kann frei den zu startenden Eintrag aus dem Menü aussuchen, auch die bereits als »schlecht« markierten. Falls der zu startende Eintrag automatisch bestimmt wird, bedeutet dies, dass »gute« oder »unbestimmte« Einträge im Allgemeinen bevorzugt werden (da der unterste Eintrag im Menü standardmäßig gestartet wird) und »schlechte« Einträge nur berücksichtigt werden, falls keine »guten« oder »unbestimmten« Einträge verblieben sind.
Das Kernelinstallationsrahmenwerk kernel-install(8) setzt optional den anfänglichen Zähler »verbliebene Einträge« auf den in /etc/kernel/tries festgelegten Wert, wenn ein Systemstarteintrag erstmals erstellt wird.
VERWENDUNG VON SYSTEMD-BOOT IN VIRTUELLEN MASCHINEN¶
Bei der Verwendung von Qemu mit OVMF (UEFI Firmware für virtuelle Maschinen) funktioniert der Schalter -kernel nicht nur für Linux-Kernel, sondern für jedes EFI-Programm, einschließlich sd-boot(7) und vereinigte Linux-Kernel. Zum Laden von systemd-boot auf X64 kann beispielsweise folgende Befehlszeile dienen:
qemu-system-x86_64 [ … ] -kernel /usr/lib/systemd/boot/efi/systemd-bootx64.efi
systemd-boot wird erkennen, dass es direkt gestartet wurde, statt vom ESP geladen zu werden und wird in diesem Fall nach dem ESP suchen und dabei die Systemstartreihenfolgeinformationen vom Hypervisor berücksichtigen (falls verfügbar).
SIEHE AUCH¶
bootctl(1), loader.conf(5), systemd-bless-boot.service(8), systemd-boot-random-seed.service(8), kernel-install(8), systemd-stub(7), Boot-Loader-Spezifikation[1], Boot-Loader-Schnittstelle[2], Von Systemd durchgeführte TPM2-PCR-Messungen[4]
ANMERKUNGEN¶
- 1.
- Systemladerspezifikation
- 2.
- Boot-Loader-Schnittstelle
- 3.
- Automatische Systemstartbeurteilung
- 4.
- Von Systemd durchgeführte TPM2-PCR-Messungen
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
systemd 256.5 |