So che questa è una domanda più vecchia ma l'ho trovata alla ricerca di una soluzione a questo problema, quindi ho pensato di inviare una risposta che contenga tutte le informazioni che ho trovato in un unico posto.
Sfondo
My environment:
Host:
- Windows 10
- VMWare Workstation 12 (patched to run macOS)
Guest:
- macOS High Sierra 10.13.4
Inizialmente ho provato ad aggiungere macosguest.forceRecoveryModeInstall = "TRUE"
alla mia .vmx
config. Questo mi ha permesso di avviare il ripristino e disabilitare SIP, ma non ho potuto riavviare la VM normalmente, anche dopo aver rimosso quella linea.
La soluzione a questo problema che ho trovato era quella di eliminare il file .nvram
. Sfortunatamente, è qui che viene memorizzato il flag per disabilitare SIP, quindi quando la mia VM è tornata su SIP è stata nuovamente abilitata.
La mia soluzione
- Spegni completamente il guest macOS
- Nel tuo
.vmx
config, aggiungi la riga bios.bootdelay = 2000
per mettere in pausa per 2 secondi sulla schermata grigia di PWMare POST prima di avviare
- Tieni premuto ⊞ Win + R quando viene visualizzata la schermata POST e tieni premuto finché non viene visualizzato Boot Manager
- Seleziona
EFI Internal Shell (Unsupported option)
- Al prompt
Shell>
, digita fs2:\com.apple.recovery.boot\boot.efi
e premi Invio per avviare il ripristino
- Dalla barra dei menu fai clic su
Utilities
> %codice%
- Esegui
Terminal
dal terminale, seguito da csrutil disable
- Una volta riavviata normalmente la VM, è possibile verificare che SIP sia stato disabilitato aprendo un terminale ed eseguendo
reboot
Per riattivare SIP, segui le stesse istruzioni precedenti ma esegui csrutil status
sul terminale di ripristino.
Nota: probabilmente vorrai rimuovere la riga che è stata aggiunta alla configurazione csrutil enable
in modo da non dover attendere altri due secondi ogni volta che accendi la VM.