Verwendung von Kernel-Boot-Time-Parametern in Linux

Verwendung von Kernel-Boot-Time-Parametern in Linux

Das Booten von Linux ist im Vergleich zu anderen Betriebssystemen ein komplexer Prozess. Die Linux-Kernel akzeptiert beim Booten viele Parameter, die über die Kommandozeile übergeben werden und dem Kernel beim Systemstart wichtige Informationen liefern.

Betrachten Sie diese Parameter als spezielle Anweisungen, die Sie dem Kernel geben, bevor er überhaupt mit der Ausführung des Betriebssystems beginnt.

Mit ihnen können Sie dem Kernel mitteilen:

  • welche Platte enthält Ihr Root-Dateisystem?
  • Wie viel Arbeitsspeicher soll verwendet werden?
  • ob bestimmte Hardwarefunktionen geladen werden sollen.
  • oder sogar, wie mit Fehlern während des Starts umgegangen werden soll.

Ohne sie wüsste der Kernel nicht, wie er das System richtig initialisieren soll.

Woher kommen die Boot-Parameter?

Boot-Parameter werden in der Regel vom Bootloader bereitgestellt, dem kleinen Programm, das unmittelbar nach dem Start des Computers ausgeführt wird. Ihren Computer einschaltenund seine Aufgabe ist es, den Kernel in den Speicher zu laden.

Wenn der Bootloader die Kontrolle an den Kernel übergibt, gibt er auch diese Bootzeitparameter weiter.

Verwendung von Kernel-Boot-Time-Parametern in Linux

Beispiel (aus GRUB):

linux /vmlinuz-6.x root=/dev/sda1 ro quiet splash

Hier’s, was’s geschieht:

  • root=/dev/sda1 → Sagt dem Kernel, wo sich das Root-Dateisystem befindet.
  • ro → Mounten des Root-Dateisystems als zunächst schreibgeschützt.
  • quiet → Blendet die meisten Bootmeldungen aus, um einen saubereren Bootvorgang zu ermöglichen.
  • splash → Zeigt einen Begrüßungsbildschirm anstelle von Text an.

Noch bevor Linux mit der Initialisierung von Diensten beginnt, weiß der Kernel also bereits, was zu tun ist.

Wie die Boot-Parameter organisiert sind

Boot-Parameter sind nicht einfach zufällige Schalter; sie sind in Kategorien organisiert, die auf den Teilen des Systems basieren, die sie steuern.

Lassen Sie uns diese erkunden.

1. Grundlagen des Systems

Diese teilen dem Kernel mit, wie er zu starten hat und wo er nach dem Root-Dateisystem suchen soll.

  • root=/dev/... → Gerät, das das Root-Dateisystem enthält.
  • ro → Root-Dateisystem zuerst schreibgeschützt einhängen (am sichersten).
  • rw → Mounten Sie das Root-Dateisystem sofort schreibgeschützt.
  • init=/path/to/init → Verwenden Sie ein benutzerdefiniertes Init-Programm (z.B. für Rettungs- oder Testzwecke).

2. Konsole & Fehlersuche

Diese Parameter steuern die Meldungen, die während des Systemstarts angezeigt werden. Sie sind besonders nützlich für die Fehlersuche, wenn etwas schief läuft.

  • quiet → Unterdrückt die meisten Boot-Meldungen.
  • debug → Aktiviert ausführliche Debugging-Ausgaben.
  • console=ttyS0,115200 → Direkte Meldungen an eine serielle Konsole (für Remote-Debugging).
  • loglevel=3 → Kontrolle der Ausführlichkeit von Nachrichten (0 = Notfälle, 7 = vollständige Angaben).

3. Hardware-Steuerung

Manchmal können Hardware-Funktionen wie ACPI oder APIC Probleme verursachen, so dass Sie sie bei Bedarf optimieren oder deaktivieren können:

  • noapic → Deaktiviert APIC, nützlich um bestimmte Probleme auf älterer Hardware zu beheben.
  • acpi=off → Schaltet ACPI aus und deaktiviert die erweiterte Energieverwaltung.
  • pci=noacpi → Verhindert, dass ACPI PCI-Interrupts behandelt.

4. Speicher & CPU-Verwaltung

Kontrollieren Sie, wie viel Speicher und wie viele CPUs der Kernel verwendet.

  • mem=512M → Begrenzen Sie den verfügbaren Speicher auf 512 MB.
  • maxcpus=2 → Verwenden Sie nur 2 CPU-Kerne.
  • nosmp → Deaktivieren Sie die Multiprozessor-Unterstützung vollständig.

5. Wiederherstellung & Fehlerbehebung

Optionen für die Behandlung von Abstürzen, die Fehlersuche oder die vorübergehende Umgehung von Sicherheitsbestimmungen:

  • initcall_debug → Initialisierungsaufrufe nachverfolgen (Debuggen von Boot-Problemen).
  • panic=10 → Automatischer Neustart 10 Sekunden nach einer Kernel-Panik.
  • selinux=0 → SELinux-Durchsetzung deaktivieren.

Boot-Parameter temporär hinzufügen

