7 votos

Cómo desactivar SIP cuando Big Sur está instalado en una máquina virtual VMware Fusion Player

Tengo Big Sur instalado en una máquina virtual VMware Fusion Player. Deseo desactivar el SIP. Con un Mac físico real, el método habitual implicaría primero arrancar a la recuperación interna de MacOS, a continuación, introduciendo el comando dado a continuación en una ventana de Terminal.

csrutil disable

Sin embargo, el arranque a la recuperación interna de macOS no parece posible. El mantener pulsada la tecla ? + R La combinación de teclas en el arranque no funciona. El gestor de arranque del Mac no parece existir. Puedo reiniciar el firmware, pero el Recovery volumen no tiene un boot.efi que se puede elegir para arrancar.

Me doy cuenta de que la configuración del SIP se almacena en la variable NVRAM de 4 bytes que se indica a continuación.

7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config

El firmware permite arrancar con un shell EFI 1.0 incorporado. 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é introducir 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 indica a continuación.

nvram: Error setting variable - 'csr-active-config': (iokit/common) not permitted

¿Qué procedimientos se pueden utilizar para desactivar el SIP?

Estoy utilizando la versión gratuita actual de VMware Fusion Player (versión 12.1.0).

Estadísticas del anfitrión

Estadísticas de los invitados

iMac (21,5 pulgadas, finales de 2013)

Mac

MacOS Catalina versión 10.15.7

MacOS Big Sur versión 11.2

Memoria: 16 GB

Memoria: 4 GB

Intel Core i5 de cuatro núcleos

2 núcleos de procesador

2,9 GHz

2,76 GHz

USB 3 (5 Gb/s) Samsung T7 SSD

DISCO DURO SATA

A continuación hay enlaces a sitios con procedimientos que, o bien no he podido conseguir que funcionen, o bien sólo 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 desactivar SIP (system integrity protection) en vmware fusion 12 para macOS big sur?

0 votos

No tengo VMware así que no puedo probarlo, pero ¿has mirado la respuesta en: communities.vmware.com/t5/VMware-Fusion-Discussions/

0 votos

El problema con la respuesta vinculada que proporcionas es que no hay boot.efi archivo. He publicado esto en mi pregunta. Las versiones anteriores de MacOS tienen esto boot.efi archivo, pero no a Big Sur.

1 votos

Lo siento, aquí hay otra cosa que podrías probar: communities.vmware.com/t5/VMware-Fusion-Discussions/

13voto

David Anderson Puntos 2189

Siga los pasos siguientes para desactivar la protección de la integridad del sistema (SIP).

  1. Comienza arrancando con MacOS Big Sur y abriendo una ventana de la aplicación Terminal. A continuación, introduzca el comando que se indica a continuación. Esto creará una variable NVRAM con el valor deseado, pero con un nombre de variable mal escrito. Esta falta de ortografía se corregirá en un paso posterior.

    sudo nvram Asr-active-config=%7f%00%00%00
  2. Apagar MacOS. En el Setting de la máquina virtual, seleccione Startup Disk . Mantenga pulsada la tecla option y seleccione la tecla Restart to Firmware… como se muestra a continuación.

    Seleccione el EFI Internal Shell como se muestra a continuación.

    Si lo desea, introduzca el comando que aparece a continuación para poder utilizar completamente la ventana.

    mode 128 40
  3. Establece el sistema de archivos actual en el volumen EFI. Este debe ser el mapeado fs0 sistema de archivos, por lo que se introduciría lo siguiente

    fs0:

    A continuación, verifique que la etiqueta es EFI introduciendo el siguiente comando.

    vol

    Si es incorrecto, intente fs1: , fs2: , fs3: , ....

  4. Introduzca el siguiente comando para guardar el Asr-active-config al archivo csr.bin .

    dmpstore Asr-active-config -s csr.bin

    Nota: Para más información sobre este comando, introduzca help -b dmpstore .

    A continuación, introduzca el siguiente comando para editar el csr.bin archivo. Deberá corregir la ortografía sustituyendo la letra A con la letra c . Se puede hacer escribiendo un 63 sobre el 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.

    Introduzca el siguiente comando para crear el csr-active-config variable en la NVRAM.

    dmpstore -l csr.bin

    El SIP se desactivará en el próximo arranque de Big Sur. Si lo desea, introduzca el siguiente comando para eliminar el Asr-active-config variable de la NVRAM.

    dmpstore -d Asr-active-config
  5. Introduzca el siguiente comando para salir del shell de comandos.

    exit

    Desde el Boot Manager , seleccione Mac OS X para arrancar el Big Sur.

