So deaktivieren Sie SIP, wenn Big Sur oder höher macOS in einer virtuellen VMware Fusion Player-Maschine installiert ist

Ich habe Big Sur in einer virtuellen VMware Fusion Player-Maschine installiert. Ich möchte SIP deaktivieren. Bei einem tatsächlichen physischen Mac besteht die übliche Methode darin, zuerst die interne macOS-Wiederherstellung zu starten und dann den unten angegebenen Befehl in ein Terminalfenster einzugeben.

csrutil disable

Das Booten zur internen macOS-Wiederherstellung scheint jedoch nicht möglich zu sein. Das Gedrückthalten der Tastenkombination + beim Start funktioniert nicht. RDer Mac Startup Manager scheint nicht zu existieren. Ich kann die Firmware neu starten, aber das RecoveryVolume hat kein Laufwerk boot.efi, von dem aus gebootet werden kann.

Mir ist klar, dass die SIP-Einstellung in der unten angegebenen 4-Byte-NVRAM-Variablen gespeichert ist.

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

Die Firmware ermöglicht das Booten von einer integrierten EFI 1.0-Shell. Diese Shell scheint jedoch keine Befehle zu haben, die diese Variable ändern können. Tatsächlich existiert die Variable derzeit nicht einmal im NVRAM der virtuellen Maschine. Ich habe versucht, den folgenden Befehl in einem macOS-Terminalfenster einzugeben.

 sudo nvram csr-active-config=%7f%00%00%00

Das Ergebnis war die unten angegebene Fehlermeldung.

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

Mit welchen Verfahren kann SIP deaktiviert werden?

Ich verwende die aktuelle kostenlose Version von VMware Fusion Player (Version 12.1.0).

Host-Statistiken Gästestatistik
iMac (21,5 Zoll, Ende 2013) Mac
macOS Catalina-Version 10.15.7 macOS Big Sur-Version 11.6.1
Speicher: 16 GB Speicher: 4 GB
Quad-Core Intel Core i5 2 Prozessorkerne
2,9 GHz 2,76 GHz
USB 3 (5 Gbit/s) Samsung T7 SSD SATA-Festplatte

Nachfolgend finden Sie Links zu Websites mit Verfahren, die ich entweder nicht zum Laufen bringen konnte oder die nur mit früheren Versionen von macOS funktionieren.

Kann ich einen MacOS-Neustart in den Wiederherstellungsmodus ausschließlich über die Befehlszeile initiieren?
Wie deaktiviere ich SIP (Systemintegritätsschutz) in VMware Fusion 12 für macOS Big Sur?

Ich habe kein VMware, also kann ich es nicht ausprobieren, aber haben Sie sich die Antwort angesehen in: community.vmware.com/t5/VMware-Fusion-Discussions/…
Das Problem mit der von Ihnen bereitgestellten verknüpften Antwort ist, dass keine boot.efiDatei vorhanden ist. Ich habe dies in meiner Frage gepostet. Die vorherigen Versionen von macOS haben diese boot.efiDatei, aber nicht Big Sur.
Entschuldigung, hier ist eine andere Sache, die Sie ausprobieren könnten: community.vmware.com/t5/VMware-Fusion-Discussions/…
Dieser Link war mir bekannt. Grundsätzlich erstellen Sie ein macOS-Installationsprogramm entweder auf einem virtuellen USB-Laufwerk oder einem virtuellen optischen Medium. Als nächstes booten Sie vom Laufwerk oder Medium und öffnen Sie ein Terminalfenster, in dem der csrutil disableBefehl eingegeben werden kann. Das Verfahren zum Erstellen sowohl des Laufwerks als auch des Mediums ist komplex und die zum Booten benötigte Zeit ist ziemlich lang. Ich hatte auf etwas einfacheres und schnelleres gehofft. Sie können als Antwort posten, aber ich würde dies als eine Antwort des letzten Auswegs betrachten.
VMware Fusion muss ein temporäres Installationsprogramm auf einer zweiten vHDD erstellen, und ich erstelle immer eine Kopie des ursprünglichen Installationsprogramms und der VM, indem ich „Anpassen“ auswähle, damit die Installation nicht sofort gestartet wird. Später kann diese vHDD des Installationsprogramms wieder zur VM hinzugefügt werden, um bei Bedarf auf die macOS-Wiederherstellung zuzugreifen.
Bis zu diesem Zeitpunkt hatte ich keinen Grund, von einer macOS Big Sur- VM in die macOS-Wiederherstellung einzusteigen . In früheren Versionen von macOS habe ich den zusammengesetzten Befehl von Terminal verwendet , um zu macOS Recovery neu zu starten . Dank Ihrer Frage und sehr interessanten Antwort habe ich jetzt eine macOS-Wiederherstellungs- vHDD aus den Dateien Temporary Installation Source Disk.vmdk und Temporary Installation Source Disk.dmg eingerichtet, die von VMware Fusion erstellt wurden . sudo nvram "recovery-boot-mode=unused"; sleep 2; sudo reboot
Ich habe diese Dateien so bearbeitet, dass sie im Festplatten-Dienstprogramm bei einem normalen Start als macOS-Wiederherstellung anstelle des ursprünglichen Vornamens angezeigt werden . Ich habe auch seine UUID hinzugefügt , damit /etc/fstabsie schreibgeschützt ist und bei einem normalen Start nicht gemountet wird. Ich habe es als freigegebene vHDD hinzugefügt, um es auf allen meinen macOS Big Sur- VMs zu verwenden und die Speicherplatznutzung des Hosts zu minimieren. Um Ihre interessante Antwort nicht wegzunehmen, aber für mich ist dies IMO eine viel bessere Lösung für solche Probleme. (Sowohl beim Booten in die macOS-Wiederherstellung als auch beim Deaktivieren von SIP .)
Sie sollten diese Kommentare als Antwort posten. Ich glaube nicht, dass das Erstellen einer Kopie des temporären Installationslaufwerks eine Lösung wäre, auf die die meisten Benutzer selbst kommen würden. Das Booten von einem macOS-Installationsprogrammlaufwerk ist eine gültige Methode zum Deaktivieren von SIP.

