Desabilitei por engano todos os serviços no Yosemite (10.10), agora ele não pode inicializar

13

Eu corri:

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

por engano, agora meu Mac não inicializa ... Alguma idéia de como consertar isso?

Versão do SO: Yosemite.

Vincebzh
fonte
Thx para edição, versão é Yosemite
Vincebzh
Você consegue inicializar no modo de usuário único (Cmd-S) ou no modo de segurança (Shift)?
22416 Bob
Somente usuário único, tentei fazer a sudo launchctl load -w /System/Library/LaunchDaemons/partir daí, mas não ajudou.
precisa saber é o seguinte
Hmm. Ok, já estamos na minha cabeça :) Talvez dê uma olhada neste post ?
21416 Bob
Thx, é isso. Na verdade, estou tentando reinstalar o sistema sem excluir os dados do usuário .... Se eu encontrar uma correção, também postarei lá.
precisa saber é o seguinte

Respostas:

17

O comando sudo launchctl unload -w /System/Library/LaunchDaemons/forçará a desativação de todos os daemons de inicialização em / System / Library / LaunchDaemons / e adicionará as entradas respectivas em disabled.plist . O comando - inserido acidentalmente - não afeta o estado de carregamento "não forçado" de um daemon do sistema, mas substitui qualquer estado existente (carregado / descarregado). A remoção do disabled.plist restaurará uma configuração quase padrão do sistema - exceto os daemons ou agentes que foram forçados a um dos dois estados na configuração inicial do sistema ou após a instalação de um aplicativo de terceiros. Isso pode ser recuperado restaurando o arquivo de um backup ou - parcialmente - copiando um arquivo disabled.plist de um sistema semelhante.

Para iniciar o sistema novamente, você deve remover este arquivo especial no Modo de Recuperação.

  • Inicialize no modo de recuperação
  • Abrir terminal na barra de menu Utilitários> Terminal
  • cd para /Volumes/NameOfMainSystemVolume/private/var/db/com.apple.xpc.launchd
    Substitua NameOfMainSystemVolume pelo nome do seu volume principal (por exemplo, Macintosh \ HD)
  • listar todos os arquivos com ls -la. Você obterá uma lista contendo ~ 20 arquivos - todos relacionados a IDs de usuário - e um arquivo grande desativado.plist (~ 10-15 KB)
  • remova os arquivos com rm *.plist
  • Reinicialize, edite /private/var/db/com.apple.xpc.launchd/disabled.plist sudo nano …e substitua o conteúdo existente - provavelmente algum cabeçalho básico do xml plist e um ou mais daemon, que podem ter sido adicionados pelo sistema durante a inicialização - pelo seguinte conteúdo:

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

    Esse deve ser o conteúdo padrão do arquivo no Yosemite. Se você instalou aplicativos de terceiros adicionais, provavelmente ele continha mais daemons anteriormente. Por exemplo, tive que remover um pequeno Snitch e um daemon do sistema relacionado ao XQuartz para obter um modo "padrão" disabled.plist .

Klanomath
fonte
Thx muito, eu estava realmente olhando para esse arquivo agora. Isso funcionou :) #
21416 Vincebzh
@Vincebzh Vou adicionar o conteúdo padrão (mais ou menos) do arquivo. Só um segundo
klanomath
@grgarside Re: sua edição. sudo launchctl unload -w /System/Library/LaunchDaemons/somente grava em disabled.plist, mas não no outro (relacionado ao usuário, ou seja, 0; 248; 501; ...). AFAIR Eu testei isso com o usuário root e o fseventer!
klanomath
Foi o que pensei, mas o OP da duplicata vinculada está exigindo o contrário: apple.stackexchange.com/questions/192878/…
grg