TokkNet

Nicht reagierendes System neu starten

Sogar wenn kein Dateisystem unter / verfügbar ist
Tokk 208 Wörter ~1 Min.

Ab und an kann es passieren, dass ein System sich nicht mehr beenden lässt. Sei es, weil der Kernel versucht Hintergrundaufgaben abzuschließen oder kein Dateisystem mehr vorhanden ist (z.B. durch ein (meist versehentliches) erzwungenes unmounten von /) und somit die Executables für systemctl, reboot etc. einfach fehlen.
Sitzt man direkt am Rechner hilft natürlich der Ein-/Ausschalter aber oft ist die Sache ja nicht so einfach.

Mit vorhandenem Dateisystem

Wenn noch ein Dateisystem eingebunden ist, kann der Befehl reboot verwendet werden, mit einem der drei folgenden Möglichkeiten:

  • reboot -f: Killt alle Prozesse, unmounted Dateisysteme (oder hängt sie nur lesbar ein), startet dann neu
  • reboot -ff: Startet das System sofort neu, ohne Prozesse vorher zu beenden oder Dateisysteme zu unmounten
  • reboot -n: Führt keine Syncronisation der eingebundenen Dateisysteme durch.

Die ersten beiden Befehle können auch durch systemctl --force bzw. systemctl --force --force ersetzt werden, wenn der Befehl reboot nicht verfügbar ist.

Ohne vorhandes Dateisystem

Ohne Dateisystem gibt es die Möglichkeit, einen SystemRequest abzusetzen, der das System direkt und ohne Ausführung irgendwelcher Anwendungen neu startet.

echo "128 " >/proc/sys/kernel/sysrq #Den folgenden Request erlauben
echo b > /proc/sysrq-trigger        #Reboot

Obligatorische Warnung

Das die hier aufgeführten Befehle zu Datenverlust führen können erwähne ich hier nur der Vollständigkeithalber, da es eigentlich klar sein sollte