Antworten (8)

Führen Sie die folgenden Schritte aus, um den Systemintegritätsschutz (SIP) zu deaktivieren.

  1. Beginnen Sie mit dem Booten von macOS Big Sur und öffnen Sie ein Terminal-Anwendungsfenster. Geben Sie als nächstes den unten angegebenen Befehl ein. Dadurch wird eine NVRAM-Variable mit dem gewünschten Wert, aber falsch geschriebenem Variablennamen erstellt. Dieser Rechtschreibfehler wird in einem späteren Schritt korrigiert.

    sudo nvram Asr-active-config=%7f%00%00%00
    
  2. Fahren Sie macOS herunter. Wählen Sie im SettingFenster für die virtuelle Maschine Startup Disk. Halten Sie die optionTaste gedrückt und wählen Sie die Restart to Firmware…Schaltfläche aus, wie unten gezeigt.

    Wählen Sie EFI Internal Shell, wie unten gezeigt.

    Geben Sie bei Bedarf den folgenden Befehl ein, um das Fenster vollständig zu nutzen.

    mode 128 40
    
  3. Legen Sie das aktuelle Dateisystem auf das EFI-Volume fest. Dies sollte das zugeordnete fs0Dateisystem sein, also würden Sie Folgendes eingeben

    fs0:
    

    Überprüfen Sie als Nächstes, ob das Etikett vorhanden ist, EFIindem Sie den folgenden Befehl eingeben.

    vol
    

    Wenn falsch, dann versuchen Sie fs1:, fs2:, fs3:, ....

  4. Geben Sie den folgenden Befehl ein, um die Asr-active-configVariable in der Datei zu speichern csr.bin.

    dmpstore Asr-active-config -s csr.bin
    

    Hinweis: Um weitere Informationen zu diesem Befehl zu erhalten, geben Sie ein help -b dmpstore.

    Geben Sie als Nächstes den folgenden Befehl ein, um die csr.binDatei zu bearbeiten. Sie müssen die Schreibweise korrigieren, indem Sie den Buchstaben Adurch den Buchstaben ersetzen c. 63Dies kann durch Eingabe von a über das 41in der ersten Zeile erfolgen .

    hexedit csr.bin
    

    Die korrigierte Datei wird wie unten gezeigt angezeigt. Wenn Sie fertig sind, speichern Sie die Änderungen und beenden Sie.

    Hinweis: Der Wert der Variablen wird in den letzten 4 Bytes dieser Datei gespeichert.

    Geben Sie den folgenden Befehl ein, um die csr-active-configVariable im NVRAM zu erstellen.

    dmpstore -l csr.bin
    

    SIP wird jetzt beim nächsten Start von Big Sur deaktiviert. Geben Sie bei Bedarf den folgenden Befehl ein, um die Asr-active-configVariable aus dem NVRAM zu entfernen.

    dmpstore -d Asr-active-config
    
  5. Geben Sie den folgenden Befehl ein, um die Befehlsshell zu verlassen.

    exit
    

    Wählen Sie im Boot Manager, Mac OS Xum Big Sur zu starten.

