Désactiver la protection de l'intégrité du système sur OS X sous VMware

4

J'ai une instance de OS X El Capitan s'exécutant sur VMWare Workstation 10. Je dois apporter des modifications à, /Systemet donc désactiver la protection de l'intégrité du système. Comment puis-je accéder au mode de récupération sur cette machine virtuelle pour pouvoir désactiver SIP?

ecnepsnai
la source
Vous pouvez consulter cette question: apple.stackexchange.com/questions/208478/…
dhruvvyas90
Pouvez-vous démarrer en mode de récupération sur une instance VMWare? Pouvez-vous monter l'instance VMWare en tant que lecteur externe et apporter les modifications de cette façon?
Graham Miln
@GrahamMiln J'ai essayé de démarrer en mode de récupération en maintenant la touche Super Key + R enfoncée pendant le démarrage des ordinateurs virtuels, mais cela démarre simplement normalement.
ecnepsnai
1
VMware ne prend pas en charge la virtualisation d’OS X sous VMware Workstation et vous violez le contrat de niveau de service Apple pour OS X de cette manière!
user3439894

Réponses:

5

Je sais que c'est une question plus ancienne, mais je l'ai trouvée à la recherche d'une solution à ce problème. J'ai donc pensé soumettre une réponse contenant toutes les informations que j'ai trouvées au même endroit.

Contexte

Mon environnement:

Hôte:

  • Windows 10
  • VMWare Workstation 12 (corrigé pour exécuter macOS)

Client:

  • macOS High Sierra 10.13.4

J'ai initialement essayé d'ajouter macosguest.forceRecoveryModeInstall = "TRUE"à ma .vmxconfig. Cela m’a permis de démarrer la récupération et de désactiver SIP, mais j’ai été incapable de démarrer la machine virtuelle normalement, même après avoir supprimé cette ligne.

La solution à ce problème que j'ai trouvée consistait simplement à supprimer le .nvramfichier. Malheureusement, c'est là que l'indicateur de désactivation de SIP est stocké. Lorsque ma machine virtuelle s'est rétablie, SIP a été réactivé.

Ma solution

  1. Arrêtez complètement l'invité macOS
  2. Dans votre .vmxconfiguration, ajoutez la ligne bios.bootdelay = 2000de pause pendant 2 secondes sur l’écran gris VMWare POST avant de démarrer.
  3. Appuyez sur la touche ⊞ Win+ et maintenez-la enfoncée Rlorsque l'écran du test POST apparaît
  4. Sélectionner EFI Internal Shell (Unsupported option)
  5. À l' Shell>invite, tapez fs2:\com.apple.recovery.boot\boot.efiet appuyez sur Enterpour démarrer la récupération.
  6. Dans la barre de menus, cliquez sur Utilities>Terminal
  7. Exécuter à csrutil disablepartir du terminal, suivi dereboot
  8. Une fois que votre VM a redémarré normalement, vous pouvez vérifier que SIP a été désactivé en ouvrant un terminal et en exécutant csrutil status

Pour réactiver SIP, suivez les mêmes étapes que ci-dessus, mais exécutez-le csrutil enablesur le terminal de récupération.

Remarque: vous voudrez probablement supprimer la ligne qui a été ajoutée à la .vmxconfiguration afin de ne pas avoir à attendre deux secondes supplémentaires à chaque fois que vous allumez votre VM.

James Mazikowski
la source
J'essaie de suivre votre solution de contournement avec Mojave sur VMware Workstation 14 sous Windows 7, mais je n'ai pas trouvé fs2: \ y a-t-il autre chose à faire?
M. Abdelhafid le
1
enfin, ça a marché comme un charme avec votre chemin, accroché à ce truc pendant des heures.
Nijat2018 le
1
confirme que cela fonctionne dans esxi 6.7 / high sierra
Johnny Everson
4

VMware a une réponse à cette question. Voir Utilisation de l'environnement de récupération (Recovery HD) sur une machine virtuelle OS X :

  1. Allumez la machine virtuelle.
  2. Rapidement, dans la fenêtre noire vierge ou sur l'écran de démarrage VMware, cliquez à l'intérieur de la fenêtre de la machine virtuelle pour que le pointeur de la souris disparaisse. Maintenant, vos frappes vont dans la machine virtuelle.
  3. Rapidement, avant que le logo Apple apparaisse, maintenez enfoncées la Command ⌘touche et la Rtouche.
  4. Une fois que le logo Apple apparaît, relâchez les touches.

