Boot, GRUB und systemd-boot

Kernel kann keinen funktionierenden Init-Prozess starten

No working init found heißt, dass Kernel den Userspace nicht starten konnte; Root-Auswahl, Init-Binärdatei und Interpreter aus Rettungsmedium prüfen.

Auf dieser Seite
  1. Symptome und Geltungsbereich
  2. Mögliche Ursachen
  3. Sicher prüfen
  4. Nächste Schritte nach Befund
  5. Quellen und Prüfung
  6. Verwandte Probleme

Symptome und Geltungsbereich

  • Der Start endet mit Kernel panic - not syncing: No working init found.
  • Erwartetes Init kann auf Platte existieren, aber Interpreter oder benötigte Bibliotheken fehlen.

Betroffene Umgebung

Linux bei Übergabe vom Kernel an Userspace, besonders eigene Abbilder, unterbrochene Paket-Upgrades oder falsche init=-/root=-Argumente.

Erkennbare Meldungen (synthetische Beispiele)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel.

Root sowie Init-Interpreter/Abhängigkeiten vor Bootloader-Neuinstallation prüfen; Lader hat Kontrolle bereits an Linux übergeben.

Mögliche Ursachen

Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.

  • Falsches Root- oder init=-Argument kann Dateisystem ohne vorgesehenes Init wählen.
  • Fehlender dynamischer Lader/Bibliotheken, falsche Architektur oder fehlerhaftes eigenes /init-Skript können Ausführung verhindern; vorhandene Datei allein genügt nicht.

Sicher prüfen

Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.

Prüfschritt 1

Korrekt ermitteltes installiertes Root unter /mnt/sysroot verwenden; Pfad bei anderem Init-Ort ersetzen. Dies liest Dateityp und Link-Metadaten.

file /mnt/sysroot/sbin/init

Ergebnis einordnen: Architektur, Linkziel und beabsichtigtes Skript prüfen. file gegen Live-Root ohne diesen Pfad beschreibt stattdessen Rettungssystem.

Prüfschritt 2

Durch tatsächliches Init-ELF eingehängter Installation ersetzen; readelf liest Programmheader ohne Ausführung beschädigter Binärdatei.

readelf -l /mnt/sysroot/usr/lib/systemd/systemd

Ergebnis einordnen: Angeforderten Interpreterpfad innerhalb installiertem Root prüfen. Vorhandenes Init mit fehlendem Interpreter kann wie fehlende ausführbare Datei scheitern.

Nächste Schritte nach Befund

Unbeabsichtigten Init-Parameter entfernen

Enthält gescheiterter Start unbeabsichtigtes init= oder falsches root=, per temporärem Boot-Menü-Editor verifizierten normalen Eintrag für einen Start wiederherstellen. Nur bestätigte Korrektur über Quellkonfiguration der Distribution dauerhaft setzen.

Vorsicht: init=/bin/sh nicht als Routinereparatur nutzen; es umgeht normalen Start und kann unsichere Dateisystemzustände für Änderung hinterlassen. Zuerst Ziel-Root prüfen.

Wiederherstellung / Rücknahme: Temporäre Menüänderung verwerfen oder gesicherte Boot-Konfiguration zurückstellen und älteren funktionierenden Eintrag wählen.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Init und passende Laufzeitpakete wiederherstellen

Ist gewolltes Root korrekt, fehlen aber Init oder Lader/Bibliotheken, passende Init- und grundlegende Laufzeitpakete der Distribution über unterstütztes Rettungs-/chroot-Verfahren zurückbringen. Bei eigener Initramfs /init und Interpreter konsistent neu aufnehmen.

Vorsicht: Unbekannte wiederhergestellte Binärdateien nicht ausführen und ldd nicht gegen untrusted Abbild nutzen; readelf prüft Header sicherer. Paketstände konsistent halten.

Wiederherstellung / Rücknahme: Bei gescheiterter Rekonstruktion gesicherten Paket-/Abbild-Snapshot oder vorherige eigene funktionierende Initramfs zurückstellen.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Quellen und Prüfung

Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.