Das Setzen einer NVRAM-Variablen beim normalen Booten ist nicht erlaubt, aber im Wiederherstellungsmodus erlaubt

agcWenn der Speicher mir Recht gibt, war es in Yosemite möglich, die NVRAM-Variable auch nvram boot-argsim normalen vollständigen Startmodus festzulegen .

Dies scheint sich in späteren Versionen des Betriebssystems geändert zu haben.

In Sierra führt dies zu einer Fehlermeldung:

sudo nvram boot-args="-v agc=0"
nvram: Error setting variable - 'boot-args': (iokit/common) general error

Wenn ich diesen Befehl im Wiederherstellungsmodus ausführe, wird er in 10.12.6 immer noch ohne Fehler akzeptiert.

Bei SingleUser ist es ebenfalls abgewiesen.

Wurde dies von 10.10 auf 10.12 geändert? Warum? Warum funktioniert es nicht mehr im normalen Startmodus, aber immer noch in der Wiederherstellung?

Jeder Einblick in das oben Gesagte wird geschätzt. Aber die einzige Frage, auf die ich gerne eine Antwort hätte, lautet: Wie kann ich diese NVRAM-Variable entweder im normalen Boot-Modus oder zumindest im SingleUser-Boot-Modus einstellen?

Antworten (2)

Siehe diese Antwort von @tubedogg .

Es scheint, dass die Änderung von 10.10 auf 10.12 ein weiterer Schritt in Richtung der Einbeziehung aller wichtigen Sicherheitsaspekte in den Systemintegritätsschutz (SIP) ist, was bedeutet, dass Sie diese Dinge nicht ändern können, ohne zuvor explizit Berechtigungen festzulegen. SIP gilt für alle Benutzer auf einem Mac, einschließlich Administratoren und root.

Ich habe gerade bestätigt (weil ich gerade ein MacBook Pro mit Sierra 10.12.6 neu konfiguriere), dass:

  • Die Einstellung boot-args="-v"im Wiederherstellungsmodus behält die Einstellung in einem normalen Startmodus bei.

  • Durch Deaktivieren von SIP csrutil disableim Wiederherstellungsmodus können Sie boot-argseine normale Startsitzung einrichten. WARNUNG: Sie sollten SIP nicht deaktivieren, es sei denn, Sie müssen es wirklich – und Sie sollten bereits wissen, wie und warum!

Auch hier können Sie laut @tubedogg auch SIP aktiviert lassen, aber nvramÄnderungen von Ihrer normalen Startsitzung zulassen. Dies könnte für Ihre Anforderungen besser geeignet sein. Im Terminal im Wiederherstellungsmodus eingeben csrutil enable --without nvramund dann neu starten. Ich habe diese Option nicht persönlich ausprobiert, da ich sie im Moment nicht benötige.

Deinen Schalter habe ich auch noch nicht ausprobiert agc=0. Es ist nichts, auf das ich gestoßen bin, und es war nicht in einer Liste von Boot-Argumenten, die ich konsultiert habe, obwohl ich es geschafft habe, eine Referenz zu finden, die ein sehr spezifisches GPU-Hardwareproblem zu lösen scheint . boot-args="-v agc=0"Ich sehe keinen wirklichen Grund, warum Sie nicht in der Lage sein sollten , die gleichen Szenarien einzustellen, die ich einstellen kann boot-args="-v".

@LangLangC YW. Ich habe den Antworttext bearbeitet, um den ... list of boot arguments ...Link deutlicher hervorzuheben. Ich habe damals nicht nach einer Liste mit NVRAM-Einstellungen gesucht. Eine schnelle Google-Suche zeigt, dass es auf den ersten 3 Seiten der Ergebnisse um das Zurücksetzen des NVRAM geht, aber es gibt ein Ergebnis von Wikileaks, das Informationen zu NVRAM-Einstellungen, EFI und Auswirkungen von SIP-Änderungen enthält - vielleicht ist das für Sie nützlich, es geht über das hinaus, was ich möchte geh damit!

In High-Sierra 10.13.6 auf einem Macbook Pro Anfang 2011 konnte ich den Boot-Verbose-Modus nvram im normalen Boot-Modus selbst löschen. Ein Neustart danach, ohne die Protokolle gebootet.

RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
boot-args   -v agc=0
RAJANANDPKsMBP:~ rajanandpk$ sudo nvram boot-args=""
Password:
RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
boot-args   
RAJANANDPKsMBP:~ rajanandpk$ sudo nvram -d boot-args
RAJANANDPKsMBP:~ rajanandpk$ nvram boot-args
nvram: Error getting variable - 'boot-args': (iokit/common) data was not found
Das hat mir dabei geholfen => superuser.com/a/1157888/951714