
Mac-Tipp: Ursachen für einen Mac-Neustart ergründen


Stellt ein Mac unerwartet seine Dienste ein, ist das ein Ärgernis. Möglicherweise sind einige Arbeitsschritte verloren gegangen, die es zu rekonstruieren gilt. Um ein wiederholtes Auftreten zu vermeiden, begeben sich Mac-Administratoren auf Ursachenforschung. Leicht fällt diese oftmals nicht, denn macOS versteckt diese Fehlermeldungen in Log-Dateien. Howard Oakley beschreibt in einem hilfreichen
Blog-Beitrag, wie man Fehlerursachen auf die Spur kommt.
Eine häufige Ursache unerwarteter Neustarts stellen laut Oakley Probleme mit der Energieversorgung dar, etwa aufgrund eines Stromausfalls oder eines fehlerhaften Netzteils. Die Behebung und Diagnose solcher Fehler sollte man auf jeden Fall den Profis überlassen, so Oakley – unsachgemäßer Umgang mit Netzteilen kann tödlich enden. Ein älterer Mac kann zudem Hardware-Defekte aufweisen, etwa im System Management Controller (SMC). In diesem Fall lohnt sich eine Hardware-Diagnose. Dafür hält man beim Intel-Mac während des Startvorgangs die Taste „D“ gedrückt. Um einen Apple-Silicon-Mac in den Diagnose-Modus zu versetzen, muss beim Neustart der Startknopf gedrückt gehalten werden, bis „Startoptionen“ erscheint. Dann hält man
+D gedrückt.
UrsachenforschungSofern Hardware oder Stromversorgung als Ursache nicht in Betracht kommen, gehört eine Kernel Panic zu den wahrscheinlichsten Auslösern. Falls man nach dem Neustart keinen
Absturzbericht präsentiert bekommt, hilft nur noch das Durchstöbern der Log-Dateien. Dies ist seit Einführung des „unified Log“ in macOS 10.12 (Sierra) eine Herausforderung, da das Dienstprogramm „Konsole“ keinen Rückblick in vorige Log-Dateien erlaubt. Über das Kommandozeilen-Programm „Terminal“ kann man sich mittels des Befehls
log show --predicate 'eventMessage contains "Previous shutdown cause"' --last 24h
entsprechende Fehler innerhalb der letzten 24 Stunden anzeigen lassen. Alternativ empfiehlt Oakley seine
Eigenentwicklungen zum gezielten Durchstöbern der Log-Dateien: Ulbow für Macs bis hoch zu macOS 14, LogUI für Rechner mit macOS 14.6 oder neuer. Mit ihnen lässt sich der Zeitraum auf den Zeitpunkt des Hochfahrens nach dem Absturz festlegen. Durch Begrenzung der Antworten entweder auf die eventMessage „paniclog“ oder das Subsystem „com.apple.DumpPanic“ begrenzen Sie die Ausgabe auf relevante Einträge.
Das kostenlose LogUI hilft beim Aufspüren hilfreicher Fehler-Codes. „Cause 5“ steht für ganz normales Herunterfahren.
Cause Codes zeigen Ursache (nur Intel)In den Fehlerprotokollen taucht bestenfalls ein „Cause Code“ auf, ein Zahlenwert, welcher die Ursache für den Neustart erklärt. Eine
Liste bekannter Ursachen-Codes erläutert, welches Subsystem den Reboot initiiert hat. „5“ steht für einen stinknormalen, vom Anwender ausgelösten Neustart.
Intel Cause Codes und ihre BedeutungCode | Ursache |
-127 | Stromquelle oder SMC löste Neustart aus (unbekannter Grund) |
-103 | Akkuspannung zu gering |
-101 | Bildschirm zu heiß |
-100 | Netzteil zu heiß |
-79 | falsche Spannung von Akku |
-78 | falsche Spannung von Netzteil |
-75 | Kommunikationsfehler mit MagSafe-Kabel |
-74 | Akku zu heiß |
-71 | RAM zu heiß |
-64 | Kernel Panic |
-62/-61 | nicht reagierende App löste Herunterfahren aus |
-3 | Mehrere Komponenten sind überhitzt |
3 | erzwungener Neustart (durch Anwender) |
5 | Normales Herunterfahren (durch Anwender) |
Apple Silicon: Keine FehlerhinweiseDie hilfreichen Cause Codes fehlen bei Macs mit M-Prozessor gänzlich, hat Oakley entdeckt. Um einem Absturz auf die Spur zu kommen, begab er sich auf
Spurensuche in Log-Dateien, nachdem er macOS in einer Virtuellen Maschine vorsätzlich zum Abstürzen gebracht hatte. Sein Tipp: die Datei „/var/db/com.apple.DumpPanic.panicLogPathBreadcrumb“ in den Dokumente-Ordner kopieren und mit einem Texteditor inspizieren. Wenn in der XML-Datei zwischen den String-Tags etwas geschrieben steht, gibt es eine Protokolldatei – der String ist der Pfad dorthin. Noch gibt es trotzdem keinen Weg bei Apple Silicon, die Fehlerursache so leicht zu entschlüsseln wie mit Intel-Macs.
Ist der String-Bereich in der panicLogPathBreadcrumb-Datei leer, gibt es auch kein Fehlerprotokoll.