Manchmal muss man die Art und Weise, wie Linux bootet, ändern, z.B. bestimmte Funktionen deaktivieren (z.B., ACPI), ohne Ihr System dauerhaft zu verändern. Hier kommen die temporären Boot-Parameter ins Spiel.

Starten Sie Ihren Computer neu und direkt nach dem BIOS/UEFI Bildschirm, rufen Sie das GRUB-Menü auf. Wenn es nicht automatisch erscheint, halten Sie Shift (für BIOS Systeme) oder drücken Sie Esc (für UEFI Systeme).

Markieren Sie den Kernel, den Sie booten möchten, und drücken Sie e um die Boot-Befehle zu bearbeiten, und suchen Sie die Zeile, die mit linux oder linuxefi. Diese Zeile teilt dem System mit, welcher Kernel geladen werden soll und welche Optionen zu verwenden sind.

Fügen Sie am Ende dieser Zeile Ihre(n) Parameter hinzu. Um zum Beispiel ACPI vorübergehend zu deaktivieren, können Sie Folgendes hinzufügen acpi=off:

linux /vmlinuz-6.x root=/dev/sda1 ro quiet splash acpi=off

Presse Ctrl + X oder F10 um mit diesen Änderungen zu starten.

Dadurch wird das System nur für diese Sitzung mit den von Ihnen angegebenen Parametern gebootet. Beim Neustart kehrt das System zu seinen normalen Einstellungen zurück.

Boot-Parameter permanent machen

Wenn der vorübergehend gesetzte Parameter funktioniert und Sie ihn bei jedem Booten anwenden möchten, öffnen Sie die GRUB-Konfigurationsdatei zur Bearbeitung.

sudo nano /etc/default/grub

Suchen Sie nach der Zeile, die lautet:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Fügen Sie Ihre(n) Parameter innerhalb der Anführungszeichen ein. Zum Beispiel, um ACPI dauerhaft zu deaktivieren:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=off"

Speichern Sie die Datei und beenden Sie den Editor.

Aktualisieren Sie dann GRUB, damit Ihre Änderungen übernommen werden:

sudo update-grub      # for Debian/Ubuntu
sudo grub2-mkconfig -o /boot/grub2/grub.cfg   # for Fedora/RHEL

Starten Sie Ihr System neu, damit die Parameter bei jedem Booten automatisch übernommen werden.

Die 10 wichtigsten Boot-Parameter, die jeder Linux-Administrator kennen sollte

Dies sind die am häufigsten verwendeten Boot-Parameter des Linux-Kernels, mit denen jeder Systemadministrator vertraut sein sollte. Sie helfen bei der Steuerung des Systemstarts, der Verwaltung der Hardware, der Leistungsoptimierung und der schnellen Behebung von Boot-Problemen.

Halten Sie diesen Spickzettel immer griffbereit, wenn Sie das Linux-Bootverhalten optimieren oder debuggen müssen.

ParameterKategorieZweck / Beschreibung
root=/dev/sda1System-GrundlagenGibt das Gerät an, das das Root-Dateisystem enthält.
roSystem-GrundlagenMounten Sie das Root-Dateisystem aus Sicherheitsgründen beim Booten als schreibgeschützt.
rwSystem-GrundlagenMounten Sie das Root-Dateisystem sofort lesend und schreibend.
quietKonsole / FehlersucheUnterdrückt die meisten Boot-Meldungen für einen sauberen Bootvorgang.
debugKonsole/DebuggingAktiviert ausführliche Kernel-Meldungen, die bei der Fehlersuche bei Boot-Problemen helfen.
acpi=offHardware-SteuerungDeaktiviert ACPI (Advanced Configuration and Power Interface), nützlich für die Fehlersuche bei Hardwareproblemen.
noapicHardware-SteuerungDeaktiviert den Advanced Programmable Interrupt Controller; hilft bei einigen älteren Hardware-Problemen.
mem=512MSpeicher & CPUBegrenzt den verfügbaren Speicher auf 512 MB für Testzwecke oder zur Fehlerbehebung.
maxcpus=2Speicher & CPUBeschränkt das System auf die Verwendung von nur 2 CPU-Kernen.
init=/path/to/initWiederherstellung / Benutzerdefinierte InitErmöglicht das Booten mit einem benutzerdefinierten Init-Programm, nützlich für den Rettungsmodus oder die Fehlersuche.
Abschließende Überlegungen

Boot-Zeit-Parameter sind wie geheime Schlüssel zum Linux-Kernel; sie erlauben es Ihnen, genau zu kontrollieren, wie das System startet, wie die Hardware initialisiert wird und wie Probleme behandelt werden.

Ganz gleich, ob Sie ein hartnäckiges Boot-Problem beheben, die Leistung optimieren oder mit Kernel-Funktionen experimentieren, diese Parameter geben Ihnen die Kontrolle über Ihren Linux-Rechner auf niedriger Ebene.

Wenn Ihr Linux-Rechner das nächste Mal nicht bootet oder Sie einfach nur ein bisschen mehr Leistung aus Ihrem System herausholen wollen, denken Sie daran, dass die Antwort in ein paar zusätzlichen Worten in der Kernel-Befehlszeile liegen kann.

Share the Post:

Related Posts