Format der csr.binDatei

Versatz in Hex Größe in Dezimalzahl Beschreibung
00-03 4 Länge des Variablennamens
04-27 36 Variablenname als nullterminierte UTF-16LE-Zeichenfolge gespeichert
28-37 16 GUID der Variable
38-3B 4 Als 4-Byte-Ganzzahl gespeicherte Attribute (siehe unten)
3C-3F 4 Länge der Daten
40-43 4 Die 4-Byte-Ganzzahl, die die Daten umfasst
Attribut Wert Beschreibung
NV 1 Nicht flüchtig
BS 2 Boot-Service-Zugriff
RT 4 Laufzeitzugriff
HR 8 Hardware-Fehleraufzeichnung
Wow. Das ist verrückt. Warum zum Teufel bietet VMWare keine einfachere Möglichkeit, dies zu tun?!
Bringt sudo nvram Asr-active-config=%7f%00%00%00eigentlich was?
@Wowfunhappy: Es gibt einen einfacheren Weg. Sie können eine UEFI-Shell (v2.2) installieren. Diese Shell verfügt über einen setvarBefehl, der die von macOS verwendeten NVRAM-Variablen ändern kann. Derzeit verfügt Fusion Player über eine integrierte EFI-Shell (v1.0). Diese Shell hat einen setBefehl, der nur Umgebungsvariablen ändern kann. Es gibt keinen setvarBefehl. Übrigens, VirtualBox hat eine eingebaute UEFI-Shell (v2.2).
@Wowfunhappy: Der sudo nvram Asr-active-config=%7f%00%00%00Befehl bewirkt, dass die Variable unter einem falsch geschriebenen Namen erstellt wird. Dies war notwendig, da das Big Sur- nvramKommando den Namen nicht akzeptiert csr-active-config. Dieser Rechtschreibfehler wird korrigiert, sobald die integrierte EFI-Shell aufgerufen wird.

Diese Antwort bietet zwar eine Methode zum Deaktivieren von SIP, ich halte die Methode jedoch für zu kompliziert, wenn der einzige Zweck darin besteht, SIP zu deaktivieren. Außerdem dauert das Booten länger als das Booten in eine EFI- oder UEFI-Shell. Wenn jedoch auch andere Aufgaben von einer macOS-Wiederherstellungsumgebung ausgeführt werden müssen, ist diese Methode möglicherweise einfacheren Methoden vorzuziehen.

Auf einem tatsächlichen Mac kann SIP deaktiviert werden, indem Sie den Befehl csrutil disablein einem Terminalfenster eingeben, während Sie von einem macOS-Installationsprogramm für ein USB-Flash-Laufwerk booten. Apple hat eine Website mit Anweisungen zum Erstellen dieses MacOS-Installationsprogramms für USB-Flash-Laufwerke. VMware Fusion Player bietet keine virtuellen USB-Laufwerke. Ein virtuelles zweites internes Laufwerk kann jedoch ersetzt werden. Die zum Erstellen dieses virtuellen Laufwerks erforderlichen Schritte sind unten aufgeführt.

