Ich habe versehentlich alle Dienste in Yosemite (10.10) deaktiviert, jetzt kann es nicht mehr gestartet werden

13

Ich rannte:

sudo launchctl unload -w /System/Library/LaunchDaemons/

versehentlich bootet mein Mac jetzt nicht ... Irgendeine Idee, wie man das behebt?

Betriebssystemversion: Yosemite.

Vincebzh
quelle
Thx für die Bearbeitung, Version ist Yosemite
Vincebzh
Können Sie im Einzelbenutzermodus (Cmd-S) oder im abgesicherten Modus (Shift) booten?
Bob
Nur für Einzelbenutzer, das habe ich sudo launchctl load -w /System/Library/LaunchDaemons/von dort aus versucht, aber es hat nicht geholfen.
Vincebzh
Hmm. Okay, wir sind schon über meinem Kopf :) Vielleicht schauen Sie sich diesen Beitrag an ?
Bob
Thx, das ist es. Eigentlich versuche ich das System neu zu installieren, ohne Benutzerdaten zu löschen .... Wenn ich einen Fix finde, werde ich auch dort posten.
Vincebzh

Antworten:

17

Der Befehl sudo launchctl unload -w /System/Library/LaunchDaemons/deaktiviert alle Start-Daemons in / System / Library / LaunchDaemons / und fügt entsprechende Einträge in einer disabled.plist hinzu . Der Befehl, der versehentlich eingegeben wurde, wirkt sich nicht auf den "nicht erzwungenen" Ladezustand eines System-Daemons aus, sondern überschreibt einen vorhandenen Zustand (geladen / entladen). Durch das Entfernen der disabled.plist wird eine fast standardmäßige Systemkonfiguration wiederhergestellt - mit Ausnahme derjenigen Daemons oder Agenten, die in der Erstkonfiguration des Systems oder nach der Installation einer Drittanbieter-App in einen der beiden Status versetzt wurden. Dies kann behoben werden, indem entweder die Datei von einem Backup wiederhergestellt oder - teilweise - eine disabled.plist-Datei von einem ähnlichen System kopiert wird.

Damit Ihr System wieder startet, müssen Sie diese spezielle Datei im Wiederherstellungsmodus entfernen.

  • Booten Sie in den Wiederherstellungsmodus
  • Öffnen Sie Terminal in der Menüleiste Dienstprogramme> Terminal
  • cd to /Volumes/NameOfMainSystemVolume/private/var/db/com.apple.xpc.launchd
    Ersetzen Sie NameOfMainSystemVolume durch den Namen Ihres Hauptvolumes (z. B. Macintosh \ HD).
  • liste alle dateien mit ls -la. Sie erhalten eine Liste mit ca. 20 Dateien, die sich alle auf Benutzer-IDs beziehen, und eine große Datei disabled.plist (ca. 10-15 KB).
  • Entfernen Sie die Dateien mit rm *.plist
  • Starten Sie das System neu, bearbeiten Sie /private/var/db/com.apple.xpc.launchd/disabled.plist sudo nano …und ersetzen Sie den vorhandenen Inhalt - wahrscheinlich einige grundlegende XML-Plist-Header und einen oder mehrere Daemons, die vom System beim Booten hinzugefügt wurden - nach folgendem Inhalt:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>com.apple.ManagedClientAgent.enrollagent</key>
        <true/>
        <key>com.apple.ftpd</key>
        <true/>
        <key>com.apple.rpmuxd</key>
        <false/>
        <key>com.apple.usbmuxd</key>
        <false/>
        <key>com.apple.mrt</key>
        <false/>
        <key>com.apple.stackshot</key>
        <false/>
        <key>org.ntp.ntpd</key>
        <false/>
        <key>com.apple.pacemaker</key>
        <true/>
    </dict>
    </plist>

    Dies sollte der Standardinhalt der Datei in Yosemite sein. Wenn Sie zusätzliche Apps von Drittanbietern installiert hatten, enthielten diese wahrscheinlich zuvor mehr Daemons. ZB musste ich einen Little Snitch und einen XQuartz-bezogenen System-Daemon entfernen, um eine irgendwie "standardmäßige" disabled.plist zu erhalten .

klanomath
quelle
Vielen Dank, ich habe mir diese Datei gerade angesehen. Es hat funktioniert :)
Vincebzh
@Vincebzh Ich werde den (mehr oder weniger) Standardinhalt der Datei hinzufügen. Nur eine Sekunde
klanomath
@grgarside Re: Deine Bearbeitung. sudo launchctl unload -w /System/Library/LaunchDaemons/Schreibt nur in disabled.plist, nicht jedoch in die anderen (benutzerbezogenen, dh 0; 248; 501; ...) Plists. AFAIR Ich habe dies mit dem root-Benutzer und fseventer getestet!
klanomath
Das habe ich mir gedacht, aber das OP des verknüpften Duplikats verlangt etwas anderes: apple.stackexchange.com/questions/192878/…
grg