Próba ustawienia argumentów rozruchowych za pomocą nvram powoduje „ogólny błąd” w Sierra

14

Próbuję tymczasowo wyłączyć wymuszanie podpisywania KEX na moim MBP, ponieważ klient VPN mojej firmy (GlobalProtect) nie może teraz sprawdzić podpisu. Zaczęło się to wczoraj, kiedy wczoraj przeprowadziłem aktualizację systemu operacyjnego do Sierra.

Rozwiązaniem powinno być uruchomienie tego polecenia:

sudo nvram boot-args=kext-dev-mode=1

Problem polega na tym, że otrzymuję następującą odpowiedź i nie mogę zrozumieć, co to znaczy ani co z tym zrobić (co oznacza, że ​​nie mogę również połączyć się z siecią mojej firmy).

nvram: Error setting variable - 'boot-args': (iokit/common) general error

Czy ktoś ma jakieś pomysły na rzeczy, które mógłbym spróbować lub w inny sposób szukać, aby znaleźć problem?

Dzięki.

Michael Oryl
źródło
1
Według strony support.apple.com/en-gb/HT206871 wygląda na to, że musisz zmienić system na Recovery, aby to zmienić
Tetsujin
To rzeczywiście było konieczne. Jeśli zechcesz opublikować odpowiedź, chętnie ją przyjmę. Niestety ustawienie to nie rozwiązało mojego problemu z VPN, ale to zupełnie inna sprawa ...
Michael Oryl
ah, OK - zrobi. Nie byłem pewien, ale wydawało się to istotne.
Tetsujin

Odpowiedzi:

8

Według Apple KB: Przygotuj swoją instytucję na iOS 10 i macOS Sierra

... musisz użyć polecenia nvram, aby poprawnie ustawić zmienną NVRAM boot-args. Począwszy od systemu macOS Sierra, należy uruchomić system z partycji odzyskiwania, aby uruchomić to polecenie.

Tetsujin
źródło
To nie działało z moją Sierra. Jednak csrutilopcja poniżej!
eduncan911
9

Ograniczenie podpisywania kextów zostało zintegrowane z System Integrity Protection począwszy od El Capitan, w wyniku czego stara flaga wyłączania przestała działać. Ale jest na to nowy sposób: uruchom w trybie odzyskiwania i uruchom polecenie csrutil enable --without kext. Nie testowałem tego, ale rozumiem, że to wyłączy wymagania kext, pozostawiając resztę SIP włączoną. Jeśli to nie pomoże, spróbuj csrutil disablecałkowicie wyłączyć SIP.

Gordon Davisson
źródło
csrutil enableUruchomię go jeszcze raz. Czy włączy ponownie kext?
eduncan911
@ eduncan911 Nie testowałem specjalnie, ale to powinno wystarczyć. W razie wątpliwości użyj csrutil statusdo sprawdzenia. Zobacz uwagę programisty Apple na temat Konfigurowania ochrony integralności systemu .
Gordon Davisson,
3

Mam podobny problem i rozwiązałem ten problem za pomocą powyższego rozwiązania. Dzięki ..

  1. Przejdź do trybu odzyskiwania, ponownie uruchamiając i przytrzymując przycisk +, Raż pojawi się logo Apple.
  2. W górnym menu kliknij Utilities > Terminal.
  3. W oknie terminala wpisz:

    csrutil enable --without kext
    

    i naciśnij Enter.

  4. Następnie uruchom ponownie komputer Mac.
Sai
źródło
-3

Musisz to zastosować w trybie odzyskiwania. Wejdź w tryb odzyskiwania, a następnie zastosuj następujące opcje w terminalu:

nvram boot-args = "serverperfmode = 1 ncl = 262144"

Następnie uruchom ponownie. Po ponownym uruchomieniu sprawdź parametr na terminalu za pomocą nvram -p

Marcelo Ferreira
źródło
Oba te argumenty rozruchowe są związane z wydajnością sieci i nie mają nic wspólnego z podpisywaniem kext.
rgov