Hinweis: Zur besseren Ansicht der Bilder entweder auf das Bild klicken oder das Bild in einem neuen Fenster öffnen.

  1. Erwerben Sie die Installationsanwendung: Wenn dieInstall macOS Big SurAnwendung noch nicht imApplicationsOrdner auf dem Host vorhanden ist, laden Sie die Anwendung herunter oder übertragen Sie eine Kopie von einem anderen Mac. Diese Antwort geht davon aus, dass die macOS-Version 11.6.1 ist.

  2. Erstellen Sie das Disk-Image des Installationsprogramms: Öffnen Sie auf dem Host das Festplattendienstprogramm. Wählen Sie in der Menüleiste des FestplattendienstprogrammsFile>New Image>Blank Image…. Wählen Sie im Popup Folgendes aus und wählen Sie dieSaveSchaltfläche aus.

    Wählen Sie nach erfolgreicher Erstellung des Disk-Images die DoneSchaltfläche aus. Öffnen Sie als Nächstes ein Terminal-Anwendungsfenster auf dem Host und geben Sie den folgenden Befehl ein.

    sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
    

    Wenn Sie mit der Erstellung des Install macOS Big SurVolumes fertig sind, verwenden Sie das Festplattendienstprogramm, um alle Disk-Images auszuwerfen. Beenden Sie das Festplatten-Dienstprogramm und die Terminal-Anwendungen.

  3. Freigabe einrichten: Öffnen Sie beim HerunterfahrenSharingdes Clients den BereichSettingsfür den Client. Aktivieren Sie das KontrollkästchenEnable Shared Foldersund fügen Sie IhrenDesktopOrdner hinzu, wie unten gezeigt.

  4. Neue interne Festplatte erstellen: Fügen Sie bei heruntergefahrenem Client eine neue Festplatte hinzu. Verwenden Sie die unten gezeigten Einstellungen.

  5. Trennen Sie die neue Festplatte vom Client: Dies ist ein optionaler Schritt, der nützlich ist, wenn Sie die neue Festplatte mit anderen virtuellen Maschinen teilen möchten.

    Hinweis: Bei dieser Freigabe wird davon ausgegangen, dass jeweils nur ein Client dieses Laufwerk verwendet. Andernfalls sollte dieses Laufwerk schreibgeschützt gemountet werden. (Dies kann durch Bearbeiten der /etc/fstabDatei möglich sein.

    Entfernen Sie zuerst die neue Festplatte vom Client. Wenn das folgende Popup erscheint, wählen Sie die Keep FileSchaltfläche aus.

    Verwenden Sie die Finder-Anwendung, um die Virtual Disk 2.vmdkDatei aus dem Client-Ordner in den übergeordneten Ordner mit dem Namen zu verschieben Virtual Machines. Als nächstes benennen Sie die Datei um in BigSur11.6.1Installer.vmdk. Fügen Sie diese neue Festplatte schließlich als vorhandene Festplatte zum Client hinzu. Stellen Sie bei der Auswahl der Datei sicher, dass die Share this virtual disk with the virtual machine that created itSchaltfläche ausgewählt ist, wie unten gezeigt.

  6. Initialisieren Sie die neue Festplatte: Starten Sie die virtuelle Client-Maschine. Wenn das folgende Popup erscheint, wählen Sie dieInitialize…Schaltfläche aus. Das Festplattendienstprogramm sollte geöffnet werden.

    Markieren Sie das neue nicht initialisierte VMware Virtual SATA Hard Drive Mediaund wählen Sie dann die EraseSchaltfläche aus. Treffen Sie die unten gezeigte Auswahl und wählen Sie dann die EraseSchaltfläche aus.

    Beenden Sie das Festplattendienstprogramm.

  7. VMware Tools installieren: Wenn VMware Tools bereits installiert ist, fahren Sie mit dem nächsten Schritt fort. Wählen Sie in derVMware FusionMenüleisteVirtual Machine>Install VMware Tools. Fahren Sie mit der Installation fort. Wenn eines der beiden folgenden Fenster ein anfordertRestart, tun Sie dies nicht .

    Die Systemsoftware des Entwicklers „VMware, Inc.“ wird für das Laden gesperrt. AllowIn diesem Fall sollten Sie die Schaltfläche aus dem Security & PrivacyBereich der Systemeinstellungen auswählen . Danach, wenn das unten gezeigte Fenster eine anfordert Restart, sollten Sie dies tun.

  8. Auf dem neuen Laufwerk wiederherstellen: Öffnen Sie vom Client aus Ihren Desktopauf dem Host gespeicherten Ordner und öffnen Sie dann die BigSur11.6.1Installer.dmgDatei. Öffnen Sie auf dem Client das Festplattendienstprogramm und markieren Sie das MyVolumeVolume. Wählen Sie oben im Fenster des Festplattendienstprogramms Restore. Wählen Sie im Popup die Option zum Wiederherstellen von Install macOS Big Sur, und wählen Sie dann die RestoreSchaltfläche aus.

    Hinweis: Auf meinem Mac dauerte die Wiederherstellung etwa 8 Minuten.

    Wenn Sie fertig sind, wählen Sie die DoneSchaltfläche aus. Werfen Sie im Festplatten-Dienstprogramm das Festplatten-Image mit dem Install macOS Big SurVolume aus und beenden Sie dann das Festplatten-Dienstprogramm. Schließen Sie alle geöffneten Finder-Fenster.

  9. Bereinigung: Verschieben Sie die Datei auf dem HostBigSur11.6.1Installer.dmgaus IhremDesktopOrdner in den Papierkorb. Stellen Sie bei Bedarf freigegebene Ordner in ihrem ursprünglichen Zustand wieder her.

Führen Sie die folgenden Schritte aus, um von einem neuen macOS-Installationsprogrammlaufwerk zu booten.

  1. Fahren Sie den Client herunter.
  2. Öffnen Sie auf dem Host den Startup DiskBereich Settingsfür den Client.
  3. Markieren Sie das HDD-Symbol mit der Bezeichnung Hard Disk 2 (SATA).
  4. Wählen Sie die Restart…Schaltfläche aus.

Alternative Möglichkeit zum Booten im Wiederherstellungsmodus mit Big Sur

Nur um meine Probe zu teilen, nachdem ich den ersten Beitrag von David Anderson gelesen habe, der mir geholfen hat, dies zu finden.

Die Umgebung unterscheidet sich kaum von VMW Fusion, eigentlich ist es dies:
Gastbetriebssystem: Big Sur 11.6
Hostbetriebssystem: Big Sur 11.6 auf MBA 2020 (Intel)
Hypervisor: Virtual Box 6.1.28

Ich habe versucht, im Wiederherstellungsmodus zu booten, entweder mit nvram oder über die interne EFI-Shell, alles ohne Erfolg (in meiner Umgebung).

  • sudo nvram "recovery-boot-mode=unused"==> Bei dieser alten (Catalina-)Variablen bekomme ich sogar „Error setting variable“ in Big Sur.
  • sudo nvram internet-recovery-mode=RecoveryModeDisk==> Beim Neustart von GuestOS scheint die Variable ignoriert zu werden, da MBA nicht wirklich im Wiederherstellungsmodus bootet.
  • dmpstore -l csr.bin==> gibt „Keine passende Variable gefunden“ zurück.

Und auch beim Booten in der internen EFI-Shell und auf der Suche nach CoreServices/boot.efi durchsuchte ich alle FS N : Zuordnungstabelleneinträge (alle Vols/Partitionen der lokalen internen Festplatte von MBA), ohne Erfolg. Es scheint, dass System/Library/CoreServices versteckt oder verschlüsselt ist (SSV?)

Dann, wie von t0rr3sp3dr0 hier in GitHub vorgeschlagen , habe ich versucht, auf diese Weise nach CoreServices boot.efi zu suchen, und ich bin wie folgt vorgegangen:

  • Mounten Sie in VirtualBox unter VM-Einstellungen -> Speicher das Big Sur-Installationsabbild. Und aktivieren Sie die Option „Live-CD/DVD“.
  • VM starten und ESC-Taste drücken
  • Wählen Sie Boot Manager -> EFI Internal Shell
  • Suchen Sie nach der Wiederherstellungspartition, geben Sie in meiner Umgebung unter FS7 Folgendes ein:
    FS7:
    vol
    um nach HFS+ zu suchen.
  • Typ:
    cd System/Library/CoreServices
    boot.efi
    ENTER

Geben Sie hier die Bildbeschreibung ein

Endlich bootet mein GuestOS (BigSur 11.6) im Wiederherstellungsmodus!
Hoffnung könnte helfen.

Ihre Antwort ist das Booten einer optischen Version des macOS Big Sur-Installationsprogramms in VirtualBox. Meine Frage ist, wie man SIP bei Verwendung von VMware deaktiviert. Ich sehe die Relevanz Ihrer Antwort nicht. Sie können erwägen, Ihre eigene Frage zu posten und dann diese Antwort auf Ihre eigene Frage zu posten.
Sie sind sich bewusst, dass VirtualBox Big Sur nicht vollständig unterstützt, während VMware Big Sur vollständig unterstützt. Außerdem ist VMware jetzt ein kostenloses Produkt, wenn es für persönliche Zwecke verwendet wird. Sie können auch beide Produkte gleichzeitig installieren.
In Ihrer Antwort booten Sie zuerst in eine UEFI Interactive Shell v2.2 und booten dann vom optischen Medium. Warum nicht einfach SIP deaktivieren, während die Shell gebootet wird, und die Verwendung des optischen Mediums überspringen? Die Anleitung habe ich bereits im März gepostet. Siehe diese Antwort . Da VirtualBox bereits eine Shell v2.2 hat, wird rEFInd nicht benötigt.
Sehr geehrter DA, vielen Dank für Kommentare und ich habe einfach nach etwas gesucht, das Ihren Fragen und Antworten wirklich nahe kommt, wie Sie in Ihrer Frage angegeben haben: „ Aber das Wiederherstellungsvolume hat keine boot.efi, von der aus gebootet werden kann.“ . Und das sind auch 2 Punkte die ich auch hatte: SIP und Recovery Boot deaktivieren. Und deine Beiträge sind großartig, sie haben mir und vielen anderen Leuten geholfen.
Das einzige, was ich mit VirtualBox verwalte, aber die Hauptfragen sind die gleichen. Wenn Sie es vorziehen, trenne ich mich und schreibe selbst ein Q&A. Wenn Sie nach etwas suchen, finden Sie nicht immer einen bestimmten Beitrag für Ihre spezifische Antwort. Meine Absicht war nur, meinen kleinen Versuch zu teilen, in der Hoffnung, dass er jemandem helfen könnte. Ja, mir ist Ihr Kommentar zu VMW bekannt. Eigentlich verwende ich seit vielen Jahren VMW Workstation unter Windows, aber ich habe Fusion noch nicht unter macOS, sorry.
Endlich, ja sicher, ich habe deinen Beitrag vom März gesehen und es hat super funktioniert! Nur zur Information, wenn Sie diesen Alias ​​in der UEFI-Shell festlegen und in „Mac OS X“ booten, erhalte ich später von cmdline: Gastbetriebssystem> csrutil-Status Systemintegritätsschutzstatus: deaktiviert.
Dies ist großartig, um SIP zu deaktivieren, ohne dass das bootfähige „Big Sur“-Image gemountet ist, wie Sie gefragt haben. Wie auch immer, für die Zukunft muss der Schritt zum Booten im Wiederherstellungsmodus verpasst werden, da ich keine CoreServices/boot.efi finden konnte, ohne ein externes bootfähiges Image zu verwenden.
Ich habe nicht vorgeschlagen, dass Sie Ihre Antwort von dieser Frage lösen. Ich dachte nur, andere könnten Ihre Antwort leichter finden, wenn eine neue Frage gestellt wird. Sie könnten diese Antwort hier und bei der anderen Frage hinterlassen. Oder hinterlassen Sie eine kurze Antwort bei einer Frage mit einem Link zu dieser Antwort, die bei der anderen Frage gepostet wird.

Diese Antwort setzt voraus, dass zuerst eine UEFI-Shell v2.2 installiert wurde. In dieser Antwort finden Sie Anweisungen zur Verwendung von rEFInd zum Aufrufen einer UEFI-Shell.

Wählen Sie eines der beiden unten aufgeführten Verfahren aus, um den csrutilUEFI-Shell-Alias ​​zu installieren.

  • Geben Sie den folgenden Befehl in einer UEFI-Shell ein. Da dieser Alias ​​nicht flüchtig ist, muss der Befehl nur einmal eingegeben werden.

     alias csrutil "setvar csr-active-config -nv -rt -bs -guid 7C436110-AB2A-4BBB-A880-FE41995C9F82"
    
  • Installieren Sie die startup.nshDatei wie in der referenzierten Antwort beschrieben . Dieses Skript erstellt jedes Mal, wenn eine UEFI-Shell aufgerufen wird, eine flüchtige Form des oben gezeigten Alias.

Um die Konfiguration des Systemintegritätsschutzes zu ändern, geben Sie die Befehle in der Spalte „UEFI-Shell-Äquivalent“ unten in einer UEFI-Shell ein.

macOS-Befehl UEFI-Shell-Äquivalent Beschreibung
csrutil clear csrutil = Löschen Sie die vorhandene Konfiguration.
csrutil disable csrutil =0x0000007f Deaktivieren Sie den Schutz auf der Maschine.
csrutil enable csrutil =0x00000010 Aktivieren Sie den Schutz auf der Maschine.
csrutil status csrutil Anzeige der aktuellen Konfiguration.

Hinweis: Sobald die csr-active-configVariable festgelegt ist, können Sie SIP direkt über rEFInd aktivieren/deaktivieren.

Die Bits der csr-active-configVariablen sind in der csr.hDatei definiert. Eine Version dieser Datei finden Sie unter opensource.apple.com . Dieser developer.apple.com-Thread definiert einige zusätzliche csrutilArgumente für den enableBefehl. Die Beziehung zwischen diesen Bits und ausgewählten csrutilBefehlen und Argumenten ist in der folgenden Tabelle für macOS Big Sur Version 11.6.1 angegeben.

Hinweis: Die folgende Tabelle gilt auch für macOS Monterey Version 12.0.1.

csrutil-
Befehle
mit
optionalen
Argumenten
csr-
active-
config
CSR_
ALLOW_
UNTRUSTED_
KEXTS
= 0x001
CSR_
ALLOW_
UNRESTRICTED_
FS
= 0x002
CSR_
ALLOW_
TASK_
FOR_
PID
= 0x004
CSR_
ALLOW_
KERNEL_
DEBUGGER
= 0x008
CSR_
ALLOW_
APPLE_
INTERN
= 0x010
CSR_
ALLOW_
UNRESTRICTED_
DTRACE
= 0x020
CSR_
ALLOW_
UNRESTRICTED_
NVRAM
= 0x040
CSR_
ALLOW_
DEVICE_
CONFIGURATION
= 0x080
CSR_
ALLOW_
ANY_
RECOVERY_
OS
= 0x100
CSR_
ALLOW_
UNAPPROVED_
KEXTS
= 0x200
CSR_
ALLOW_
EXECUTABLE_
POLICY_
OVERRIDE
= 0x400
ermöglichen 0x00000010
enable --no-internal 0x00000000
enable ‑‑ohne
kext
0x00000019
aktivieren - ohne
fs
0x00000012
enable ‑‑ohne
Debug
0x00000014
enable - ohne
dtrace
0x00000030
aktivieren - ohne
nvram
0x00000050
deaktivieren 0x0000007F

 

Wie kommt es, dass enable ‑‑ohne fs und enable ‑‑ohne Debug dasselbe sind? Sollte nicht aktivieren – ohne Debug 0x00000018 sein?
@startergo: Ich habe meine Antwort für macOS 11.6.1 aktualisiert. Das csrutil enable --without debugführt jetzt dazu, dass es car-active-configauf gesetzt wird 0x00000014. Ich habe die Tabelle geändert, um dies widerzuspiegeln.

Ich hatte das gleiche Problem und ich hatte ein paar Mal Wut. :)

  1. Erstellen Sie in den VMWare-Einstellungen eine neue Festplatte mit mindestens 16 GB und hängen Sie sie an die macOS-Gast-VM an.

  2. Starten Sie die macOS-VM und formatieren Sie die neue Festplatte in der macOS-Gast-VM als JHFS+ (nicht APFS), das auch als „Mac OS Extended (Journaled)“ bekannt ist, im GUID-Format.

  3. Laden Sie die Anwendung Install Big Sur/Monterey usw. aus dem App Store herunter.

  4. Erstellen Sie anhand der Anweisungen hier ( https://support.apple.com/en-us/HT201372 ) auf der neuen Festplatte eine bootfähige Wiederherstellungsdiskette auf der in Schritt 2 erstellten Diskette .

  5. Fahren Sie die macOS-Gast-VM herunter.

    In den VM-Einstellungen -> Startvolume -> Markieren Sie die neue Festplatte aus Schritt 1 und wählen Sie dann die RestartSchaltfläche aus.

    ODER

    Wenn Sie VMWare Workstation/Player verwenden, greifen Sie auf die Firmware zu, indem Sie die Taste Roder spammen F12, und ändern Sie die Startreihenfolge so, dass die in Schritt 2 erstellte Festplatte an erster Stelle steht.

    Dann bist du im Installer, wählst deine Sprache, wählst dann Terminal und betrittst csrutil disableund siehst die Bestätigungsmeldung und BOOM, es ist ausgeschaltet und du kannst ein paar Freudentränen vergießen und das Ego genießen. :)

  6. Starten Sie neu und geben Sie die Firmware mit der Taste Roder ein F12und ändern Sie die Startreihenfolge wieder auf die ursprünglichen Einstellungen.

