Попытка установить boot-args с помощью nvram приводит к «общей ошибке» в Sierra

14

Я пытаюсь временно отключить принудительное использование подписи KEX на своем MBP, поскольку VPN-клиент моей компании (GlobalProtect) сейчас не проходит проверку подписи. Это началось вчера, когда я вчера сделал обновление ОС до Sierra.

Решением должно быть выполнение этой команды:

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

Проблема в том, что я получаю следующий ответ, и я не могу понять, что это значит или что с этим делать (то есть я тоже не могу подключиться к сети моей компании).

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

Есть ли у кого-нибудь идеи о вещах, которые я мог бы попробовать или иначе рассмотреть, чтобы отследить проблему?

Спасибо.

Майкл Орил
источник
1
Согласно support.apple.com/en-gb/HT206871, похоже, что вам нужно загрузиться в Recovery, чтобы это изменить
Tetsujin
Это было действительно то, что было необходимо. Если вы хотите опубликовать ответ, я буду рад принять его. К сожалению, настройки не устранили мою проблему с VPN, но это совсем другое дело ...
Майкл Орил,
ах, хорошо - сделаем. Я не был уверен, но это казалось актуальным.
Тецудзин

Ответы:

8

Согласно Apple KB: подготовьте ваше заведение для iOS 10 и macOS Sierra

... вы должны использовать команду nvram, чтобы правильно установить переменную boot-args NVRAM. Начиная с macOS Sierra, вы должны загрузиться в раздел восстановления, чтобы выполнить эту команду.

Tetsujin
источник
Это не сработало с моей Сьеррой. Тем не менее, csrutilвариант ниже сделал!
eduncan911
9

Ограничение подписания kext было интегрировано в защиту целостности системы, начиная с El Capitan, и в результате старый флаг отключения больше не работает. Но есть новый способ сделать это: загрузиться в режиме восстановления и запустить команду csrutil enable --without kext. Я не тестировал его, но, насколько я понимаю, это приведет к отключению требований kext, при этом оставшаяся часть SIP будет включена. Если этого не происходит, попробуйте csrutil disableполностью отключить SIP.

Гордон Дэвиссон
источник
Я запустил его, просто csrutil enableснова включу его для kext?
eduncan911
@ eduncan911 Я специально не тестировал, но это нужно сделать. Если есть сомнения, используйте csrutil statusдля проверки. См . Примечание разработчика Apple по настройке защиты целостности системы .
Гордон Дэвиссон
3

Я получил подобную проблему и решил с помощью вышеупомянутого решения. Спасибо ..

  1. Войдите в режим восстановления, перезапустив и удерживая +, Rпока не появится логотип Apple.
  2. В верхнем меню нажмите Utilities > Terminal.
  3. В окне терминала введите:

    csrutil enable --without kext
    

    и нажмите Enter.

  4. Затем перезагрузите Mac.
Sai
источник
-3

Вы должны применить это, когда в режиме восстановления. Войдите в режим восстановления и затем примените следующее в терминале:

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

Затем перезагрузите компьютер. После перезагрузки проверьте параметр на терминале через nvram -p

Марсело Феррейра
источник
Оба эти загрузочных аргумента связаны с производительностью сети и не имеют ничего общего с подписью kext.
rgov