SYSTEMD-GPT-AUTO-GENERATOR(8)

BEZEICHNUNG
systemd-gpt-auto-generator - Generator zum automatischen Entdecken und Einhängen der Partitionen »root«, /home/, /srv/, /var/ und /var/tmp/ sowie Entdecken und Einhängen der Swap-Partition, basierend auf dem GPT-Partitionstyp GUIDs

ÜBERSICHT

/usr/lib/systemd/system-generators/systemd-gpt-auto-generator

BESCHREIBUNG

systemd-gpt-auto-generator ist ein Unit-Generator, der die Partitionen der Wurzel, /home/, /srv/, /var/, /var/tmp/, die EFI-Systempartition (ESP), des »Extended Boot Loader« (XBOOTLDR) und Swap automatisch erkennt und Einhänge- und Swap-Units für diese, basierend auf den Partitionstyp-GUIDS von GUID-Partitionstabellen (GPT), erstellt. Siehe UEFI-Spezifikation[1], Kapitel 5 für weitere Details. Es implementiert die UAPI.2-Spezifikation für auffindbare Partitionen[2].

Beachten Sie, dass dieser Generator nur auf GPT-Systemen wirksam wird. Er wird keine Einhängepunktkonfigurationen für Verzeichnisse erstellen, die bereits Dateien enthalten oder falls der Einhängepunkt explizit in fstab(5) konfiguriert ist. Zusätzlich wird für die ESP- oder XBOOTLDR-Partition keine Unit erstellt, falls Einhängeeinträge in den Hierarchien /boot/ oder /efi/ in fstab(5) gefunden werden.

Falls die von diesem Generator erstellten Units außer Kraft gesetzt werden, beispielsweise durch Units mit höherem Vorrang, können von diesem Generator erstellte Ergänzungen und zusätzliche Abhängigkeiten weiterhin verwandt werden.

Bei der Ausführung in der anfänglichen RAM-Platte (Initrd) kann dieser Generator automatisch nach dem Wurzeldateisystem suchen. Insbesondere:

    • Er wird nur nach Wurzelpartitionen auf der gleichen physischen Platte, auf der sich auch die EFI-Systempartition (ESP) befindet, suchen. Beachten Sie, dass Unterstützung durch das Systemstartprogramm benötigt wird, damit das funktioniert: die EFI-Variable LoaderDevicePartUUID der Lieferanten-UUID 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f wird verwandt, um zu bestimmen, von welcher Partition (und somit welcher Platte) das System gestartet wurde. Falls das Systemstartprogramm diese Variable nicht setzt, wird der Generator nicht in der Lage sein, die Wurzelpartition zu erkennen. Siehe die Systemstartlader-Schnittstelle[3] für Details.

    • Alternativ wird er nach dem Wurzeldateisystem auf dem Loopback-Blockgerät suchen, dessen Feld »&.lo_name« auf eine der wörtlichen Zeichenketten »rootdisk« oder »rootdisk.raw« gesetzt ist. Stellen Sie für Abbilder, die mittels systemd-import-generator(8) heruntergeladen wurden, sicher, die Option »blockdev« und den lokalen Namen auf die Zeichenkette »rootdisk« zu setzen, um diese Auswirkung zu erreichen. Beachten Sie, dass die Erkennung des Wurzeldateisystems auf Loopback-Blockgeräten dieser Art nur erfolgt, falls »root=gpt-auto« oder »root=dissect« explizit auf der Kernelbefehlszeile angegeben ist. Dies ist anders als bei der Erkennung basierend auf dem vom Systemstartprogramm berichteten ESP, der auch aktiviert wird, falls überhaupt kein Parameter »root=« angegeben ist. (Letztere verlässt sich auf die Erstellung des Symlinks des Blockgerätes durch /dev/gpt-auto-root von systemd-udevd.service.)