Wenn Sie immer noch Probleme haben, kann ich versuchen, ein Video zu machen.

Ich kann "Firmware mit der Taste R oder F12 eingeben" nicht zum Laufen bringen. Wäre es nicht einfacher, die Optionstaste gedrückt zu halten und dann die Restart to firmware...Schaltfläche im Bereich Startvolume der Einstellungen auszuwählen?
Ja, wählen Sie die Methode, die für Sie funktioniert, um in das BIOS zu gelangen … .. starten Sie die Firmware neu oder schalten Sie die Firmware ein usw. usw. usw

Viele SEHR komplizierte Antworten auf diese Frage, aber ich habe einen viel einfacheren Weg, es zu tun.

Laden Sie zuerst eine bootfähige ISO von Big Sur aus dem Internet herunter (es gibt eine Reihe davon im Internetarchiv, suchen Sie danach). Stellen Sie dann in den Hardwareeinstellungen der Virtual Machine Settings CD/DVD (SATA) „Connected“ und „Connected at power on“ ein und verweisen Sie auf das heruntergeladene ISO-Image.

Gehen Sie dann bei heruntergefahrener VM zum Menü: VM - Power - Power on Firmware

Hinweis: Wenn Sie die kostenlose Version von VMware Fusion Player verwenden, ist „Menü: VM – Power – Power on Firmware“ nicht vorhanden. Gehen Sie stattdessen in den Bereich „Startvolume“ der Einstellungen, halten Sie die optionTaste gedrückt und wählen Sie dann die Schaltfläche „Restart to Firmware…“.