Formato de la csv.bin Archivo

Desplazamiento en Hex

Tamaño en decimal

Descripción

00-03

4

Longitud del nombre de la variable

04-27

36

El nombre de la variable se almacena como una cadena UTF-16LE terminada en cero

28-37

16

GUID de la variable

38-3B

4

Atributos almacenados como enteros de 4 bytes (Ver abajo)

3C-3F

4

Longitud de los datos

40-43

4

El entero de 4 bytes que comprende los datos

Atributo

Valor

Descripción

NV

1

No volátil

BS

2

Servicio de arranque Acceso

RT

4

Acceso en tiempo real

RH

8

Registro de errores de hardware

2 votos

Vaya. Esto es una locura. ¿Por qué diablos VMWare no proporciona una manera más fácil de hacer esto?

0 votos

En sudo nvram Asr-active-config=%7f%00%00%00 ¿Realmente hacer algo?

2 votos

@Wowfunhappy: Hay una manera más fácil. Puedes instalar una UEFI Shell (v2.2). Este shell tiene un setvar que puede modificar las variables de la NVRAM utilizadas por MacOS. Actualmente, Fusion Player tiene un EFI Shell incorporado (v1.0). Este shell tiene un set que sólo puede modificar las variables de entorno. No hay setvar comando. Por cierto, VirtualBox tiene un shell UEFI incorporado (v2.2).

2voto

David Anderson Puntos 2189

Aunque esta respuesta proporciona un método para desactivar el SIP, considero que el método es demasiado complicado, si el único propósito es desactivar el SIP. Además, el tiempo que se necesita para arrancar es mayor que el que se necesita para arrancar en un shell EFI o UEFI. Sin embargo, si hay otras tareas que también necesitan ser realizadas desde un entorno de recuperación de MacOS, entonces este método puede ser preferido sobre métodos más simples.

En un Mac actual, el SIP se puede desactivar introduciendo el comando csrutil disable en una ventana de Terminal mientras se arranca desde una unidad flash USB el instalador de MacOS. Apple tiene un sitio web que proporciona las instrucciones para crear este instalador de MacOS en una 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 dan a continuación.

