Saya keliru menonaktifkan semua layanan di Yosemite (10.10), sekarang tidak bisa boot

13

Saya berlari:

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

karena kesalahan, sekarang Mac saya tidak bisa boot ... Ada ide bagaimana cara memperbaikinya?

Versi OS: Yosemite.

Vincebzh
sumber
Terima kasih untuk diedit, versinya adalah Yosemite
Vincebzh
Apakah Anda dapat boot ke mode single-user (Cmd-S) atau Safe mode (Shift)?
Bob
Hanya pengguna tunggal, saya coba lakukan sudo launchctl load -w /System/Library/LaunchDaemons/dari sana tetapi tidak membantu.
Vincebzh
Hmm. Oke, kita sudah di atas kepala saya :) Mungkin lihat posting ini ?
Bob
Thx, itu dia. Sebenarnya saya mencoba menginstal ulang sistem tanpa menghapus data pengguna .... Jika saya menemukan perbaikan, saya akan memposting di sana juga.
Vincebzh

Jawaban:

17

Perintah sudo launchctl unload -w /System/Library/LaunchDaemons/akan memaksa-disable semua daemon peluncuran di / System / Library / LaunchDaemons / dan menambahkan entri masing-masing dalam disabled.plist . Perintah - yang dimasukkan secara tidak sengaja - tidak memengaruhi kondisi pemuatan "unforced" daemon sistem tetapi mengabaikan kondisi apa pun yang ada (dimuat / diturunkan). Menghapus daftar yang dinonaktifkan akan mengembalikan konfigurasi sistem yang hampir standar - kecuali daemon atau agen yang telah dipaksa ke salah satu dari dua status dalam konfigurasi awal sistem atau setelah pemasangan aplikasi pihak ketiga. Ini dapat diselamatkan dengan mengembalikan file dari cadangan atau - sebagian - dengan menyalin file yang dinonaktifkan. Daftar dari sistem yang sama.

Untuk membuat sistem Anda boot lagi, Anda harus menghapus file khusus ini dalam Mode Pemulihan.

  • Boot ke Mode Pemulihan
  • Buka Terminal di menu Utilitas> Terminal
  • cd ke /Volumes/NameOfMainSystemVolume/private/var/db/com.apple.xpc.launchd
    Ganti NamaOfMainSystemVolume dengan nama volume utama Anda (mis. Macintosh \ HD)
  • daftar semua file dengan ls -la. Anda akan mendapatkan daftar yang berisi ~ 20 file - semua yang terkait dengan ID pengguna - dan file besar dinonaktifkan.plist (~ 10-15 KB)
  • hapus file dengan rm *.plist
  • Reboot, edit /private/var/db/com.apple.xpc.launchd/disabled.plist dengan sudo nano …dan ganti konten yang ada - mungkin beberapa header plist xml dasar dan satu atau beberapa daemon, yang mungkin telah ditambahkan oleh sistem saat booting - oleh konten berikut:

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

    Ini harus menjadi konten default file di Yosemite. Jika Anda telah menginstal aplikasi pihak ke-3 tambahan, itu mungkin mengandung lebih banyak daemon sebelumnya. Misalnya saya harus menghapus Little Snitch dan daemon sistem terkait XQuartz untuk mendapatkan entah bagaimana "default" dinonaktifkan.plist .

klanomath
sumber
Terima kasih banyak, saya benar-benar melihat file itu sekarang.
Berhasil
@ Vincebzh Saya akan menambahkan (lebih atau kurang) konten default file. Tunggu sebentar
klanomath
@ grgarside Re: suntingan Anda. sudo launchctl unload -w /System/Library/LaunchDaemons/hanya menulis ke dinonaktifkan.plist tetapi tidak ke yang lain (terkait pengguna yaitu. 0; 248; 501; ...) daftar. AFAIR Saya menguji ini dengan pengguna root dan fseventer!
klanomath
Itulah yang saya pikirkan, tetapi OP dari duplikat yang ditautkan menuntut sebaliknya: apple.stackexchange.com/questions/192878/…
grg