Bei der Ausführung auf dem Hauptsystem (d.h. nach erfolgreichem Übergang aus der Initrd in das Wurzeldateisystem) wird dieser Generator nach allen anderen Partitionen auf der gleichen physischen Platte wie die Wurzelpartition suchen. Für diese Ermittlung wird keine Unterstützung durch das Systemstartprogramm benötigt. Desweiteren ist es nicht notwendig, dass die Wurzelpartition durch die Initrd automatisch erkannt wurde (wie oben beschrieben), damit die Erkennung der anderen Dateipartitionen stattfindet. Anders gesagt: Die automatische Erkennung des Wurzeldateisystems und die der anderen Dateisysteme sind voneinander unabhängige Aktionen, die während zwei klar voneinander abgegrenzter Phasen des Systemstartprozesses stattfinden (einer in der Initrd, einer in der anschließenden Phase). Diese Partitionen werden auf Systemen nicht gesucht, bei denen das Wurzeldateisystem über mehrere Platten verteilt ist, beispielweise mittels btrfs RAID.

Die Wurzelpartition kann explizit durch Symlinken von /run/systemd/volatile-root nach /dev/block/$major:$minor konfiguriert werden. Dies ist insbesondere nützlich, falls die Wurzeleinhängung durch irgendeine Art von flüchtigem Dateisystem (Overlayfs) ersetzt wurde.

Systemd-gpt-auto-generator ist für die Zentralisierung der Dateisystemkonfiguration in der Partitionstabelle nützlich und macht Konfiguration in /etc/fstab oder auf der Kernelbefehlszeile unnötig.

Dieser Generator sucht Partitionen basierend auf ihrer Partitionstyp-GUID. Die nachfolgenden Partitionstyp-GUIDs werden identifiziert:

Tabelle 1. Partitionstyp-GUIDs
Partitionstyp | GUID | Name | Einhängepunkt | Erklärung
SD_GPT_ROOT_X86_64 | 4f68bce3-e8cd-4db1-96e7-fbcaf984b709 | Wurzelpartition (x86-64) | / | Die erste Partition mit dieser Art UUID, auf der gleichen Platte wie der zum Systemstart verwandte ESP befindlich, wird als Wurzeldateisystem / auf AMD 64 / 64-bit-x86-Systemen verwandt.
SD_GPT_ROOT_ARM64 | b921b045-1df0-41c3-af44-4c6f280d3fae | Wurzelpartition (64-bit ARM) | / | Die erste Partition mit dieser Art UUID, auf der gleichen Platte wie der zum Systemstart verwandte ESP befindlich, wird als Wurzeldateisystem / auf AArch64 / 64-bit-ARM-Systemen verwandt.
SD_GPT_ROOT_ALPHA SD_GPT_ROOT_ARC SD_GPT_ROOT_ARM SD_GPT_ROOT_ARM64 SD_GPT_ROOT_IA64 SD_GPT_ROOT_LOONGARCH64 SD_GPT_ROOT_MIPS SD_GPT_ROOT_MIPS64 SD_GPT_ROOT_MIPS_LE SD_GPT_ROOT_MIPS64_LE SD_GPT_ROOT_PARISC SD_GPT_ROOT_PPC SD_GPT_ROOT_PPC64 SD_GPT_ROOT_PPC64_LE SD_GPT_ROOT_RISCV32 SD_GPT_ROOT_RISCV64 SD_GPT_ROOT_S390 SD_GPT_ROOT_S390X SD_GPT_ROOT_TILEGX SD_GPT_ROOT_X86 SD_GPT_ROOT_X86_64 SD_GPT_USR_ALPHA SD_GPT_USR_ARC SD_GPT_USR_ARM SD_GPT_USR_IA64 SD_GPT_USR_LOONGARCH64 SD_GPT_USR_MIPS_LE SD_GPT_USR_MIPS64_LE SD_GPT_USR_PARISC SD_GPT_USR_PPC SD_GPT_USR_PPC64 SD_GPT_USR_PPC64_LE SD_GPT_USR_RISCV32 SD_GPT_USR_RISCV64 SD_GPT_USR_S390 SD_GPT_USR_S390X SD_GPT_USR_TILEGX SD_GPT_USR_X86 | … | Wurzelpartitionen für andere Architekturen | / | Die erste Partition mit dieser Art von UUID, die auf die Architektur passt und sich auf der gleichen Platte wie der zum Systemstart verwandte ESP befindet, wird als Wurzeldateisystem / verwandt. Sie finden eine vollständige Liste und die Werte der Konstanten in der UAPI.2-Spezifikation für auffindbare Partitionen[2].
SD_GPT_HOME | 933ac7e1-2eb4-4f13-b844-0e14e2aef915 | Home-Partition | /home/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /home/ eingehängt.
SD_GPT_SRV | 3b8f8425-20e0-4f3b-907f-1a25a76f98e8 | Server-Datenpartition | /srv/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /srv/ eingehängt.
SD_GPT_VAR | 4d21b016-b534-45c2-a9fb-5c16e091fd2d | Variable-Daten-Partition | /var/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /var/ eingehängt – vorausgesetzt, seine Partitions-UUID passt auf die ersten 128 bit des HMAC-SHA256 der GPT-Typ-UUID dieser Partition, wobei der Index die in machine-id(5) gespeicherte Maschinenkennung der Installation ist. Diese kann mittels systemd-id128(1) erstellt werden.
SD_GPT_TMP | 7ec6f557-3bc5-4aca-b293-16ef5df639d1 | Temporäre-Daten-Partition | /var/tmp/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /var/tmp/ eingehängt.
SD_GPT_SWAP | 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f | Swap | n.Z. | Alle Partitionen mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition werden als Auslagerungsspeicher verwandt.
SD_GPT_ESP | c12a7328-f81f-11d2-ba4b-00a0c93ec93b | EFI-Systempartition (ESP) | /efi/ oder /boot/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /boot/ oder /efi/ eingehängt, siehe unten.
SD_GPT_XBOOTLDR | bc13c2ff-59e6-4262-a352-b275fd6f7172 | Erweiterte Systemstartprogrammpartition | /boot/ | Die erste Partition mit dieser Art von UUID auf der gleichen Platte wie die Wurzelpartition wird als /boot/ eingehängt, siehe unten.

