Mencoba mengatur boot-args dengan nvram mendapat "kesalahan umum" pada Sierra

14

Saya mencoba untuk sementara waktu menonaktifkan penegakan penandatanganan KEX pada MBP saya karena klien VPN perusahaan saya (GlobalProtect) gagal memeriksa tanda tangan sekarang. Ini dimulai kemarin ketika saya melakukan upgrade OS ke Sierra kemarin.

Solusinya harus menjalankan perintah ini:

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

Masalahnya adalah bahwa saya mendapatkan respons berikut, dan saya tidak tahu apa artinya atau apa yang harus dilakukan tentang hal itu (artinya saya tidak dapat terhubung ke jaringan perusahaan saya juga).

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

Adakah yang punya ide tentang hal-hal yang bisa saya coba atau lihat untuk melacak masalahnya?

Terima kasih.

Michael Oryl
sumber
1
Menurut support.apple.com/en-gb/HT206871 , sepertinya Anda perlu di-boot ke Recovery untuk mengubahnya
Tetsujin
Memang itulah yang diperlukan. Jika Anda ingin memposting jawaban, saya akan senang menerimanya. Sayangnya, pengaturan tidak memperbaiki masalah VPN saya, tapi itu hal lain sama sekali ....
Michael Oryl
ah, oke - akan dilakukan. Saya tidak yakin tetapi tampaknya relevan.
Tetsujin

Jawaban:

8

Menurut Apple KB: Persiapkan institusi Anda untuk iOS 10 dan macOS Sierra

... Anda harus menggunakan perintah nvram untuk mengatur dengan benar variabel NVRAM boot-args. Dimulai dengan macOS Sierra, Anda harus boot ke partisi pemulihan untuk menjalankan perintah ini.

Tetsujin
sumber
Ini tidak berhasil dengan Sierra saya. Namun, csrutilopsi di bawah ini berhasil!
eduncan911
9

Pembatasan penandatanganan kext diintegrasikan ke dalam Perlindungan Integritas Sistem yang dimulai di El Capitan, dan sebagai hasilnya, tanda menonaktifkan yang lama tidak lagi berfungsi. Tetapi ada cara baru untuk melakukannya: boot dalam mode pemulihan, dan jalankan perintah csrutil enable --without kext. Saya belum mengujinya, tetapi pemahaman saya adalah ini akan mematikan persyaratan kext, sementara membiarkan sisa SIP diaktifkan. Jika itu tidak berhasil, cobalah csrutil disableuntuk mematikan SIP sepenuhnya.

Gordon Davisson
sumber
Saya menjalankannya csrutil enablelagi akan mengaktifkannya kembali untuk kext?
eduncan911
@ eduncan911 Saya belum diuji secara khusus, tetapi itu harus dilakukan. Jika ragu, gunakan csrutil statusuntuk memeriksa. Lihat catatan pengembang Apple tentang Konfigurasi Perlindungan Integritas Sistem .
Gordon Davisson
3

Saya mendapatkan masalah serupa dan menyelesaikannya dengan bantuan di atas. Terima kasih ..

  1. Masuk ke Mode Pemulihan dengan memulai kembali dan menahan + Rhingga logo Apple muncul.
  2. Di menu atas klik Utilities > Terminal.
  3. Di jendela jenis Terminal:

    csrutil enable --without kext
    

    dan tekan Enter.

  4. Kemudian restart Mac.
Sai
sumber
-3

Anda harus menerapkannya saat dalam mode pemulihan. Masuk dalam mode Pemulihan dan kemudian terapkan yang berikut di terminal:

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

Kemudian, reboot. Setelah reboot, periksa parameter pada terminal melalui nvram -p

Marcelo Ferreira
sumber
Kedua boot-arg ini terkait dengan kinerja jaringan dan tidak ada hubungannya dengan penandatanganan kext.
rgov