Nota: Para ver mejor las imágenes, haga clic en la imagen o abra la imagen en una nueva ventana.

  1. Adquirir la aplicación del instalador: Si el Install macOS Big Sur la aplicación no existe ya en el Applications en el host, luego descargue la aplicación o transfiera una copia desde otro Mac. Esta respuesta supone que la versión de MacOS es la 11.2.

  2. Cree la imagen de disco del instalador: En el host, abra la Utilidad de Discos. En la barra de menú de la Utilidad de Discos, seleccione File > New Image > Blank Image… . En la ventana emergente elija lo siguiente, elija el Save botón.

    Una vez que la operación de creación de la imagen de disco se haya completado con éxito, seleccione la opción Done botón. A continuación, abra una ventana de la aplicación Terminal en el host e introduzca 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, utilice la Utilidad de Discos para expulsar todas las imágenes de disco. Salga de las aplicaciones Utilidad de Discos y Terminal.

  3. Establecer la compartición: Con el cliente apagado, abra el Sharing del panel de Settings para el cliente. Marque la casilla Enable Shared Folders y añada su Desktop como se muestra a continuación.

  4. Crear un nuevo disco duro interno: Con el cliente aún apagado, añada un nuevo disco duro. Utilice la configuración que se muestra a continuación.

  5. Separe el nuevo disco duro del cliente: Este es un paso opcional que resulta útil si desea compartir el nuevo disco duro con otras máquinas virtuales.

    Nota: Esta compartición supone que sólo un cliente a la vez utilizará esta unidad. De lo contrario, esta unidad debería montarse en modo de sólo lectura. (Esto puede ser posible editando el archivo /etc/fstab archivo.

    Primero, retire el nuevo disco duro del cliente. Cuando aparezca la ventana emergente, seleccione el Keep File botón.

    Utilice la aplicación Finder para mover el Virtual Disk 2.vmdk de la carpeta del cliente a la carpeta principal llamada Virtual Machines . A continuación, cambie el nombre del archivo a BigSur11.2Installer.vmdk . Por último, añada 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 está seleccionado, como se muestra a continuación.

  6. Inicialice el nuevo disco duro: Inicie la máquina virtual del cliente. Cuando aparezca la ventana emergente que se muestra a continuación, seleccione la opción Initialize… botón. Debería abrirse la aplicación Utilidad de Discos.

    Resaltar 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 y, a continuación, seleccione la opción Erase botón.

    Salga de la Utilidad de Discos.

  7. Instalar VMware Tools: Si VMware Tools ya está instalado, pase al siguiente paso. Desde el VMware Fusion barra de menú, seleccione Virtual Machine > Install VMware Tools . Proceda a la instalación. Si alguna de las dos ventanas que aparecen a continuación solicita un Restart , hacer no hacerlo.

    Se bloqueará la carga del software del sistema del desarrollador "VMware, Inc. Deberá seleccionar el Allow del botón Security & Privacy panel de Preferencias del Sistema, cuando esto ocurra. Después, cuando la ventana que se muestra a continuación solicite un Restart Entonces debería hacerlo.

  8. Restaurar en la nueva unidad: Desde el cliente, abra su Desktop almacenada en el host, luego abra la carpeta BigSur11.2Installer.dmg archivo. En el cliente, abra la aplicación Utilidad de Discos y resalte el archivo MyVolume volumen. En la parte superior de la ventana de la Utilidad de Discos, seleccione Restore . En la ventana emergente, seleccione restaurar desde Install macOS Big Sur , 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 de disco con el botón Install macOS Big Sur volumen, y luego salga de la Utilidad de Discos. Cierre cualquier ventana abierta del Finder.

  9. Limpieza: Desde el host, mueve el BigSur11.2Installer.dmg archivo de su Desktop a la Papelera. Si lo desea, restaure las carpetas compartidas a su estado original.

Para arrancar desde la nueva unidad de instalación de MacOS, siga los siguientes pasos.

  1. Apagar el cliente.
  2. Desde el host, abra el Startup Disk del panel de Settings para el cliente.
  3. Resalte el icono del disco duro etiquetado como Hard Disk 2 (SATA) .
  4. Seleccione el Restart… botón.

1voto

villoez Puntos 19

Manera alternativa de arrancar en modo de recuperación con Big Sur

Sólo para compartir mi prueba después de leer el primer post de David Anderson que me ayudó a encontrar esto.

El entorno es un poco diferente de VMW Fusion, en realidad es esto:
OS de invitados: Big Sur 11.6
Sistema operativo anfitrión: Big Sur 11.6 en MBA 2020 (Intel)
Hipervisor: Virtual Box 6.1.28

He probado todas las formas de arrancar en modo de recuperación, ya sea usando nvram, o a través de EFI Internal Shell, todo sin éxito (dentro de mi entorno).

  • sudo nvram "recovery-boot-mode=unused" ==> Con este viejo (Catalina) var, incluso me sale "Error setting variable" en Big Sur.
  • sudo nvram internet-recovery-mode=RecoveryModeDisk ==> al reiniciar el GuestOS, parece que la variable se ignora ya que el MBA no arranca realmente en modo de recuperación.
  • dmpstore -l csr.bin ==> devuelve "No se ha encontrado ninguna variable coincidente".

Y también arrancando en EFI Internal Shell y buscando CoreServices/boot.efi, busqué en todos los FS N : entradas de la tabla de mapeo (todos los vols/particiones del disco interno local de MBA), sin éxito. Parece que System/Library/CoreServices está oculto o encriptado (SSV?)

Entonces, como sugiere t0rr3sp3dr0 aquí en GitHub , traté de buscar CoreServices boot.efi, de esta manera e hice lo siguiente:

  • En VirtualBox, en VM Settings -> Storage, monte la imagen de instalación de Big Sur. Y marque la opción "Live CD/DVD".
  • Inicie la VM y pulse la tecla ESC
  • Seleccione Gestor de arranque -> EFI Internal Shell
  • Busque la partición de recuperación, en mi entorno bajo FS7, escriba:
    FS7:
    vol
    para comprobar si hay HFS+.
  • Tipo:
    cd System/Library/CoreServices
    boot.efi
    ENTER

enter image description here

Finalmente, mi GuestOS (BigSur 11.6) arranca en modo de recuperación.
La esperanza puede ayudar.

0 votos

Su respuesta es para arrancar una versión óptica del instalador de MacOS Big Sur en VirtualBox. Mi pregunta es cómo desactivar SIP cuando se utiliza VMware. No veo la relevancia de tu respuesta. Usted podría considerar la publicación de su propia pregunta, a continuación, publicar esta respuesta a su propia pregunta.

0 votos

Usted es consciente de que VirtualBox no es totalmente compatible con Big Sur, mientras que VMware sí lo es. Además, VMware es ahora un producto gratuito si se utiliza para fines personales. Además, puedes tener ambos productos instalados al mismo tiempo.

0 votos

En tu respuesta, primero arrancas con una UEFI Interactive Shell v2.2, y luego arrancas desde el medio óptico. ¿Por qué no desactivar el SIP mientras se arranca en el shell y omitir el uso de los medios ópticos? Ya publiqué las instrucciones en marzo. Ver esta respuesta . Como VirtualBox ya tiene un Shell v2.2, no es necesario rEFInd.

0voto

David Anderson Puntos 2189

Esta respuesta depende de haber instalado primero una UEFI Shell v2.2. Consulte esta respuesta para obtener instrucciones sobre cómo utilizar rEFInd para invocar un shell UEFI.

Elija uno de los dos procedimientos con viñetas que aparecen a continuación para instalar el csrutil Alias del shell UEFI.

  • Introduzca el siguiente comando en un shell UEFI. Como este alias no es volátil, el comando sólo tendrá que introducirse una vez.

     alias csrutil "setvar csr-active-config -nv -rt -bs -guid 7C436110-AB2A-4BBB-A880-FE41995C9F82"
  • Instale el startup.nsh como se describe en el respuesta referenciada . Este script creará una forma volátil de alias mostrada arriba cada vez que se invoque un shell UEFI.

Para modificar la configuración de la protección de la integridad del sistema, introduzca los comandos de la columna "Equivalente a UEFI Shell" que aparece a continuación en un shell UEFI.

Comando MacOS

Equivalente de UEFI Shell

Descripción

csrutil clear

csrutil =

Borrar la configuración existente.

csrutil disable

csrutil =0x0000007f

Desactivar la protección de la máquina.

csrutil enable

csrutil =0x00000010

Activar la protección en la máquina.

csrutil status

csrutil

Muestra la configuración actual.

Nota: Una vez que el csr-active-config está configurada, puede activar/desactivar SIP directamente desde rEFInd.

0 votos

¿cómo es que habilitar sin fs y habilitar sin debug es lo mismo? ¿No debería enable sin debug ser 0x00000018?

0 votos

La tabla muestra los resultados de mis pruebas. No sé por qué Apple hizo enable without fs y enable without debug lo mismo.

0 votos

@startergo: He actualizado mi respuesta para MacOS 11.6.1. El csrutil enable --without debug ahora resulta en car-active-config que se ha fijado en 0x00000014 . He cambiado la tabla para reflejar esto.

0voto

Francisco Puntos 1

Yo tuve el mismo problema y tuve que abandonar la rabia unas cuantas veces :)

  1. En la configuración de VMWare, cree un nuevo disco duro de al menos 16 GB y adjúntelo a la VM MacOS invitada.

  2. Arranque la VM de MacOS y formatee el nuevo disco duro en la VM de MacOS huésped como JHFS+ (no APFS), que también se conoce como "Mac OS Extended (Journaled)", en formato GUID.

  3. Descargue la aplicación Install Big Sur/Monterey etc de la App Store.

  4. 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.

  5. Apague la máquina virtual de MacOS invitada.

    Desde la configuración de la VM -> Disco de Inicio -> Resalte el nuevo disco duro del Paso 1 y luego seleccione el Restart botón.

    O

    Si utiliza VMWare workstation/Player, acceda al firmware pulsando la tecla R o F12 y cambiar el orden de arranque para que el disco creado en el paso 2 sea el primero.

    Entonces estarás en el instalador, selecciona tu idioma y luego elige terminal e introduce csrutil disable y verá el mensaje de confirmación y BOOM se apaga y puede derramar unas lágrimas de alegría y disfrutar del ego. :)

  6. Reinicie y entre en el firmware utilizando el R o F12 y cambiar el orden de arranque a la configuración original.

Si sigues teniendo problemas, puedo intentar hacer un vídeo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X