Dieser Generator versteht die folgenden Attributschalter für Partitionen:

Tabelle 2. Partitionsattributsschalter
Schalter | Wert | anwendbar auf | Erklärung
SD_GPT_FLAG_READ_ONLY | 0x1000000000000000 | /, /home/, /srv/, /var/, /var/tmp/, »Extended Boot Loader«-Partition | Partition ist schreibgeschützt eingehängt
SD_GPT_FLAG_NO_AUTO | 0x8000000000000000 | /, /home/, /srv/, /var/, /var/tmp/, »Extended Boot Loader«-Partition | Partition wird nicht automatisch eingehängt
SD_GPT_FLAG_NO_BLOCK_IO_PROTOCOL | 0x0000000000000002 | EFI-Systempartition (ESP) | Partition wird nicht automatisch eingehängt

Die Partitionen /home/, /srv/, /var/, /var/tmp/ und für Auslagerung können im LUKS-Format verschlüsselt sein. In diesem Fall wird ein Device-Mapper-Gerät unter den Namen /dev/mapper/home, /dev/mapper/srv, /dev/mapper/var, /dev/mapper/tmp oder /dev/mapper/swap eingerichtet. Beachten Sie, dass dies Konflikte hervorrufen könnte, falls die gleiche Partition in /etc/crypttab mit einem anderen Device-Mapper-Gerätenamen eingetragen ist.

Wenn Systemd in der Initrd läuft, kann die Partition / auch mit LUKS verschlüsselt sein. In diesem Fall wird ein Device-Mapper-Gerät unter dem Namen /dev/mapper/root eingerichtet und ein sysroot.mount wird eingerichtet, das das Gerät unter /sysroot einhängt. Für weitere Informationen siehe bootup(7).

Auf EFI-Systemen werden Einhänge- und Autoumount-Units für die EFI-Systempartition (ESP) und Erweiterte Systemstartladepartitionen (XBOOTLDR) erstellt. Falls die Platte eine XBOOTLDR-Partition enthält, wie sie in der UAPI.1-Systemstartladerspezifikation[4] definiert ist, wird diese unter /boot/ zur Verfügung gestellt. Dieser Generator erstellt eine Automount-Unit; die Einhängung wird nur bedarfsgesteuert beim Zugriff aktiviert. Falls notwendig wird der Einhängepunkt erstellt.