Si vous avez terminé les étapes 1 à 3 assez rapidement, la machine virtuelle démarrera dans l'environnement de récupération.

Kevin G.
la source
1
J'ai donc essayé votre solution (bien que remplacer la touche Commande par la touche Windows / Super) et cela n'a pas fonctionné. J'ai également essayé de paramétrer rootless=1un bootarg dans la NVRAM, mais je pense que Apple l'a emporté avec la graine GM de 10.11. Est-ce qu'une option serait de prendre le disque virtuel de la station de travail VMWare et de l'ajouter à une machine virtuelle sur VMWare Fusion?
ecnepsnai
2
Ceci est probablement dû au fait que les touches Super et Command ne sont pas exactement la même chose. Les cartes clés sont probablement différentes. Comme indiqué précédemment, la licence OS X vous permet uniquement d'exécuter des instances virtuelles à partir d'un hôte Mac.
Kevin G.
1

Cette option est valide pour vCenter, pas sûr de Workstation.

Vous avez peut-être une machine qui démarre très rapidement et qui ne peut pas appuyer sur les touches à temps.

Cliquez sur VM et sélectionnez l’onglet Résumé, puis sous VM Hardware -> Modifier les paramètres: Options VM: Options de démarrage: Délai de démarrage Entrez 5 000 en millisecondes (5 secondes).

Restaurez les paramètres une fois que vous avez terminé pour éviter tout délai de démarrage inutile.

KristerL
la source
1

Je tire un indice d'un commentaire de ce billet de blog et réalise que la désactivation de SIP dans la machine virtuelle invitée est en réalité simple.

  1. Dans l'écran de démarrage VMWare, cliquez sur F12 pour accéder à la configuration du BIOS.
  2. Sélectionnez Boot Maintenance Manager> Boot From File.
  3. Sélectionnez le HD de récupération et choisissez le bon efi
  4. Après avoir démarré en mode de récupération, démarrez Terminal
  5. Exécuter csrutil disable
Carson Ip
la source
0

Cela a fonctionné sur mon installation Windows VMware après de nombreux essais. (Et oui, je sais que je ne suis pas censé faire cela, mais je ne suis pas non plus censé conduire plus de 55 km / h). Avec le recul, mes erreurs consistaient soit à ne pas utiliser le bon combo de touches, soit à ne pas le retenir assez longtemps.

J'ai dû modifier le fichier de configuration de la VM (.vmx, dans le dossier de la machine virtuelle) pour ajouter le délai de 5 secondes. Ensuite, la combinaison de touches correcte sur un clavier Windows était Windows-R, et je devais appuyer une fois dessus et le maintenir pendant environ 10 secondes jusqu'à ce que le logo Apple apparaisse. Ensuite, il a suivi ce qui semblait être la séquence de démarrage normale, mais à la fin, il m'a mis en mode de récupération pour pouvoir afficher une fenêtre de terminal et taper

csrutil disable

Enfin, exactement ce dont j'avais besoin pour retrouver la résolution de mon écran!

Clarence Layne
la source
S'il vous plaît, mentionnez au moins les pneus qui conviennent à ehhm non, la (les) ligne (s) précise (s) à ajouter dans le vmx si vous conduisez plus vite que 55MPH
klanomath
Eh bien, je suis assez proche. Je suis arrivé à l'écran MacOS Utilities, puis à Utilities et à Terminal. Mais je ne peux rien taper dans la fenêtre du terminal. Le curseur de la souris se transforme en un petit signe plus et un clic dans la fenêtre client du terminal ne semble pas décaler le focus sur le terminal (ou, le cas échéant, il ignore simplement les frappes au clavier). Hmmmmm ..... ???
mbmast
-1

VMware Workstation 12 sur Windows 10.

Les étapes fonctionnent. Il démarrera dans une fenêtre qui vous permettra de réinstaller le système d'exploitation, les utilitaires de disque et deux autres options (je m'en souviens).

Ensuite, vous verrez "Fenêtre" cliquez dessus et vous verrez une liste déroulante permettant l’accès au terminal.

puis tapez:

csrutil disable

Redémarrez la VM.

tear4fear411
la source
Pourriez-vous s'il vous plaît entrer dans plus de détails? Franchement, je n'ai rien compris à ce que vous avez écrit ...
Garex