¿Por qué no puedo acceder a todos los comandos en modo de recuperación?

Cuando trato de ejecutar comandos de terminal en modo de recuperación en mi MacBook Pro, la mayoría de los comandos simplemente no funcionarán incluso si soy root (el último carácter del indicador predeterminado (PS1) es un '#'). Entonces, ¿por qué es esto y puedo solucionarlo?

¿Qué comandos está tratando de usar mientras está en modo de recuperación? Es posible que algunos comandos no estén disponibles porque es esencialmente una versión simplificada de macOS.
@ bret7600 Traté de usar env, etc. pero probablemente se deba a que, como dijo (at) Aniempje, solo tiene las cosas más básicas.
Apple ha cambiado las cosas significativamente, por lo que es probable que esta pregunta general deba reemplazarse por otras específicas para los sistemas operativos. O podemos centrarnos en cosas específicas y comandos y errores específicos para hacer cosas específicas. Eso debería ser más fácil que hacer un artículo de Wikipedia que enumere todas las cosas que podrían o no funcionar en una matriz de cinco o más versiones del sistema operativo.

Respuestas (3)

La partición de recuperación es una versión básica de macOS que se puede usar para varias cosas, como instalar macOS nuevamente o deshabilitar SIP (protección de integridad del sistema). Para mantener pequeña la partición de recuperación, Apple decidió no incluir todas las herramientas CLI que están disponibles en macOS.

Por razones de seguridad, no todos los usuarios pueden acceder a todos los archivos. El usuario raíz debería poder acceder a todos los archivos y ejecutar todos los programas. Es un problema de permisos. Sin embargo, no puede ejecutar programas que ni siquiera existen en la partición de recuperación, por lo que cambiar el usuario a root no lo ayudará.

Si desea usar esos programas, no debería usar la partición de recuperación de todos modos, sino iniciar una partición macOS estándar.

Con SIP habilitado, ni siquiera el root puede acceder a todos los archivos y ejecutar todos los programas.

Terminal solo proporciona un subconjunto de comandos mientras está en modo de recuperación, pero no se puede arreglar porque ese es el diseño de Apple. Busqué un poco en Google para averiguar exactamente qué está deshabilitado, pero no encontré nada definitivo. Puedo suponer que algunos comandos están deshabilitados porque requieren ciertos servicios de macOS que no se ejecutan en modo de recuperación, así como una gran cantidad de extensiones de kernel que no se cargan. El macOS de recuperación es claramente un subconjunto del macOS completo.

También supondría que los comandos disponibles son los únicos útiles (según la sabiduría de Apple) durante una recuperación del sistema, como deshabilitar SIP, utilidad de disco, restablecimiento de contraseña, etc.

Los "comandos" no están realmente "deshabilitados", no existen en la ruta del sistema (/bin:/sbin:/local/bin, etc.) para mantener un espacio reducido. Muchos de los comandos que faltan se pueden ejecutar si los ejecuta desde el volumen principal (por ejemplo, /Volumes/Macintosh\ HD/usr/local/bin/...). Algunos comandos en las rutas del volumen principal no están disponibles o no se inician porque dependen de librerías/marcos adicionales que no existen en el sistema de recuperación.

Si vuelves a encontrarte con el problema. Ponga su MBP en MODO DE DISCO DE DESTINO manteniendo presionada la tecla T y encendiendo la computadora. Use Firewire para una máquina que solo necesita ser una Mac de algún tipo. Cuando conecte la computadora host, verá que su MBP aparece como un disco o discos externos, según su formato.

Luego puede usar el terminal y toda su colección completa de comandos, la utilidad de disco completo y cualquier otra aplicación de reparación para operar en su MBP mientras se encuentra en la mesa de operaciones en Target Disk. Cuando haya terminado, desvincule el Firewire y reinicie en modo de recuperación para cualquier toque final que desee realizar o actualizar su sistema.

Si bien no es la respuesta perfecta a esta pregunta específica, la razón por la que muchas personas llegan a esta pregunta está relacionada con la respuesta de Allen. Gracias por este @Allen Walker.