Der ESP wird unter /boot/ eingehängt, falls das Verzeichnis existiert und nicht für XBOOTLDR genutzt wird, andernfalls unter /efi/. Genau wie bei /boot/ wird eine Automount-Unit verwandt. Falls notwendig wird der Einhängepunkt erstellt.

Für Einhängepunkte, die in fstab(5) konfiguriert sind oder Dateien enthalten, wird keine Konfiguration erstellt.

Wenn Sie diesen Generator im Zusammenspiel mit dem Dateisystem Btrfs verwenden, stellen Sie sicher, dass Sie mit btrfs subvolume set-default die korrekten Teildatenträger (Subvolumes) setzen..

Falls das System über systemd-stub(7) gestartet wurde und der Rumpf dem Anwendungsraum meldete, dass das Kernelabbild in ein TPM2-PCR eingemessen wurde, dann werden alle ermittelten Datenträgerkennzeichnungen für root und /var/ (und Datenträgerverschlüsselungsschlüssel, falls sie verschlüsselt sind) automatisch in PCR 15 bei der Akivierung über systemd-pcrfs@.service(8) eingemessen.

Einhänge-beschränkende Metadaten, die im Dateisystem enthalten sind, werden durch das Hereinziehen von systemd-validatefs@.service(8) für erstellte Einhängungen validiert.

systemd-gpt-auto-generator implementiert systemd.generator(7).

KERNEL-BEFEHLSZEILE

systemd-gpt-auto-generator versteht die folgenden Kernelbefehlszeilenparameter:

systemd.gpt_auto, rd.systemd.gpt_auto
    Diese Optionen akzeptieren ein optionales logisches Argument und sind standardmäßig »yes«. Der Generator wird standardmäßig aktiviert und ein false-Wert kann zu seiner Deaktivierung verwandt werden (z.B. »systemd.gpt_auto=0«).

    Hinzugefügt in Version 242.

systemd.image_policy=
    Akzeptiert eine Abbildanalyse-Richtlinienzeichenkette als Argument (gemäß systemd.image-policy(7)) und erlaubt das Durchsetzen einer Richtlinie bei der Analyse und die Verwendung der automatisch erkannten GPT-Partitionstabelleneinträge.

    Beachten Sie, dass die angegebenen Plattenrichtlinie für automatische Wurzel- oder /usr/-Dateisystemerkennung nicht berücksichtigt wird, außer wenn root=dissect/mount.usr=dissect (oder root=dissect-force) angegeben sind. (Die Richtlinie wird für die anderen automatisch erkannten Partitionstypen immer angewandt.)

    Hinzugefügt in Version 254.

systemd.image_filter=
    Akzeptiert eine Abbildanalyse-Filterzeichenkette als Argument (gemäß systemd.image-filter(7)) und erlaubt das Durchsetzen einer Reihe von Globbing-Muster auf dem Partitions-Abgleich der automatisch erkannten GPT-Partitionstabelleneinträge.

    Beachten Sie, dass der angegebene Abbildfilter bei der automatischen Erkennung des Wurzel- oder /usr/-Dateisystems nicht berücksichtigt wird, außer root=dissect/mount.usr=dissect (oder root=dissect-force) sind angegeben. (Der Filter wird immer bei den anderen automatisch erkennbaren Partitionstypen angewandt.)

    Hinzugefügt in Version 258.

