Accidentalmente descargó todos los demonios launchctl y ahora no puede arrancar [duplicar]


3

Mientras intentaba configurar algunos servicios (OS X 10.10 Yosemite), accidentalmente hice una sudo launchctl unload -w /System/Library/LaunchDaemons/y la pantalla se congeló de inmediato. Ahora mi Mac ya no arranca. La barra de carga está medio llena, y no pasa nada.

¿Hay alguna manera de restaurar los demonios con algún tipo de consola de rescate? Desafortunadamente, no tengo una copia de seguridad de la máquina del tiempo de trabajo, mi disco duro externo se bloqueó hace unos días.

Todavía puedo arrancar en modo de recuperación, usando Cmd + R durante el arranque. También puedo acceder a la terminal. Intenté un launchctl load -w /System/Library/LaunchDaemons/pero decía "Operación ya en progreso" para cada proceso.

Al intentar cargar los archivos LaunchDaemons, estaba en la partición de rescate. Después de cambiar /Volumes/Macintosh HD/System/Library/LaunchDaemons/y hacer un launchctl load -w /Volumes/Macintosh HD/System/Library/LaunchDaemons/error File already exists, obtuve algunos errores , pero algunos otros Daemons parecen cargarse.

Pero sospecho que están cargados en el sistema de rescate. Así que también traté de usar el archivo launchctl de /Volumes/Macintosh HD/bin/launchctl. Pero desafortunadamente, el mismo resultado, la pantalla se atasca con una barra de progreso medio durante el inicio.

Eché un vistazo al inicio detallado (presionando Cmd + V al inicio). Las últimas líneas, donde todo se detiene son

hfs: mounted Macintosh HD on device root_device
XCPM: registered
VM Swap Subsystem is ON
Darwin Bootstrapper Version 2.0.2: Mon Mar....
boot-args = -v
** /dev/rdisk1 (NO WRITE)
** Root file system
   Executing fsck_hfs (versoin hfs-285)
Warning: couldn't block sleep during cache update
Warning: proceeding w/o DiskArb
/dev/disk1 on / (hfs, local, journaled)
BootCacheControl: Unable to open /var/db/BootCache.playlist: 2 No such file or directory
Bash: /etc/rc.server: No such file or directory
USBMSC Identifier (non-unique): 0000000...
bash: /etc/rc.installer_cleanup: No such file or directory
AppleUSBMiltitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized

También intenté reinstalar Yosemite en mi sistema anterior (sin eliminar el sistema de archivos, por lo que mis datos todavía están allí). Lamentablemente, el problema sigue siendo el mismo.

Ahora puedo iniciar sesión en modo de usuario único (tuve que presionar un Enter adicional). Después de eso, configuré el sistema de archivos para leer mount -uw /. Luego cargo todos los demonios launchctl load -w /System/Library/LaunchDaemons. Y luego, sorprende que cargue la pantalla de inicio de sesión de mi Mac, y puedo iniciar sesión.

Pero cuando trato de reiniciar, tengo que repetir ese paso para iniciar sesión (lo cual es un poco molesto ...). También intenté cargar todos los demonios launchctl load -w /System/Library/LaunchDaemonscuando inicié sesión.

Aquí obtengo 'Operación ya en progreso'. Leí algo en el modo de usuario único que no admite la carga de servicios. ¿Esto también afecta al OS X completamente cargado? No estoy seguro si todavía estoy en modo de usuario único o no. ¿Cómo puedo decirle a OS X que cargue todos los LaunchDaemons al inicio?


Puede darle una oportunidad al modo de usuario único o al modo seguro ...
Dustin Wheeler

Ya probé ambos, pero no ayuda
23tux

1
Estoy en un sistema que ejecuta OS X 10.8.5, así que solo como ejemplo, hay 237 archivos .plist en / System / Library / LaunchDaemons . 50 de ellos están (probablemente por defecto) deshabilitados y solo 42 de ellos están configurados en RunAtLoad . Por lo tanto, no estoy seguro de que sea una buena idea emitir un launchctl load ...comando general en todo el directorio. Por cierto, los números presentados son para los archivos .plist basados ​​en texto . Hay un puñado de 5 archivos binarios .plist y no verifiqué los valores en ellos.
user3439894

1
La lectura man launchctly más específicamente el load subcomando con la -w opción dice " Anula la clave Desactivada y la establece en falsa. En versiones anteriores, esta opción modificaría el archivo de configuración. Ahora el estado de la clave Desactivada se almacena en otro lugar en el disco " . con esa última porción no dice que se encuentre en otro lugar del disco . Junto con otra información en la página de manual y si estuviera en esta situación, mordería la bala y realizaría una copia de seguridad de mi carpeta de inicio y realizaría una instalación de limpieza desde la unidad USB y lo consideraría una lección aprendida.
user3439894

1
Tenía el mismo problema, se ha encontrado una respuesta: apple.stackexchange.com/questions/261827/…
Vincebzh

Respuestas:


2

para una solución persistente, puede iniciar sesión en modo de usuario único mount -uw /y luego eliminar la base de datos de sobrescritura de launchctl. No estoy seguro de Yosemite, pero en Sierra sí lo estaría rm /var/db/com.apple.xpc.launchd/*.plist. después de eso, solo puede salir o reiniciar. Esto no es tan mazo como parece. el sistema vuelve a habilitar algunas de sus anulaciones (de varios otros archivos de configuración, supongo) y, por lo tanto, en realidad obtienes una buena y nueva anulación db sin masas de "deshabilitado: falso".


Viví con mi propia solución durante bastante tiempo, ¡pero su respuesta resuelta es perfecta! Lo hice antes de actualizar a Sierra, ¡y todo funciona bien!
23 de
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.