Намагаючись встановити boot-args з nvram, отримує "загальну помилку" на Sierra


14

Я намагаюся тимчасово відключити виконання підпису KEX на своєму MBP, оскільки клієнт VPN моєї компанії (GlobalProtect) зараз не перевіряє підпис. Це почалося вчора, коли я вчора зробив оновлення ОС до Сьєрри.

Рішення повинно виконувати цю команду:

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, але це зовсім інша річ ....
Michael Oryl

ах, добре - зроблять. Я не був певний, але це здавалося актуальним.
Tetsujin

Відповіді:


8

Як повідомляє Apple KB: Підготуйте свою установу до iOS 10 та macOS Sierra

... ви повинні використовувати команду nvram, щоб правильно встановити змінну NVRAM завантажувальної аргументи. Починаючи з macOS Sierra, для запуску цієї команди ви повинні бути завантажені до розділу відновлення.


Це не спрацювало з моєю Сьєррою. Однак csrutilваріант нижче!
eduncan911

9

Заборона підпису kext була інтегрована в Захист системної цілісності, починаючи з El Capitan, і в результаті старий прапор відключення більше не працює. Але є новий спосіб зробити це: завантажитися у режимі відновлення та запустити команду csrutil enable --without kext. Я не перевіряв цього, але я розумію, що це вимкне вимоги kext, а решту SIP увімкнено. Якщо цього не зробити, спробуйте csrutil disableповністю вимкнути SIP.


Я вважаю, що це запущене csrutil enableзнову ще раз включить його для кексту?
eduncan911

@ eduncan911 Я спеціально не тестував, але це має робити. Якщо ви сумніваєтесь, використовуйте csrutil statusдля перевірки. Див . Примітку розробника Apple про Налаштування захисту цілісності системи .
Гордон Девіссон

3

Я отримав аналогічну проблему і вирішив за допомогою наведеного вище рішення. Дякую ..

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

    csrutil enable --without kext
    

    і натисніть Enter.

  4. Потім перезавантажте Mac.

-3

Це потрібно застосувати, коли у режимі відновлення. Увійдіть у режим відновлення та застосуйте в терміналі наступне:

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

Потім перезавантажте. Після перезавантаження перевірте параметр на терміналі через nvram -p


Обидва цих завантажувальних аргументів пов'язані з продуктивністю мережі і не мають нічого спільного з підписом kext.
rgov
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.