root=, rootfstype=, rootflags=
    Wird root= mit dem besonderen Wert »gpt-auto« verwandt, dann wird die grundlegende automatische Erkennung der Wurzelpartition, basierend auf dem GPT-Partitionstyp, aktiviert. Die Verwendung der Wurzelpartition wird verzögert, bis der Werkseinstellungsmodus verlassen wurde, falls er während des aktuellen Systemstarts aktiviert ist. Weitere Informationen dazu finden Sie in Werkseinstellung[5]. Falls »gpt-auto-force« angegeben ist, wird die automatische Erkenung von Wurzelpartitionen aktiviert und der alle Werkseinstellungsmodi werden ignoriert.

    Falls root= auf den besondern Wert »dissect« gesetzt ist, wird die vollständig automatische Erkennung der Wurzelpartition, basierend auf der GPT-Partitionsinformation, aktiviert. Dies ist eine Obermenge von root=gpt-auto, da es automatisch Verity-Partitionen, einschließlich Signatur-basierter Installationen, konfiguriert. Dabei wird der in UAPI.2-Spezifikation für auffindbare Partitionen[6] definierten Logik gefolgt. Desweiteren berücksichtigt sie für alle Partitionstypen die konfigurierte Abbild-Richtlinie und den Abbildfilter, einschließlich des Wurzeldateisystems. »root=dissect« wartet auf den Abschluss der Werkeinstellungsphase, falls sie aktiviert ist, bevor das Wurzeldateisystem aktiviert wird. Verwenden Sie »root=dissect-force«, um die Werkeinstellungsphase zu ignorieren und das Wurzeldateisystem sofort zu aktivieren.

    Jeder andere Wert (d.h. außer »gpt-auto«, »gpt-auto-force«, »dissect«, »dissect-force«) deaktiviert die automatische Erkennung des Wurzeldateisystems.

    Falls root= überhaupt nicht auf der Kernelbefehlszeile angegeben ist, wird die automatische Erkennung der Wurzelpartition mittels des ESPs, wie er vom Systemstartprogramm berichtet wird, auch aktiviert (dabei wird der Werkseinstellungs-Zurücksetz-Zustand berücksichtigt, d.h. äquivalent zu »root=gpt-auto«). Allerdings wird in diesem Fall die auf dem Loopback-Block-Gerät-Feld ».lo_name« basierende Erkennung nicht aktiviert.

    Die Optionen rootfstype= und rootflags= werden zur Auswahl des Dateisystemtyps und der Optionen verwandt, wenn das Wurzeldateisystem automatisch ermittelt wird.

    Hinzugefügt in Version 242.

mount.usr=, mount.usrfstype=, mount.usrflags=
    Ähnlich zu root=, rootfstype=, rootflags= (siehe oben), gilt aber stattdessen für die Partition /usr/. Beachten Sie, dass die Einstellungen »gpt-auto«, »gpt-auto-force«, »dissect-force«, die für root= ausgewertet werden, nicht durch mount.usr= unterstützt werden (allerdings wird »dissect« unterstützt).

    Beachten Sie auch, dass die automatische Erkennung von Partitionen für /usr/ explizit aktiviert werden muss, anders als die Erkennung für das Wurzeldateisystem, die aktiviert wird, falls überhaupt kein Parameter root= hereingereicht wird.

    Hinzugefügt in Version 258.

rw, ro
    Hängt die Wurzelpartition anfänglich les-schreibbar oder nur lesbar ein.

    Beachten Sie, dass anders als bei den meisten Kernelbefehlszeilenoptionen diese Einstellungen nicht die Konfigurationen im Dateisystem außer Kraft setzen und das Dateisystem später neu eingehängt werden könnte. Siehe systemd-remount-fs.service(8).

    Hinzugefügt in Version 242.

systemd.swap=
    Akzeptiert ein logisches Argument oder aktiviert die Option, falls kein Argument angegeben ist. Falls deaktiviert, wird die automatische Erkennung von Auslagerungspartition(en), basierend auf dem GPT-Partitionstyp, deaktiviert. Standardmäßig aktiviert.

    Hinzugefügt in Version 254.

SIEHE AUCH

systemd(1), systemd.mount(5), systemd.swap(5), systemd-fstab-generator(8), systemd-cryptsetup@.service(8), systemd-pcrfs@.service(8), systemd-validatefs@.service(8), machine-id(5), cryptsetup(8), fstab(5), btrfs(8)

ANMERKUNGEN

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

2.  UAPI.2-Spezifikation für auffindbare Partitionen
    https://uapi-group.org/specifications/specs/discoverable_partitions_specification

3.  Systemstartlader-Schnittstelle
    https://systemd.io/BOOT_LOADER_INTERFACE

4.  UAPI.1-Systemstartladerspezifikation
    https://uapi-group.org/specifications/specs/boot_loader_specification

5.  Werkseinstellung
    https://systemd.io/FACTORY_RESET

6.  UAPI.2-Spezifikation für auffindbare Partitionen
    https://uapi-group.org/specifications/specs/discoverable_partitions_specification/

Ü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.