Wählen Sie in der Firmware „Enter Setup“

"Startoptionen konfigurieren"

"Startreihenfolge ändern"

Drücken Sie dann die Eingabetaste und wählen Sie EFI VMware Virtual SATA CDROM Drive (1.0) und drücken Sie dann das Pluszeichen, um es nach oben zu verschieben.

"Änderungen übernehmen und beenden"

"Beenden Sie den Boot Maintenance Manager"

"System herunterfahren"

Ihre VM sollte dann in die Wiederherstellungsumgebung booten, und Sie können SIP mit Terminal dort deaktivieren oder aktivieren.

Und ich habe festgestellt, dass Sie, während Sie sich im Wiederherstellungsmodus befinden und das Apple-Menü „Startvolume“ auswählen und es auf Ihr reguläres Startabbild zurücksetzen, nicht zu den VM-Firmwareeinstellungen zurückkehren müssen, um die Einstellung aufzuheben die DVD-Boot-First-Option.

Aber ich habe festgestellt, dass es am BESTEN ist, die CDROM-Startoption in der Firmware festgelegt zu lassen und die ISO im Ordner Ihrer VMware bereit zu lassen, damit sie leicht zugänglich ist, und einfach die CD/DVD der VM aktivieren (oder deaktivieren) " Beim Einschalten verbinden" Einstellung, wann immer Sie in den Wiederherstellungsmodus booten möchten (oder nicht).

