Tengo Big Sur instalado en una máquina virtual VMware Fusion Player. Deseo desactivar SIP. Con una Mac física real, el método habitual implicaría primero arrancar con la recuperación interna de macOS y luego ingresar el comando que se indica a continuación en una ventana de terminal.
csrutil disable
Sin embargo, no parece posible iniciar la recuperación interna de macOS. Mantener presionada la combinación de teclas ⌘+ Ral inicio no funciona. El Mac Startup Manager no parece existir. Puedo reiniciar con el firmware, pero el Recovery
volumen no tiene un dispositivo boot.efi
desde el que se pueda elegir iniciar.
Me doy cuenta de que la configuración SIP se almacena en la variable NVRAM de 4 bytes que se proporciona a continuación.
7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config
El firmware permite arrancar desde un shell EFI 1.0 integrado. Sin embargo, este shell no parece tener ningún comando que pueda modificar esta variable. De hecho, la variable ni siquiera existe actualmente en la NVRAM de la máquina virtual. Intenté ingresar el siguiente comando en una ventana de terminal de macOS.
sudo nvram csr-active-config=%7f%00%00%00
El resultado fue el mensaje de error que se muestra a continuación.
nvram: Error setting variable - 'csr-active-config': (iokit/common) not permitted
¿Qué procedimientos se pueden usar para deshabilitar SIP?
Estoy usando la versión gratuita actual de VMware Fusion Player (Versión 12.1.0).
Estadísticas del anfitrión | Estadísticas de invitados |
---|---|
iMac (21,5 pulgadas, finales de 2013) | Mac |
macOS Catalina versión 10.15.7 | macOS Big Sur versión 11.6.1 |
Memoria: 16GB | Memoria: 4GB |
Intel Core i5 de cuatro núcleos | 2 núcleos de procesador |
2,9 GHz | 2,76 GHz |
SSD Samsung T7 USB 3 (5 Gb/s) | Disco duro SATA |
A continuación hay enlaces a sitios con procedimientos que no pude hacer funcionar o solo funcionan con versiones anteriores de macOS.
¿Puedo iniciar un reinicio de MacOS al modo de recuperación únicamente desde la línea de comandos?
¿Cómo deshabilitar SIP (protección de integridad del sistema) en vmware fusion 12 para macOS big sur?
Siga los pasos a continuación para deshabilitar la Protección de integridad del sistema (SIP).
Comience iniciando macOS Big Sur y abriendo una ventana de la aplicación Terminal. Luego, ingrese el comando dado a continuación. Esto creará una variable NVRAM con el valor deseado, pero el nombre de la variable está mal escrito. Esta falta de ortografía se corregirá en un paso posterior.
sudo nvram Asr-active-config=%7f%00%00%00
Apague macOS. En la Setting
ventana de la máquina virtual, seleccione Startup Disk
. Mantenga presionada la optiontecla y seleccione el Restart to Firmware…
botón, como se muestra a continuación.
Seleccione el EFI Internal Shell
, como se muestra a continuación.
Si lo desea, ingrese el siguiente comando para obtener un uso completo de la ventana.
mode 128 40
Establezca el sistema de archivos actual en el volumen EFI. Este debería ser el fs0
sistema de archivos asignado, por lo que ingresaría lo siguiente
fs0:
Luego, verifique que la etiqueta esté EFI
ingresando el siguiente comando.
vol
Si está mal, intente fs1:
, fs2:
, fs3:
, ....
Introduzca el siguiente comando para guardar la Asr-active-config
variable en el archivo csr.bin
.
dmpstore Asr-active-config -s csr.bin
Nota: Para obtener más información sobre este comando, ingrese
help -b dmpstore
.
Luego, ingrese el siguiente comando para editar el csr.bin
archivo. Deberá corregir la ortografía reemplazando la letra A
con la letra c
. Se puede hacer escribiendo a 63
sobre 41
en la primera línea.
hexedit csr.bin
El archivo corregido aparecerá como se muestra a continuación. Cuando termine guarde los cambios y salga.
Nota: El valor de la variable se almacena en los últimos 4 bytes de este archivo.
Ingrese el siguiente comando para crear la csr-active-config
variable en NVRAM.
dmpstore -l csr.bin
SIP ahora se desactivará en el próximo arranque de Big Sur. Si lo desea, ingrese el siguiente comando para eliminar la Asr-active-config
variable de la NVRAM.
dmpstore -d Asr-active-config
Ingrese el siguiente comando para salir del shell de comandos.
exit
Desde Boot Manager
, seleccione Mac OS X
para iniciar Big Sur.
csr.bin
ArchivoCompensación en hexadecimal | Tamaño en decimal | Descripción |
---|---|---|
00-03 | 4 | Longitud del nombre de la variable |
04-27 | 36 | Nombre de variable almacenado como cadena UTF-16LE terminada en nulo |
28-37 | dieciséis | GUID de la variable |
38-3B | 4 | Atributos almacenados como enteros de 4 bytes (ver más abajo) |
3C-3F | 4 | Longitud de los datos |
40-43 | 4 | El entero de 4 bytes que comprende los datos. |
Atributo | Valor | Descripción |
---|---|---|
Nevada | 1 | No volátil |
licenciatura | 2 | Acceso al servicio de arranque |
RT | 4 | Acceso en tiempo de ejecución |
HORA | 8 | Registro de errores de hardware |
sudo nvram Asr-active-config=%7f%00%00%00
algo?setvar
comando que puede modificar las variables NVRAM utilizadas por macOS. Actualmente, Fusion Player tiene un EFI Shell integrado (v1.0). Este shell tiene un set
comando que solo puede modificar variables de entorno. No hay setvar
comando. Por cierto, VirtualBox tiene un shell UEFI integrado (v2.2).sudo nvram Asr-active-config=%7f%00%00%00
comando hace que la variable se cree con un nombre mal escrito. Esto fue necesario, porque el nvram
comando de Big Sur no aceptará el csr-active-config
nombre. Este error ortográfico se corregirá una vez que se invoque el EFI Shell integrado.Si bien esta respuesta proporciona un método para deshabilitar SIP, considero que el método es demasiado complicado, si el único propósito es deshabilitar SIP. Además, el tiempo necesario para arrancar es más largo que arrancar desde un shell EFI o UEFI. Sin embargo, si hay otras tareas que también deben realizarse desde un entorno de recuperación de macOS, entonces este método puede ser preferible a los métodos más simples.
En una Mac real, SIP se puede deshabilitar ingresando el comando csrutil disable
en una ventana de Terminal mientras se inicia desde una unidad flash USB instalador de macOS. Apple tiene un sitio web que proporciona las instrucciones para crear este instalador de macOS de unidad flash USB. VMware Fusion Player no ofrece unidades USB virtuales. Sin embargo, se puede sustituir por una segunda unidad interna virtual. Los pasos necesarios para crear esta unidad virtual se detallan a continuación.
Nota: Para ver mejor las imágenes, haga clic en la imagen o abra la imagen en una nueva ventana.
Adquiera la aplicación de instalación: si laInstall macOS Big Sur
aplicación aún no existe en laApplications
carpeta del host, descargue la aplicación o transfiera una copia desde otra Mac. Esta respuesta asume que la versión de macOS es 11.6.1.
Cree la imagen de disco del instalador: en el host, abra la Utilidad de disco. En la barra de menú de la Utilidad de disco, seleccioneFile
>New Image
>Blank Image…
. En la ventana emergente, elija lo siguiente, luego seleccione elSave
botón.
Después de que la operación de creación de imagen de disco se complete con éxito, seleccione el Done
botón. A continuación, abra una ventana de la aplicación Terminal en el host e ingrese el siguiente comando.
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Cuando termine de crear el Install macOS Big Sur
volumen, use la Utilidad de disco para expulsar todas las imágenes de disco. Salga de las aplicaciones Utilidad de disco y Terminal.
Configurar el uso compartido: con el cliente apagado, abra elSharing
panel delSettings
cliente. Marque la casilla etiquetadaEnable Shared Folders
y agregue suDesktop
carpeta, como se muestra a continuación.
Cree un nuevo HDD interno: con el cliente aún apagado, agregue un nuevo disco duro. Utilice la configuración que se muestra a continuación.
Separe el nuevo disco duro del cliente: este es un paso opcional que es útil si desea compartir el nuevo disco duro con otras máquinas virtuales.
Nota: este uso compartido asume que solo un cliente a la vez usará esta unidad. De lo contrario, esta unidad debe montarse como de solo lectura. (Esto puede ser posible editando el
/etc/fstab
archivo.
Primero, extraiga el nuevo HDD del cliente. Cuando aparezca la ventana emergente a continuación, seleccione el Keep File
botón.
Utilice la aplicación Finder para mover el Virtual Disk 2.vmdk
archivo de la carpeta del cliente a la carpeta principal denominada Virtual Machines
. A continuación, cambie el nombre del archivo a BigSur11.6.1Installer.vmdk
. Finalmente, agregue este nuevo disco duro al cliente como un disco duro existente. Al seleccionar el archivo, asegúrese de que el Share this virtual disk with the virtual machine that created it
botón esté seleccionado, como se muestra a continuación.
Inicialice el nuevo HDD: Inicie la máquina virtual del cliente. Cuando aparezca la siguiente ventana emergente, seleccione elInitialize…
botón. La aplicación Disk Utility debería abrirse.
Resalte el nuevo no inicializado VMware Virtual SATA Hard Drive Media
y luego seleccione el Erase
botón. Realice las selecciones que se muestran a continuación, luego seleccione el Erase
botón.
Sal de la Utilidad de disco.
Instale VMware Tools: si VMware Tools ya está instalado, vaya al siguiente paso. En laVMware Fusion
barra de menú, seleccioneVirtual Machine
>Install VMware Tools
. Proceda a instalar. Si alguna de las dos ventanas siguientes solicita unRestart
, no lo haga.
El software del sistema del desarrollador "VMware, Inc." se bloqueará la carga. Debe seleccionar el Allow
botón del Security & Privacy
panel de Preferencias del sistema, cuando esto suceda. Luego, cuando la ventana que se muestra a continuación solicite un Restart
, debe hacerlo.
Restaurar a la nueva unidad: desde el cliente, abra su Desktop
carpeta almacenada en el host, luego abra el BigSur11.6.1Installer.dmg
archivo. En el cliente, abra la aplicación Disk Utility y resalte el MyVolume
volumen. En la parte superior de la ventana de la Utilidad de disco, seleccione Restore
. En la ventana emergente, seleccione restaurar desde Install macOS Big Sur
y luego seleccione el Restore
botón .
Nota: En mi Mac, la restauración tardó unos 8 minutos.
Cuando haya terminado, seleccione el Done
botón. Desde la Utilidad de Discos, expulse la imagen del Disco con el Install macOS Big Sur
volumen, luego salga de la Utilidad de Discos. Cierra todas las ventanas abiertas del Finder.
Limpieza: desde el host, mueva elBigSur11.6.1Installer.dmg
archivo de suDesktop
carpeta a la Papelera. Si lo desea, restaure Carpetas compartidas a su estado original.
Para iniciar desde la nueva unidad de instalación de macOS, siga los siguientes pasos.
Startup Disk
panel del Settings
para el cliente.Hard Disk 2 (SATA)
.Restart…
botón.Solo para compartir mi prueba después de leer la primera publicación de David Anderson, quien me ayudó a encontrar esto.
El entorno es un poco diferente de VMW Fusion, en realidad es este:
Guest OS: Big Sur 11.6
Host OS: Big Sur 11.6 en MBA 2020 (Intel)
Hipervisor: Virtual Box 6.1.28
He intentado todas las formas de iniciar en modo de recuperación, ya sea usando nvram o mediante EFI Internal Shell, todo sin éxito (dentro de mi entorno).
sudo nvram "recovery-boot-mode=unused"
==> Con esta antigua variable (Catalina), incluso obtengo "Error en la configuración de la variable" en Big Sur.sudo nvram internet-recovery-mode=RecoveryModeDisk
==> al reiniciar GuestOS, parece que se ignora la variable, ya que MBA en realidad no arranca en modo de recuperación.dmpstore -l csr.bin
==> devuelve "No se encontró ninguna variable coincidente".Y también arrancando en EFI Internal Shell y buscando CoreServices/boot.efi, busqué en todas las FS N : entradas de la tabla de mapeo (todas las vols/particiones del disco interno local de MBA), sin éxito. Parece que System/Library/CoreServices está oculto o encriptado (¿SSV?)
Luego, como lo sugiere t0rr3sp3dr0 aquí en GitHub , intenté buscar CoreServices boot.efi, de esta manera e hice lo siguiente:
FS7:
vol
cd System/Library/CoreServices
boot.efi
ENTER
¡Finalmente, mi GuestOS (BigSur 11.6) arranca en modo de recuperación!
La esperanza podría ayudar.
Esta respuesta se basa en haber instalado primero un UEFI Shell v2.2. Consulte esta respuesta para obtener instrucciones sobre cómo usar rEFInd para invocar un shell UEFI.
Elija uno de los dos procedimientos con viñetas a continuación para instalar el csrutil
alias de shell UEFI.
Ingrese el siguiente comando en un shell UEFI. Dado que este alias no es volátil, solo será necesario ingresar el comando una vez.
alias csrutil "setvar csr-active-config -nv -rt -bs -guid 7C436110-AB2A-4BBB-A880-FE41995C9F82"
Instale el startup.nsh
archivo como se describe en la respuesta a la que se hace referencia . Este script creará una forma volátil de alias que se muestra arriba cada vez que se invoque un shell UEFI.
Para modificar la configuración de Protección de integridad del sistema, ingrese los comandos en la columna "Equivalente de shell UEFI" a continuación en un shell UEFI.
Comando macOS | Equivalente de shell UEFI | Descripción |
---|---|---|
csrutil clear |
csrutil = |
Borre la configuración existente. |
csrutil disable |
csrutil =0x0000007f |
Deshabilite la protección en la máquina. |
csrutil enable |
csrutil =0x00000010 |
Habilite la protección en la máquina. |
csrutil status |
csrutil |
Mostrar la configuración actual. |
Nota: Una vez
csr-active-config
configurada la variable, puede habilitar/deshabilitar SIP directamente desde rEFInd.
Los bits de la csr-active-config
variable se definen en el csr.h
archivo. Puede encontrar una versión de este archivo en opensource.apple.com . Este subproceso de developer.apple.com define algunos csrutil
argumentos adicionales para el enable
comando. La relación entre estos bits y csrutil
los comandos y argumentos de selección se proporciona en la siguiente tabla para macOS Big Sur versión 11.6.1.
Nota: La siguiente tabla también se aplica a macOS Monterey versión 12.0.1.
Comandos csrutil con argumentos opcionales |
csr- activo- config |
CSR_ PERMITIR_ NO CONFIABLE_ KEXTS =0x001 |
CSR_ PERMITIR_ SIN RESTRICCIONES_ FS = 0x002 |
CSR_ PERMITIR_ TAREA_ FOR_ PID =0x004 |
CSR_ ALLOW_ KERNEL_ DEPURADOR = 0x008 |
CSR_ PERMITIR_ APPLE_ INTERNO = 0x010 |
CSR_ PERMITIR_ SIN RESTRICCIONES_ DTRACE =0x020 |
CSR_ PERMITIR_ SIN RESTRICCIONES_ NVRAM = 0x040 |
CSR_ PERMITIR_ DISPOSITIVO_ CONFIGURACIÓN = 0x080 |
CSR_ PERMITIR_ ANY_ RECUPERACIÓN_ OS = 0x100 |
CSR_ PERMITIR_ NO APROBADO_ KEXTS = 0x200 |
CSR_ ALLOW_ EXECUTABLE_ POLICY_ OVERRIDE =0x400 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
permitir | 0x00000010 | ⚫ | ||||||||||
habilitar ‑‑no‑interno | 0x00000000 | |||||||||||
habilitar ‑‑sin kext |
0x00000019 | ⚫ | ⚫ | ⚫ | ||||||||
habilitar ‑‑sin fs |
0x00000012 | ⚫ | ⚫ | |||||||||
habilitar ‑‑sin depurar |
0x00000014 | ⚫ | ⚫ | |||||||||
habilitar ‑‑sin dtrace |
0x00000030 | ⚫ | ⚫ | |||||||||
habilitar ‑‑sin nvram |
0x00000050 | ⚫ | ⚫ | |||||||||
desactivar | 0x0000007F | ⚫ | ⚫ | ⚫ | ⚫ | ⚫ | ⚫ | ⚫ |
csrutil enable --without debug
ahora da como resultado que car-active-config
se establezca en 0x00000014
. Cambié la tabla para reflejar esto.Tuve el mismo problema y la ira me dejó varias veces. :)
En la configuración de VMWare, cree un nuevo disco duro de al menos 16 GB y conéctelo a la máquina virtual macOS invitada.
Inicie la VM macOS y formatee el nuevo disco duro en la VM macOS invitada como JHFS+ (no APFS), que también se conoce como "Mac OS Extended (Journaled)", en formato GUID.
Descargue la aplicación Install Big Sur/Monterey, etc. de la App Store.
Cree un disco de recuperación de arranque en el disco creado en el paso 2 siguiendo las instrucciones aquí ( https://support.apple.com/en-us/HT201372 ) en el nuevo disco duro.
Apague la máquina virtual macOS invitada.
Desde la configuración de VM -> Disco de inicio -> Resalte el nuevo disco duro del Paso 1 y luego seleccione el Restart
botón.
O
Si utiliza la estación de trabajo/Player de VMWare, acceda al firmware enviando spam a la tecla Ro F12y cambie el orden de inicio para que el disco creado en el paso 2 sea el primero.
Luego estará en el instalador, seleccione su idioma, luego elija terminal e ingrese csrutil disable
y verá el mensaje de confirmación y BOOM se apaga y puede derramar algunas lágrimas de alegría y disfrutar del ego. :)
Reinicie e ingrese el firmware con la tecla Ro F12y cambie el orden de arranque a la configuración original.
Si todavía tiene problemas, puedo intentar hacer un video.
Restart to firmware...
botón en el panel Disco de inicio de Configuración?Muchas respuestas MUY complicadas a esta pregunta, pero tengo una manera mucho más fácil de hacerlo.
Primero descargue un ISO de arranque de Big Sur de Internet (hay varios en Internet Archive, haga una búsqueda). Luego, en la configuración de hardware de CD/DVD (SATA) de configuración de la máquina virtual, configúrelo para que esté "Conectado" y "Conectado al encender", y apúntelo a la imagen ISO que descargó.
Luego, con su VM apagada, vaya al menú: VM - Power - Power on Firmware
Nota: si está utilizando la versión gratuita de VMware Fusion Player, el "menú: VM - Power - Power on Firmware" no existirá. En su lugar, vaya al panel Disco de inicio de Configuración, mantenga presionada la optiontecla y luego seleccione el botón "Reiniciar a firmware...".
Dentro del firmware, seleccione "Enter Setup"
"Configurar opciones de arranque"
"Cambiar orden de arranque"
luego presione enter y seleccione EFI VMware Virtual SATA CDROM Drive (1.0) y luego presione el signo más para moverlo a la parte superior.
"Confirmar cambios y salir"
"Salir del Administrador de mantenimiento de arranque"
"Apagar el sistema"
Su máquina virtual debería iniciarse en el entorno de recuperación y puede desactivar o activar SIP con Terminal allí.
Y descubrí que si mientras está en modo de recuperación, selecciona el menú de Apple "Disco de inicio" y lo vuelve a configurar en su imagen de arranque normal, no es necesario volver a la configuración del firmware de la VM para desarmar la primera opción de inicio de DVD.
Pero descubrí que lo MEJOR que se puede hacer es dejar la opción de arranque del CDROM configurada en el firmware, y dejar la ISO en la carpeta de VMware lista para acceder fácilmente, y simplemente marcar (o desmarcar) el CD/DVD de la VM " Conectar al encendido" siempre que desee iniciar el modo de recuperación (o no).
La forma más rápida y funcional de hacer esto se parece a la respuesta anterior:
Comience con una variable mal escrita. (Asr-active-config, etc., está bien). Está mal escrito y, por lo tanto, no está protegido por macOS.
En el host, edite el archivo NVRAM directamente (!): esto es mucho más fácil que ingresar al shell UEFI en el invitado, etc. Incluso vim está bien aquí, ya que no hay CRC en el archivo. El "Asr" será UTF16, así que busque A^@s^@r (terminadores nulos para uint16_t). Cambie 'A' por 'c' mediante la función 'r' de vim e inmediatamente escriba el archivo.
reiniciar. hecho
vi
?Por si acaso: he creado una pequeña herramienta para facilitar este tipo de operaciones.
Puede encontrarlo allí en GitHub: https://github.com/javerous/vm-config
Debería ser tan simple como hacer
vm-config change /path/to/vm.vmwarevm --csr-disable
para deshabilitar SIP.
Es una primera versión, por lo que aún puede tener algunos errores, pero según mis propias pruebas, funciona sin problemas. Dicho esto, es posible que desee usarlo solo en una máquina virtual respaldada por ahora.
kevin grabher
david anderson
boot.efi
archivo. Publiqué esto en mi pregunta. Las versiones anteriores de macOS tienen esteboot.efi
archivo, pero no Big Sur.kevin grabher
david anderson
csrutil disable
se puede ingresar el comando. El procedimiento para crear tanto la unidad como el medio es complejo y el tiempo necesario para arrancar es bastante largo. Esperaba algo más simple y rápido. Puede publicar como respuesta, pero consideraría que esta es una respuesta de último recurso.usuario3439894
usuario3439894
sudo nvram "recovery-boot-mode=unused"; sleep 2; sudo reboot
de la Terminal para reiniciar en Recuperación de macOS . Gracias a su pregunta y respuesta muy interesante, ahora configuré un vHDD de recuperación de macOS desde los archivos de origen de instalación temporal Disk.vmdk y Disk.dmg de origen de instalación temporal creados por VMware Fusion .usuario3439894
/etc/fstab
que sea de solo lectura y no se monte en un arranque normal. Lo agregué como un disco duro virtual compartido para utilizarlo en todas mis máquinas virtuales macOS Big Sur y minimizar el uso de espacio en el disco del host . No para quitarle su interesante respuesta, pero para mí, esta OMI en el futuro es una solución mucho mejor para problemas como este. (Tanto el arranque en MacOS Recovery como la desactivación de SIP ).david anderson