Der Bootvorgang ist eine Kette von Vertrauens- und Kontrollübergaben, die aus dem Zurücksetzen der Plattform eine laufende Userspace-Umgebung macht. Ein verbreiteter Ablauf auf PCs lässt sich als Firmware, Bootmanager oder Bootloader, Kernel mit optionalem frühem Userspace und Init-System mit PID 1 zusammenfassen. Andere Architekturen, virtuelle Maschinen, eingebettete Systeme und Container können abweichende Wege verwenden.
System booten · Lektion 1
Überblick über den Bootvorgang
Lerne die wichtigsten Übergaben von der Plattform-Firmware über den Kernel bis zum ersten Prozess im Userspace kennen.
Initialisierung durch die Firmware
Die Plattform-Firmware initialisiert genügend Zustand von CPU, Arbeitsspeicher und Geräten, um ein Bootziel auszuwählen. Herkömmliche PCs verwenden BIOS-Konventionen; aktuelle PCs arbeiten meist mit UEFI. Firmware-Einstellungen, Bootreihenfolge, Plattformprüfung und Secure-Boot-Richtlinien können bestimmen, welche ausführbare Datei der nächsten Stufe gestartet werden darf.
Die Firmware versteht nicht zwangsläufig das installierte Linux-Root-Dateisystem. Sie findet einen Bootpfad gemäß ihrer Schnittstelle, beispielsweise BIOS-Bootcode auf einem ausgewählten Datenträger oder einen UEFI-Booteintrag, der auf eine EFI-Datei auf einer EFI-Systempartition verweist.
Welche Komponente beginnt auf einem typischen PC nach dem Zurücksetzen mit der Initialisierung der Plattform?
Bootloader oder Bootmanager
Ein Bootloader wie GRUB kann Einträge anzeigen, einen ausgewählten Linux-Kernel und ein initiales RAM-Dateisystem in den Speicher laden, die Kernel-Befehlszeile zusammenstellen und die Kontrolle übergeben. UEFI kann auch einen als EFI-Datei gebauten Kernel direkt laden. Ein getrennter mehrstufiger Bootloader ist daher zwar verbreitet, aber nicht universell.
Die ausgewählten Artefakte müssen zusammenpassen: Kernel-Version, Inhalt der initramfs, Root-Kennung, Sicherheitssignaturen und Befehlszeilenoptionen beeinflussen, ob die nächste Übergabe gelingt.
Was gehört häufig zu den Aufgaben eines Linux-Bootloaders?
Kernel und früher Userspace
Der Kernel dekomprimiert oder verschiebt sich nach Bedarf, initialisiert zentrale Subsysteme, wertet seine Befehlszeile aus und erkennt verfügbare Hardware. Eine initramfs kann Module und frühe Werkzeuge für Speichererkennung, RAID, Verschlüsselung, LVM, Netzwerk oder andere Arbeiten bereitstellen, die zum Zusammensetzen des eigentlichen Root-Dateisystems nötig sind.
Sobald das vorgesehene Root-Dateisystem verfügbar ist, wechselt der frühe Userspace dorthin und der Kernel führt das konfigurierte erste Userspace-Programm aus. Einzelheiten wie die Zuständigkeit für Dateisystemprüfungen oder das erneute Einhängen mit Schreibzugriff gehören zum Bootdesign der jeweiligen Distribution und nicht zu einer universellen Abfolge.
Warum kann ein System eine initramfs verwenden?
PID 1 und Systembereitschaft
Der erste Userspace-Prozess erhält PID 1. Auf vielen Distributionen ist dies systemd; andere Systeme verwenden sysvinit, OpenRC, runit, BusyBox init oder ein spezialisiertes Programm. PID 1 richtet die Dienstumgebung im Userspace ein, räumt verwaiste Kindprozesse auf und übernimmt Aufgaben beim Herunterfahren.
Das Erreichen von PID 1 bedeutet nicht, dass das System vollständig bereit ist. Dienste können noch starten, Speicher kann noch eingehängt und das Netzwerk konfiguriert werden. Eine grafische oder Konsolenanmeldung ist nur einer von mehreren möglichen Zielzuständen.
Was leitet die hauptsächliche Initialisierung des Userspace ein?
Das Lab GRUB2-Bootmenü anpassen zeigt einen möglichen Weg zur Konfiguration des Bootloaders. Nimm Änderungen nur in einem wiederherstellbaren Lab-System vor.
Lektion abgeschlossen
Sie haben Überblick über den Bootvorgang abgeschlossen
Du kannst nun die wichtigsten Übergaben des Linux-Bootvorgangs nachvollziehen, ohne ihre konkrete Umsetzung für universell zu halten.
Beginne mit der Firmware-Initialisierung und der Auswahl des Bootziels.
Ordne dem Bootloader die Auswahl von Kernel, initramfs und Befehlszeile zu.
Nutze den frühen Userspace, um den Aufbau komplexer Root-Dateisysteme zu verstehen.
Betrachte PID 1 als Beginn der Dienstinitialisierung und nicht als Beweis vollständiger Bereitschaft.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen