Я по ошибке отключил все службы в Yosemite (10.10), теперь он не может загрузиться

13

Я побежал:

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

по ошибке теперь мой Mac не загружается ... Есть идеи как это исправить?

Версия ОС: Yosemite.

Vincebzh
источник
Спасибо за редактирование, версия Yosemite
Vincebzh
Вы можете загружаться в однопользовательском режиме (Cmd-S) или в безопасном режиме (Shift)?
Боб
Только для одного пользователя, я пытался сделать sudo launchctl load -w /System/Library/LaunchDaemons/оттуда, но это не помогло.
Винчебж
Хм. Хорошо, мы уже в моей голове :) Может быть, посмотрите на этот пост ?
Боб
Спасибо, вот и все. На самом деле я пытаюсь переустановить систему без удаления пользовательских данных .... Если я найду исправление, я тоже выложу там.
Винчебж

Ответы:

17

Команда sudo launchctl unload -w /System/Library/LaunchDaemons/принудительно отключит все демоны запуска в / System / Library / LaunchDaemons / и добавит соответствующие записи в disabled.plist . Команда, введенная случайно , не влияет на «принудительное» состояние загрузки системного демона, но переопределяет любое существующее состояние (загружено / выгружено). Удаление disabled.plist восстановит конфигурацию системы почти по умолчанию - за исключением тех демонов или агентов, которые были переведены в одно из двух состояний в начальной конфигурации системы или после установки стороннего приложения. Это может быть восстановлено путем восстановления файла из резервной копии или - частично - путем копирования файла disabled.plist из аналогичной системы.

Чтобы снова загрузить систему, вам нужно удалить этот специальный файл в режиме восстановления.

  • Загрузка в режим восстановления
  • Открыть терминал в меню Утилиты> Терминал
  • cd to /Volumes/NameOfMainSystemVolume/private/var/db/com.apple.xpc.launchd
    Замените NameOfMainSystemVolume на имя вашего основного тома (например, Macintosh \ HD)
  • список всех файлов с ls -la. Вы получите список, содержащий ~ 20 файлов (все они связаны с идентификаторами пользователей) и большой файл disabled.plist (~ 10-15 КБ)
  • удалите файлы с rm *.plist
  • Перезагрузитесь, отредактируйте /private/var/db/com.apple.xpc.launchd/disabled.plist с sudo nano …существующим контентом и замените его - возможно, некоторым базовым заголовком xml plist и одним или несколькими демонами, которые могли быть добавлены системой при загрузке - следующим содержанием:

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

    Это должно быть содержимое файла по умолчанию в Yosemite. Если вы установили дополнительные сторонние приложения, возможно, ранее они содержали больше демонов. Например, мне пришлось удалить Little Snitch и системный демон, связанный с XQuartz, чтобы получить как-то «по умолчанию» disabled.plist .

klanomath
источник
Большое спасибо, я на самом деле смотрел этот файл прямо сейчас.
Сработало
@Vincebzh Я добавлю (более или менее) содержимое файла по умолчанию. Просто
секундочка
@grgarside Re: ваше редактирование. sudo launchctl unload -w /System/Library/LaunchDaemons/записывает только в листы disabled.plist, но не в другие (связанные с пользователем, т. е. 0; 248; 501; ...) списки. AFAIR Я проверил это с пользователем root и fseventer!
klanomath
Я так и думал, но OP связанного дубликата требует иного: apple.stackexchange.com/questions/192878/…
grg