LOADER.CONF(5)

BEZEICHNUNG
loader.conf - Konfigurationsdatei für Systemd-boot

ÜBERSICHT

ESP/loader/loader.conf, ESP/loader/entries/*.conf XBOOTLDR/loader/entries/*.conf

BESCHREIBUNG

systemd-boot(7) wird ESP/loader/loader.conf und alle Dateien mit der Erweiterung ».conf« unterhalb von ESP/loader/entries/ auf der EFI-Systempartition (ESP) und XBOOTLDR/loader/entries/ auf der erweiterten Systemstartpartition (XBOOTLDR) auslesen, wie das in der Systemladerspezifikation[1] definiert ist.

Jede dieser Konfigurationsdateien muss aus einer Reihe von durch Zeilenumbrüchen (d.h. ASCII-Code 10) getrennten Zeilen bestehen, wobei jede Zeile aus einem Optionsnamen, gefolgt von Leerraum und dem Optionswert, besteht. »#« kann zur Einleitung einer Kommentarzeile verwandt werden. Leere und Kommentarzeilen werden ignoriert. Die Dateien verwenden UTF-8-Kodierung.

Logische Argumente können als »yes«/»y«/»true«/»t«/»on«/»1« oder »no«/»n«/»false«/»f«/»off«/»0« geschrieben werden.

OPTIONEN

Die durch die Dateien ESP/loader/entries/*.conf und XBOOTLDR/loader/entries/*.conf verstandenen Konfigurationsoptionen sind als Teil der Systemladerspezifikation[1] spezifiziert.

Die Konfigurationsdatei loader.conf versteht folgende Konfigurationsoptionen:

default
    Ein Glob-Muster, um den Standardeintrag auszuwählen. Der Standardeintrag kann im Systemstartmenü selbst geändert werden, dann wird der Name des ausgewählten Eintrags in einer EFI-Variablen gespeichert und diese Option außer Kraft gesetzt.

    Falls auf »@saved« gesetzt, wird der ausgewählte Eintrag bei jedem Systemstart als EFI-Variable gesetzt und automatisch beim nächsten Mal, wenn das Systemstartprogramm startet, ausgewählt.

    Tabelle 1. Automatisch erkannte Einträge werden die folgenden Namen verwenden:
    Name | Beschreibung
    auto-efi-default | EFI-Standardladeprogramm
    auto-efi-shell | EFI-Shell
    auto-osx | macOS
    auto-reboot-to-firmware-setup | Neustart in die Firmware-Schnittstelle
    auto-windows | Windows-Boot-Manager

    Es werden die Glob-Platzhalterzeichenmuster »?«, »*« und »[…]« (einschließlich Bereiche) unterstützt. Beachten Sie, dass diese Muster die gleiche Syntax wie glob(7) verwenden, aber nicht alle Funktionalitäten unterstützen. Insbesondere die Verneinung von Mengen und benannte Zeichenklassen werden nicht unterstützt. Der Vergleich ignoriert die Groß-/Kleinschreibung bei der Eintragskennung (wie durch bootctl list angezeigt).

timeout
    Wie lange (in Sekunden) das Systemstartmenü angezeigt werden soll, bevor der Standardeintrag gestartet werden soll. Dies kann im Systemstartmenü selbst geändert und in einer EFI-Variablen gespeichert werden, womit diese Option außer Kraft gesetzt wird.

    Falls auf »menu-hidden« oder »0« (die Vorgabe) (die Vorgabe) gesetzt, wird kein Menü angezeigt und der Standardeintrag sofort gestartet. Das Menü kann durch Drücken und Halten einer Taste, bevor Systemd-boot aufgerufen wird, angezeigt werden. Durch Setzen von »menu-force« wird die Zeitüberschreitung deaktiviert und gleichzeitig das Menü immer angezeigt.

console-mode
    Diese Option konfiguriert die Auflösung der Konsole. Akzeptiert eine Zahl oder eine der nachfolgend aufgeführten besonderen Werte. Die folgenden Werte können benutzt werden:

    0
        Standard UEFI 80x25-Modus

    1
        80x50-Modus, nicht von allen Geräten unterstützt

    2
        der erste von der Geräte-Firmware bereitgestellte Nichtstandardmodus, falls vorhanden

    auto
        wählt mittels Heuristiken automatisch einen geeigneten Modus aus

    max
        wählt den höchstnummerierten verfügbaren Modus aus

    keep
        behält den von der Firmware ausgewählten Modus bei (Vorgabe)

editor
    Akzeptiert ein logisches Argument. Aktiviert (die Vorgabe) oder deaktiviert den Editor. Der Editor sollte deaktiviert werden, falls nicht berechtigte Personen Zugang zu der Maschine haben.

auto-entries
    Akzeptiert ein logisches Argument. Aktiviert (die Vorgabe) oder deaktiviert Einträge für andere auf der Systemstartpartition gefundene Systemstarteinträge. Dies kann insbesondere nützlich sein, wenn Ladeeinträge erstellt werden, um die Ersatzbeschreibungen für diese Einträge anzuzeigen.

auto-firmware
    Ein logischer Wert, der das Vorhandensein des Eintrags »Neustart in die Firmware« steuert (standardmäßig aktiviert). Falls dies deaktiviert ist, kann die Firmware-Schnittstelle weiterhin über die Verwendung der f-Tasten erreicht werden.

beep
    Akzeptiert ein logisches Argument. Falls die Zeiüberschreitung aktiviert ist, wird gepiept, andernfalls wird n Mal gepiept, wenn der n-te Eintrag des Systemstartmenüs ausgewählt wird (standardmäßig deaktiviert). Derzeit wird nur X86 unterstützt, wo der PC-Lautsprecher verwandt wird.

secure-boot-enroll
    Gefahr: Diese Funktionalität könnte ihr Geräte weich lahmlegen, falls sie inkorrekt verwandt wird.

    Akzeptiert entweder »off«, »manual« oder »force«. Steuert die Registrierung der sicheren Systemladeschlüssel. Falls auf »off« gesetzt erfolgt keinerlei Aktion. Falls auf »manual« gesetzt (die Vorgabe) und die UEFI-Firmware sich im Einrichtungsmodus befindet, dann werden die Einträge, um die Secure-Boot-Variablen manuell zu registrieren, im Systemstartmenü erstellt. Falls auf »force« gesetzt und falls zusätzlich ein Verzeichnis /loader/keys/auto/ auf dem ESP existiert, dann werden die Schlüssel in diesem Verzeichnis automatisch registriert.

    Die verschiedenen Variablenmengen können unter /loader/keys/NAME eingerichtet werden, wobei NAME als Name des Eintrags verwandt wird. Dies ermöglicht die Auslieferung mehrerer Gruppen von Secure-Boot-Variablen und die Auswahl zur Laufzeit, welche registriert werden sollen.

    Die unterstützten Secure-Boot-Variablen sind einer für die Datenbank der authorisierten Abbilder, eine für den Schlüsselaustauschschlüssel (KEK) und eine für den Plattformschlüssel (PK). Für weitere Informationen lesen Sie bitte die UEFI-Spezifikation[2], unter »Secure Boot and Driver Signing«. Eine anderer Ressource, die das Zusammenwirken der verschiedenen Variablen beschreibt, ist die EDK2-Dokumentation[3].

    Die vollständige Menge der UEFI-Variablen enthält db.auth, KEK.auth und PK.auth. Beachten Sie, dass diese Dateien authentifizierte UEFI-Variablen sein müssen. Sie finden weiter unten ein Beispiel, wie sie diese von regulären X.509-Schlüsseln erstellen können.

        uuid=$(systemd-id128 new --uuid)
        for key in PK KEK db; do
          openssl req -new -x509 -subj "/CN=${key}/" -keyout "${key}.key" -out "${key}.crt"
          openssl x509 -outform DER -in "${key}.crt" -out "${key}.cer"
          cert-to-efi-sig-list -g "${uuid}" "${key}.crt" "${key}.esl"
        done
        for key in MicWinProPCA2011_2011-10-19.crt MicCorUEFCA2011_2011-06-27.crt MicCorKEKCA2011_2011-06-24.crt; do
          curl "https://www.microsoft.com/pkiops/certs/${key}" --output "${key}"
          sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output "${key%crt}esl" "${key}"
        done
        # Optional Microsoft Windows Production CA 2011 hinzufügen (benötigt, um in Windows zu starten).
        cat MicWinProPCA2011_2011-10-19.esl >> db.esl
        # Optional Microsoft Corporation UEFI CA 2011 hinzufügen (für Firmware-Treiber / Options-ROMS
        # und Systemstartprogramme Dritter (einschließlich shim). Dies wird auf echter Hardware
        # nachdrücklich empfohlen, da Sie ansonsten ihr System weich lahmlegen (siehe nächsten Absatz).
        cat MicCorUEFCA2011_2011-06-27.esl >> db.esl
        # Optional Microsoft Corporation KEK CA 2011 hinzufügen. Empfohlen, falls einer der
        # Microsoft-Schlüssel verwandt wird, da die offizielle UEFI-Widerrufsdatenbank mit diesem
        # Schlüssel signiert ist. Die Wiederrufsdatenbank kann mit fwupdmgr(1) aktualisiert
        # werden.
        cat MicCorKEKCA2011_2011-06-24.esl >> KEK.esl
        sign-efi-sig-list -c PK.crt -k PK.key PK PK.esl PK.auth
        sign-efi-sig-list -c PK.crt -k PK.key KEK KEK.esl KEK.auth
        sign-efi-sig-list -c KEK.crt -k KEK.key db db.esl db.auth

    Diese Funktionalität wird als gefährlich betrachtet, da selbst wenn alle benötigten Dateien mit den geladenen Schlüsseln signiert wurden, einige für den korrekten Betrieb des Systems benötigte Dateien dies nicht sind. Dies ist insbesondere für Options-ROMS (z.B. für Speicherkontroller oder Graphikkarten) der Fall. Siehe Sicherer Systemstart und Options-ROMs[4] für weitere Details.

reboot-for-bitlocker
    Warnung: Diese Funktionalität ist experimentell und wird wahrscheinlich in zukünftigen Versionen von Systemd geändert (oder in seiner aktuellen Form entfernt).

    Umgeht die BitLocker-Anforderung bezüglich eines Wiederherstellungsschlüssels, wenn das Systemstartprogramm aktualisiert wird (standardmäßig deaktiviert).

    Versucht, BitLocker-verschlüsselte Laufwerke zusammen mit einem aktiven TPM zu erkennen. Falls beide gefunden werden und »Windows Boot Manager« im Systemstartmenü ausgewählt wird, wird die EFI-Variable »BootNext« gesetzt und das System neu gestartet. Die Firmware wird dann den Windows-Systemstart-Manager direkt starten und die TPM PCRs in den erwarteten Zuständen belassen, so dass Windows die Verschlüsselungsschlüssel entsiegeln kann. Dies ermöglicht es, systemd-boot(7) zu aktualisieren, ohne einen Wiederherstellungsschlüssel für das Entsperren von BitLocker-Laufwerken bereitzustellen.

    Beachten Sie, dass die von Windows verwandten PCRs mit der Gruppenrichtlinie »Configure TPM platform validation profile for native UEFI firmware configurations« unter »Computer Configuration\Administrative Templates\Windows Components\BitLocker Drive Encryption« konfiguriert werden können. Wenn der sichere Systemstart aktiviert ist, sollte das Ändern der PCRs »0,2,7,11« unproblematisch sein. Der TPM-Schlüsselschutz muss entfernt und dann wieder hinzugefügt werden, damit die PCRs auf einem bereits verschlüsselten Laufwerk geändert werden können. Falls PCR 4 nicht eingemessen wird, kann diese Einstellung deaktiviert werden, um das Starten in Windows zu beschleunigen.

random-seed-mode
    Akzeptiert entweder »off«, »with-system-token« oder »always«. Falls »off«, wird weder ein Zufallsstartwert aus dem ESP gelesen noch an das Betriebssystem weitergegeben. Falls »with-system-token« (die Vorgabe), wird systemd-boot nur einen Zufallsstartwert aus dem ESP (aus der Datei /loader/random-seed) lesen, falls die EFI-Variable LoaderSystemToken gesetzt ist, und dann aus der Kombination beider einen Zufallsstartwert ableiten und an das Betriebssystem weitergeben. Falls »always«, wird das Systemstartprogramm dies sogar dann machen, wenn LoaderSystemToken nicht gesetzt ist. Dieser Modus ist in Umgebungen sinnvoll, bei denen der Schutz gegenüber der Wiederverwendung von Betriebssystemabbildern kein Problem darstellt und der Zufallsstartwert selbst dann verwendet werden soll, wenn keine weitere Einrichtung vorhanden ist. Verwenden Sie bootctl random-seed, um sowohl die Zufallsstartwertedatei im ESP als auch die EFI-Systemmerkmal-Variable zu initialisieren.

    Siehe Zufallsstartwerte[5] für weitere Informationen.

BEISPIEL

    # /boot/efi/loader/loader.conf
    timeout 0
    default 01234567890abcdef1234567890abdf0-*
    editor no

Das Menü wird standardmäßig nicht angezeigt (das Menü kann weiterhin durch Drücken und Halten einer Taste während des Systemstarts angezeigt werden). Einer der Einträge mit Dateien mit einem Namen, der mit »01234567890abcdef1234567890abdf0-« beginnt, wird standardmäßig ausgewählt. Falls dies auf mehr als einen Eintrag zutrifft, wird der mit der höchsten Priorität ausgewählt (im Allgemeinen der mit der höchsten Versionsnummer). Der Editor wird deaktiviert, so dass es nicht möglich ist, die Kernelbefehlszeile zu verändern.

SIEHE AUCH

systemd-boot(7), bootctl(1)

ANMERKUNGEN

1.  Systemladerspezifikation
    https://systemd.io/BOOT_LOADER_SPECIFICATION

2.  UEFI-Spezifikation
    https://uefi.org/specifications

3.  EDK2-Dokumentation
    https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/secure_boot_chain_in_uefi/uefi_secure_boot

4.  Sicherer Systemstart und Options-ROMs
    https://github.com/Foxboron/sbctl/wiki/FAQ#option-rom

5.  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 (https://www.gnu.org/licenses/gpl-3.0.html) 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 (debian-l10n-german@lists.debian.org).