Provided by: manpages-de_4.13-4_all 

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, 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:
• Systemstarteinträge, die in Beschreibungsdateien gemäß der Boot Loader-Spezifikation[1] in
/loader/entries/ auf der ESP und der »Extended Boot Loader«-Partition liegen. Diese beschreiben
normalerweise Linux-Kernel-Images mit zugehörigen Initrd-Images, können aber alternativ auch
beliebige andere EFI-Programme beschreiben.
• Vereinigte Kernel-Images, die der Boot Loader-Spezifikation[1] folgen, als ausführbare EFI-Programme
in /EFI/Linux/ auf der ESP und der »Extended Boot Loader«-Partition.
• Der Microsoft-Windows-EFI-Systemstartverwalter, falls installiert.
• Der Apple-macOS-Systemstartverwalter, falls installiert.
• Das EFI-Shell-Programm, falls installiert.
• Ein Neustart in die UEFI-Firmware-Einrichtungsoption, falls durch die Firmware unterstützt.
systemd-boot unterstützt die folgenden Funktionalitäten:
• Grundlegende Änderungen an der Konfiguration des Systemstartverwalters (wie Konfiguration der
Zeitüberschreitung, Vorgabe-Systemstartauswahl, …) können direkt zum Systemstartzeitpunkt von der
Bedienoberfläche des Systemstartprogramms aus vorgenommen werden, sowie während der Laufzeit des
Systems mit EFI-Variablen.
• Der Systemstartverwalter integriert mit dem Befehl systemctl, um Funktionalitäten wie systemctl
reboot --boot-loader-entry=… (zum Neustart in einen bestimmten Systemstartmenüeintrag, d.h. »Neustart
in Windows«) und systemctl reboot --boot-loader-menu=… (zum Neustawrten in das Systemstartmenü) zu
implementieren, indem die Systemladerschnittstelle[2] implementiert wird. Siehe systemctl(1) für
Details.
• Eine durch den Systemstartverwalter gesetzte EFI-Variable informiert das Betriebssystem über die
während des Systemstarts verwandte EFI-System-Partition. Dies wird dann dazu benutzt, automatisch die
korrekte EFI-System-Partition unter /efi/ oder /boot/ zur Betriebssystemlaufzeit einzuhängen. Siehe
systemd-gpt-auto-generator(8) für Details.
• Der Systemstartverwalter stellt unter Verwendung der Boot-Loader-Schnittstelle[2] Informationen über
die in der UEFI-Firmware verbrachte Zeit bereit. Diese Information kann mittels systemd-analyze(1)
dargestellt werden.
• Der Systemstartverwalter implementiert das Systemstartzählen und fällt bei Fehlschlägen automatisch
zu älteren, funktionierenden Systemstarteinträgen zurück. Siehe Automatische
Systemstartbeurteilung[3].
• Der Systemstartverwalter liest optional die Zufallsstartwerte aus der ESP-Partition, kombiniert sie
mit einem in einer dauerhaften EFI-Variable abgelegten »Systemmerkmal« und leitet einen
Zufallsstartwert ab, der vom Betriebssystem zur Initialisierung des Entropie-Fundus während der
frühen Systemstartphase verwandt wird.
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
Die Eintragsliste hoch/runter navigieren
↵ (Eingabe), → (Rechts)
Den ausgewählten Eintrag starten
d
Den ausgewählten Eintrag als Vorgabe setzen
e
Für den ausgewählten Eintrag die Kernelbefehlszeile bearbeiten
+, t
Die Zeitüberschreitung vor dem Starten des Vorgabeeintrags erhöhen
-, T
Die Zeitüberschreitung verringern
r
Ändert die Bildschirmauflösung, überspringt nicht unterstützte Modi.
R
Setzt die Bildschirmauflösung auf die Vorgabe der Firmware oder der Konfigurationsdatei zurück.
p
Gibt den Status aus
h, ?, F1
Zeigt einen Hilfebildschirm
f
Startet neu in die Firmware-Schnittstelle.
Zur Kompatibilität mit Tastaturbindungen mehrerer Firmware-Implementierungen kann diese Aktion auch
mit F2, F10, Entf und Esc erreicht werden.
Die folgenden Tasten können während des Systemstarts oder im Startmenü gedrückt werden, um direkt einen
bestimmten Eintrag zu starten:
l
Linux
w
Windows
a
macOS
s
EFI-Shell
1, 2, 3, 4, 5, 6, 7, 8, 9
Boot-Eintrag Nummer 1 … 9
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
Links/Rechts navigieren
Esc
Die Bearbeitung abbrechen und den Editor beenden
Strg+k
Die Befehlszeile leeren
Strg+w, Alt+Rückschritt
Rückwärts ein Wort löschen
Alt+d
Vorwärts ein Wort löschen
↵ (Eingabe)
Starteintrag mit der bearbeiteten Befehlszeile
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.
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
Falls Startzählung aktiviert ist, enthält dies den Pfad zu der Datei, in deren Namen die Startzähler
kodiert sind. Wird durch den Boot-Loader gesetzt. systemd-bless-boot.service(8) verwendet diese
Informationen, um einen Systemstart als erfolgreich zu markieren, wie dies durch die erfolgreiche
Aktivierung der Ziel-Unit boot-complete.target bestimmt wird.
LoaderConfigTimeout, LoaderConfigTimeoutOneShot
Die Menü-Zeitüberschreitung in Sekunden. Wird vom Boot-Loader gelesen. LoaderConfigTimeout wird
dauerhaft verwaltet, während LoaderConfigTimeoutOneShot eine einmalige Außerkraftsetzung ist, die
einmal gelesen wird (und in diesem Fall Vorrang vor LoaderConfigTimeout hat) und dann entfernt wird.
LoaderConfigTimeout kann mit den Tasten t/T verändert werden, siehe oben.
LoaderDevicePartUUID
Enthält die Partitions-UUID der EFI-Systempartition, von der der Boot-Loader gestartet wurde. Wird
vom Boot-Loader gesetzt. systemd-gpt-auto-generator(8) verwendet diese Information, um automatisch
die Platte zu finden, von der gestartet wurde, um die verschiedenen anderen Partitionen auf der
gleichen Platte automatisch zu erkennen.
LoaderEntries
Eine Liste der Kennzeichner aller erkannten Boot-Loader-Einträge. Wird vom Boot-Loader gesetzt.
LoaderEntryDefault, LoaderEntryOneShot
Der Kennzeichner des Standard-Boot-Loader-Eintrags. Wird primär vom Betriebssystem gesetzt und vom
Boot-Loader gelesen. LoaderEntryOneShot setzt den Vorgabeeintrag für nur den nächsten Systemstart,
während LoaderEntryDefault ihn dauerhaft für alle zukünftigen Systemstarts setzt. Die Befehle
set-default und set-oneshot von bootctl(1) verwenden diese Variablen. Der Boot-Loader verändert auf
Anfrage LoaderEntryDefault, wenn die Taste »d« gedrückt wird, siehe oben.
LoaderEntrySelected
Der Kennzeichner des Boot-Loader-Eintrags, der derzeit gestartet wird. Wird vom Boot-Loader gesetzt.
LoaderFeatures
Eine Gruppe von Schaltern, die anzeigen, welche Funktionalitäten der Boot-Loader unterstützt. Wird
vom Boot-Loader gesetzt. Verwenden Sie bootctl(1), um diese Daten anzuschauen.
LoaderFirmwareInfo, LoaderFirmwareType
Kurze Firmware-Information. Wird vom Boot-Loader gesetzt. Verwenden Sie bootctl(1), um diese Daten
anzuschauen.
LoaderImageIdentifier
Der Pfad zu dem Programm des Boot-Loaders, der für den aktuellen Systemstart verwandt wurde, relativ
zum Wurzelverzeichnis der EFI-Systempartition. Wird vom Boot-Loader gesetzt. Verwenden Sie
bootctl(1), um diese Daten anzuschauen.
LoaderInfo
Kurze Informationen über den Boot-Loader. Wird vom Boot-Loader gesetzt. Verwenden Sie bootctl(1), um
diese Daten anzuschauen.
LoaderTimeExecUSec, LoaderTimeInitUSec, LoaderTimeMenuUsec
Informationen über die in verschiedenen Teilen des Boot-Loaders verbrachte Zeit. Wird vom Boot-Loader
gesetzt. Verwenden Sie systemd-analyze(1), um diese Daten anzuschauen.
LoaderRandomSeed
systemd-boot kann optional einen binären Zufallsstartwert an das Betriebssystem weitergeben. Dies ist
eine flüchtige EFI-Variable, die einen während des Systemstarts ermittelten Hash aus der Kombination
des in der ESP gespeicherten Zufallsstartwertes (in /loader/random-seed) und einem »Systemmerkmal«,
das dauerhaft in der EFI-Variablen LoaderSystemToken (siehe unten) enthält. Während der frühen
Betriebssystemstartphase liest der Systemverwalter diese Variable und gibt sie an den Zufallsfundus
des Kernels weiter und schreibt die vollständige Entropie, die es enthält, gut. Dies ist eine
effiziente Art, um sicherzustellen, dass das System mit einem vollständig initialisierten
Entropiefundus des Kernels startet, und zwar schon während der Phase der anfänglichen RAM-Platte.
systemd-boot liest den Zufallsstartwert aus dem ESP, kombiniert ihn mit dem »Systemmerkmal« und
leitet einen neuen Zufallsstartwert ab, um an gleicher Stellen den im ESP gespeicherten Startwert zu
ersetzen, sowie den Zufallsstartwert, um ihn an das Betriebssystem in einem SHA256-Hash im
Zählermodus weiterzugeben. Dies stellt sicher, dass verschiedene physische Systeme, die mit dem
gleichen »goldenen« Betriebssystemabbild starten, d.h. die die gleiche Zufallsstartwertedatei im ESP
enthalten, dennoch einen verschiedenen Zufallsstartwert an das Betriebssystem weitergeben. Es wird
sichergestellt, dass der im ESP gespeicherte Zufallsstartwert überschrieben ist, bevor das
Betriebssystem startet, um sicherzustellen, dass zwischen nachfolgenden Systemstarts verschiedene
Zufallsstartwerte verwandt werden.
Siehe Zufallsstartwerte[4] für weitere Informationen.
LoaderSystemToken
Ein binäres Zufallsdatenfeld, das zur Erzeugung des an das Betriebssystem zu übergebenen
Zufallsstartwertes verwandt wird (siehe oben). Beachten Sie, dass diese Zufallsdaten im Allgemeinen
nur einmal während der Betriebssysteminstallation erstellt und nie wieder aktualisiert werden.
Viele dieser Variablen werden durch die Systemladerschnittstelle[2] definiert.
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:
1. Falls der Zähler »verbliebene Einträge« eines Eintrages größer als Null ist, wird der Eintrag dem
Zustand »unbestimmt« zugeordnet. Das bedeutet, dass der Eintrag noch nicht erfolgreich gestartet
wurde, aber auch noch nicht als nicht funktionstüchtig erkannt wurde.
2. Falls der Zähler »verbliebene Einträge« eines Eintrages gleich Null ist, wird der Eintrag in einem
»schlechten« Zustand angenommen. Das bedeutet, dass keine weiteren Versuche unternommen werden,
diesen Eintrag zu starten (das bedeutet, außer alle anderen Boot-Einträge sind auch in einem
»schlechten« Zustand), da alle Versuche, diesen Eintrag zu starten, nicht erfolgreich abgeschlossen
wurden.
3. Falls die Zähler »verbliebene Einträge« und »unternommene Versuche« eines Eintrags fehlen, wird er in
einem »guten« Zustand angenommen. Das bedeutet, dass weiteres Startzählen für diesen Eintrag
abgeschaltet ist, da er mindestens einmal erfolgreich startete. Der Dienst
systemd-bless-boot.service(8) verschiebt den aktuell gestarteten Eintrag vom Zustand »unbestimmt« in
den Zustand »gut«, wenn ein Systemstartversuch erfolgreich abgeschlossen wurde.
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.
SIEHE AUCH
bootctl(1), loader.conf(5), systemd-bless-boot.service(8), systemd-boot-system-token.service(8),
kernel-install(8), systemd-stub(7), Boot-Loader-Spezifikation[1], Boot-Loader-Schnittstelle[2]
ANMERKUNGEN
1. Systemladerspezifikation
https://systemd.io/BOOT_LOADER_SPECIFICATION
2. Boot-Loader-Schnittstelle
https://systemd.io/BOOT_LOADER_INTERFACE
3. Automatische Systemstartbeurteilung
https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT
4. Zufallsstartwerte
https://systemd.io/RANDOM_SEEDS
Ü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 250 SYSTEMD-BOOT(7)