Esta pregunta ya tiene una respuesta aquí:
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/LaunchDaemons
cuando 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?
fuente
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.man launchctl
y más específicamente elload
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.Respuestas:
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íarm /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".fuente