Disable System Integrity Protection on OS X running on VMware

I know this is an older question but I came across it looking for a solution to this problem so I figured I would submit an answer that contains all of the info I came across in one place.

Background

My environment

Host

  • Windows 10
  • VMWare Workstation 12 (patched to run macOS)

Guest

  • macOS High Sierra 10.13.4

I originally tried adding macosguest.forceRecoveryModeInstall = "TRUE" to my .vmx config. This allowed me to boot into recovery and could disable SIP but then I couldn't get the VM to boot normally, even after removing that line.

The solution to this problem I found was to just delete the .nvram file. Unfortunately, that's where the flag to disable SIP is stored so when my VM came back up SIP was enabled again.

My Solution

  1. From the Terminal, run the following commands (thanks to G5tube for this suggestion)

     sudo nvram "recovery-boot-mode=unused"
     sudo reboot recovery
    

    The second command will reboot your Mac instantly, so better save any unfinished work first.

  2. Once the Mac has rebooted into the Recovery / Installer system (you may have to choose your language first): From the menu bar, click Utilities > Terminal

  3. Run csrutil disable from the terminal, followed by reboot

  4. Once your VM has rebooted normally you can verify that SIP was disabled by opening a terminal and running csrutil status

To turn SIP back on, follow the same steps as above but run csrutil enable at the recovery terminal instead.


VMware has an answer to this question. See Using the Recovery Environment (Recovery HD) in an OS X Virtual Machine:

  1. Power on the virtual machine.
  2. Quickly, in the blank black window or at the VMware splash screen, click inside the virtual machine window so that the mouse pointer disappears. Now your keystrokes will go into the virtual machine.
  3. Quickly, before the Apple logo appears, press and hold the Command ⌘ key and the R key together.
  4. Once you see the Apple logo appear, release the keys.

If you completed steps 1 through 3 quickly enough, the virtual machine will boot into the Recovery Environment.