Der schnellste und funktionierendste Weg, dies zu tun, ähnelt der obigen Antwort -

  • Beginnen Sie mit einer falsch geschriebenen Variable. (Asr-active-config usw. ist in Ordnung). Es ist falsch geschrieben und daher nicht von macOS geschützt.

  • Bearbeiten Sie auf dem Host die NVRAM-Datei direkt (!) - dies ist viel einfacher, als in die UEFI-Shell auf dem Gast usw. zu gehen. Sogar vim ist hier in Ordnung, da die Datei keinen CRC enthält. Das „Asr“ ist UTF16, suchen Sie also nach A^@s^@r (Null-Terminatoren für uint16_t). Ändern Sie 'A' in 'c' durch die 'r'-Funktion von vim und schreiben Sie sofort die Datei.

  • Neustart. Erledigt

Wie funktioniert "NVRAM-Datei direkt auf dem Host bearbeiten" in der Praxis? Wo wird diese Datei gespeichert, wie kann sie in geöffnet werden vi?
Das wäre im Ordner virtualmachines.localized oder wo auch immer Sie die VM ablegen – neben der .vmx-Datei befindet sich eine .nvram-Datei – die Sie bearbeiten müssen.

Nur für den Fall: Ich habe ein kleines Tool erstellt, um diese Art von Operation zu erleichtern.

Sie finden es dort auf GitHub: https://github.com/javerous/vm-config

Es sollte so einfach sein wie es zu tun

vm-config change /path/to/vm.vmwarevm --csr-disable

SIP zu deaktivieren.

Es ist eine erste Version, daher kann es noch einige Fehler geben, aber nach meinen eigenen Tests funktioniert es reibungslos. Davon abgesehen möchten Sie es vielleicht vorerst nur auf gesicherten VMs verwenden.