Przez pomyłkę wyłączyłem wszystkie usługi w Yosemite (10.10), teraz nie można uruchomić

13

Prowadziłem:

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

przez pomyłkę, teraz mój Mac nie uruchamia się ... Masz pomysł, jak to naprawić?

Wersja systemu operacyjnego: Yosemite.

Vincebzh
źródło
Dziękujemy za edycję, wersja to Yosemite
Vincebzh
Czy możesz uruchomić system w trybie pojedynczego użytkownika (Cmd-S) lub w trybie awaryjnym (Shift)?
Bob
Tylko jeden użytkownik, starałem się sudo launchctl load -w /System/Library/LaunchDaemons/stamtąd, ale to nie pomogło.
Vincebzh
Hmm Okej, jesteśmy już nad głową :) Może rzucisz okiem na ten post ?
Bob
Dzięki, to wszystko. Właściwie próbuję ponownie zainstalować system bez usuwania danych użytkownika .... Jeśli znajdę poprawkę, również tam opublikuję.
Vincebzh

Odpowiedzi:

17

Polecenie sudo launchctl unload -w /System/Library/LaunchDaemons/wymusi wyłączenie wszystkich demonów uruchamiających w / System / Library / LaunchDaemons / i doda odpowiednie wpisy w disabled.plist . Polecenie - wprowadzone przypadkowo - nie wpływa na „niewymuszony” stan ładowania demona systemowego, ale zastępuje każdy istniejący stan (załadowany / rozładowany). Usunięcie disabled.plist przywróci prawie domyślną konfigurację systemu - z wyjątkiem demonów lub agentów, którzy zostali zmuszeni do jednego z dwóch stanów w początkowej konfiguracji systemu lub po instalacji aplikacji innej firmy. Można to uratować, przywracając plik z kopii zapasowej lub - częściowo - kopiując plik disabled.plist z podobnego systemu.

Aby ponownie uruchomić system, musisz usunąć ten specjalny plik w trybie odzyskiwania.

  • Uruchom system w trybie odzyskiwania
  • Otwórz Terminal w pasku menu Narzędzia> Terminal
  • cd do /Volumes/NameOfMainSystemVolume/private/var/db/com.apple.xpc.launchd
    Zamień NameOfMainSystemVolume na nazwę głównego woluminu (np. Macintosh \ HD)
  • wyświetl wszystkie pliki za pomocą ls -la. Otrzymasz listę zawierającą ~ 20 plików - wszystkie powiązane z identyfikatorami użytkowników - oraz duży plik disabled.plist (~ 10-15 KB)
  • usuń pliki za pomocą rm *.plist
  • Uruchom ponownie, edytuj /private/var/db/com.apple.xpc.launchd/disabled.plist za pomocą sudo nano …i zastąp istniejącą zawartość - prawdopodobnie jakiś podstawowy nagłówek plist xml i jeden lub więcej demonów, które mogły zostać dodane przez system podczas uruchamiania - według następującej treści:

    <?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>

    Powinna to być domyślna zawartość pliku w Yosemite. Jeśli zainstalowałeś dodatkowe aplikacje innych firm, prawdopodobnie zawierało ono wcześniej więcej demonów. Np. Musiałem usunąć Little Snitch i demona systemu związanego z XQuartz, aby uzyskać „domyślną” wyłączoną listę .

klanomath
źródło
Dziękuję bardzo, w tej chwili patrzyłem na ten plik. Udało się :)
Vincebzh
@Vincebzh Dodam (mniej więcej) domyślną zawartość pliku. Jeszcze sekunda
klanomath
@grgarside Re: twoja edycja. sudo launchctl unload -w /System/Library/LaunchDaemons/zapisuje tylko na niepełnosprawnych listach, ale nie na innych (związanych z użytkownikiem np. 0; 248; 501; ...) listach. AFAIR Testowałem to z użytkownikiem root i fseventer!
klanomath
Tak myślałem, ale OP powiązanego duplikatu wymaga inaczej: apple.stackexchange.com/questions/192878/...
grg