navigation Navigation


boot


Das /boot-Verzeichnis ist ein entscheidender Ordner im Linux-Dateisystem, meist direkt unter der Wurzel (/) oder auf einer eigenen, dedizierten Partition angesiedelt. Es enthält alle notwendigen Dateien, die der Computer benötigt, um den Linux-Kernel erfolgreich in den Speicher zu laden und damit den eigentlichen Startvorgang des Betriebssystems einzuleiten. Ohne einen intakten und zugänglichen /boot-Bereich kann ein Linux-System nicht gestartet werden.

Der /boot Ordner - Die Startrampe für das System

Während Verzeichnisse wie /bin oder /etc für den laufenden Betrieb essenziell sind, spielt /boot die Hauptrolle in der allerersten Phase nach dem Einschalten des Rechners: dem Laden des Betriebssystemkerns. Es ist die Brücke zwischen der Hardware-Initialisierung (durch BIOS oder UEFI) und dem laufenden Linux-System.

Der Zweck von /boot - Das Laden des Kernels

Die primäre Aufgabe des /boot-Verzeichnisses ist es, alle Dateien zu beherbergen, die vor dem Einhängen des Haupt-Root-Dateisystems (/) benötigt werden.

Der Prozess sieht vereinfacht so aus:

  1. BIOS/UEFI: Initialisiert die Hardware
  2. Bootloader: (z.B. GRUB) Wird vom BIOS/UEFI gestartet. Der Bootloader befindet sich teilweise im Master Boot Record (MBR) oder auf der EFI System Partition (ESP) und lädt weitere Teile sowie seine Konfiguration aus /boot.
  3. Kernel & Initrd: Der Bootloader lädt den Linux-Kernel (z.B. vmlinuz-...) und die Initial RAM Disk (initrd.img-... oder initramfs-...img) aus dem /boot-Verzeichnis in den Arbeitsspeicher.
  4. Kerner-Start: Der Bootloader übergibt die Kontrolle an den geladenen Kernel.
  5. Initrd/Initramfs: Der Kernel nutzt die initrd/initramfs, die ein temporäres Root-Dateisystem im Speicher darstellt. Sie enthält notwendige Treiber (z.B. für Festplatten-Controller, Dateisysteme, LVM, Verschlüsselung), um auf das eigentliche Root-Dateisystem zugreifen zu können.
  6. Mount Root (/): Mithilfe der Treiber aus der initrd/initramfs kann der Kernel nun das Haupt-Root-Dateisystem (/) einhängen.
  7. Init-Prozess: Der Kernel startet den Init-Prozess (wie systemd), der sich nun auf dem eingehängten Root-Dateisystem befindet und den Rest des Systemstarts übernimmt.

Wichtige Inhalte des /boot Verzeichnisses

Typischerweise finden sich im /boot-Verzeichnis folgende Dateitypen (die genauen Namen enthalten oft die Kernel-Version):

Linux Kernel Image (vmlinux-<version>):
Die kompilierte, ausführbare Datei des Linux-Kernels selbst. vmlinuz steht oft für “Virtual Memory Linux Zipped”.


Initial RAM Disk Image (initrd.img-<version> oder initramfs-<version>.img):
Ein Archiv (oft cpio, komprimiert mit gzip, xz etc.), das ein minimales Dateisystem mit essentiellen Modulen und Skripten enthält, um das eigentliche Root-Dateisystem mounten zu können. initramfs ist der modernere Nachfolger von initrd.


Bootloader-Konfiguration:
Ein Unterverzeichnis (z.B. /grub/ oder /grub2/) enthält die Konfigurationsdateien des Bootloaders (z.B. grub.cfg), die das Bootmenü definieren und dem Bootloader sagen, welchen Kernel und welche initrd er laden soll. Auch Umgebungsvariablen für den Bootloader (z.B. grubenv) können hier liegen.


System Map (System.map-<version>):
Eine Symboltabelle für den spezifischen Kernel. Sie ordnet Speicheradressen den Funktions- und Variablennamen im Kernelcode zu, was hauptsächlich für das Debugging von Kernel-Fehlern (Kernel Panics) nützlich ist.


(Optional) Konfigurations-Abbild (config-<version>):
Eine Kopie der Konfigurationsdatei, die beim Kompilieren des jeweiligen Kernels verwendet wurde.


(Optional) UEFI-Dateien:
Wenn das System UEFI verwendet, kann das Verzeichnis /boot/efi der Mountpunkt für die EFI System Partition (ESP) sein, welche die eigentlichen .efi-Bootloader-Dateien enthält. Manchmal, wenn /boot selbst die ESP ist (FAT32 formatiert), liegen die EFI-Dateien direkt im EFI-Unterverzeichnis von /boot.

/boot als separate Partition

Es ist gängige Praxis, /boot auf einer eigenen, relativ kleinen Partition (z. B. 200 MB - 1 GB) anzulegen. Dafür gibt es gute Gründe.

Dateisystem-Kompabilität

Der Bootloader (insbesondere ältere oder solche auf der ESP) versteht möglicherweise nur einfachere Dateisysteme wie ext2, ext3, ext4 oder FAT32 (für die ESP zwingend). Das Haupt-Root-Dateisystem (/) kann dann auf einem komplexeren Dateisystem (wie Btrfs, ZFS, XFS mit speziellen Features) oder innerhalb eines Logical Volume Managers (LVM) oder einer verschlüsselten Partition liegen, das der Bootloader selbst nicht lesen kann. Durch die separate /boot-Partition kann der Bootloader Kernel und initrd laden, welche dann die Treiber für das komplexere Root-FS enthalten.

UEFI-Anforderungen

Die EFI System Partition (ESP) muss mit FAT32 formatiert sein. Oft wird sie unter /boot/efi gemountet, aber eine separate /boot-Partition (z. B. ext4) plus eine separate ESP unter /boot/efi ist ebenfalls eine übliche Konfiguration.

Verschlüsselung/LVM

Wenn das Root-Dateisystem verschlüsselt ist oder auf LVM liegt, braucht der Bootloader einen unverschlüsselten, direkt zugänglichen Ort, um Kernel und initrd zu laden. Die initrd enthält dann die notwendigen Werkzeuge, um das verschlüsselte oder LVM-basierte Root-FS zu entschlüsseln bzw. zu aktivieren.