
Mac-Praxis: Wie der Mac startet, was dabei passiert – und wie er darüber berichtet


Vieles hat sich in den vergangenen Jahren verändert, was den Startvorgang von macOS angeht. Anstelle von UEFI-Firmware und macOS-Booter trat eine Kette komplexer Sicherheits- und Integritätsüberprüfungen. Zudem verwenden Macs seit macOS 10.12 (Sierra) mit dem "Unified Log" eine neue Protokollstruktur für Systemprozesse. Darin erscheinen auch Meldungen aus dem Startvorgang. Howard Oakley hat sich die gesammelten Informationen angesehen und
beschreibt seine neuesten Entdeckungen.
Der Bericht des Startvorgangs beginnt mit "=== system boot:", gefolgt von der UUID des Boot-Volumes. Daraufhin übernehmen zunächst Low Level Bootloader und daraufhin iBoot – mindestens fünf Sekunden lang sind diese beschäftigt. Was diese tun, wird nicht im Unified Log protokolliert, sondern stattdessen als "Breadcrumbs" festgehalten. Oakley beschreibt sie als kryptisch und unauswertbar. Die Pause in der Aufzeichnung wird mit "kprintf initialized" beendet – ab diesem Zeitpunkt beginnt der macOS-Kernel mit seiner Arbeit und kommt seinen Berichtspflichten nach.
ZeitsprüngeAuf seinem Mac ist der Kernel rund vier Sekunden mit der Initialisierung diverser Subsysteme beschäftigt, die er ausführlich protokolliert. Dabei beobachtete er mehrere Zeitsprünge, die auf die Anpassung der Systemzeit zurückzuführen ist. Dies erscheint als "=== system wallclock time adjusted" im Protokoll. Er hat festgestellt, dass dies zweimal in recht kurzen Abständen erfolgt: Erst dreht der Kernel die Systemzeit um einige Sekunden zurück, um sie kurz darauf wieder vorzustellen. Diese wallclock-Zeit wird auch als Referenz für das Unified Log verwendet. Das Ergebnis: Dieselbe Zeit kann während dieser Phase mehrfach im Protokoll erscheinen.
Die Startsequenz von macOS wurde beim Übergang von Intel auf Apple Silicon grundsätzlich überarbeitet.
Anmelde-Bildschirm entsperrt VolumesIm Anschluss darauf präsentiert macOS den Anwender mit dem Bildschirm zur Eingabe des Kennworts. Bis zu diesem Zeitpunkt hat das System keinen Zugriff auf individuelle Daten des Anwenders; alle Systembestandteile starten von nutzerunabhängigen Volumes sowie einem Schnappschuss des signierten System-Volumes (SSV). Erst eine Anmeldung verknüpft System und Nutzerdaten. Erst dann übergibt der Kernel die bisher gesammelten Protokolle zur Speicherung an das Unified Log – bis zu diesem Zeitpunkt wurden sie im RAM gesammelt.
Gigantische InformationsfülleZum Abschluss gibt Howard Oakley einen Einblick in die Fülle an Informationen, die während des Startvorgangs anfällt: Während des Startvorgangs laufen etwa 1.000 Meldungen pro Sekunde ein; dann wächst der Umfang auf über 5.000 Einträge pro Sekunde an. Oakley bietet mit
LogUI ein kostenloses Programm an, um Systemprotokolle nach relevanten Informationen zu durchforsten.