Как отключить SIP, если Big Sur или более поздняя macOS установлена ​​на виртуальной машине VMware Fusion Player

У меня установлен Big Sur на виртуальной машине VMware Fusion Player. Я хочу отключить SIP. С реальным физическим Mac обычный метод будет включать в себя сначала загрузку внутреннего восстановления macOS, а затем ввод команды, приведенной ниже, в окне терминала.

csrutil disable

Однако загрузка во внутреннее восстановление macOS не представляется возможной. Удержание комбинации клавиш + Rпри запуске не работает. Диспетчер запуска Mac не существует. Я могу перезагрузиться на прошивку, но Recoveryнет тома, boot.efiс которого можно выбрать загрузку.

Я понимаю, что настройка SIP хранится в 4-байтовой переменной NVRAM, указанной ниже.

7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config

Микропрограмма позволяет загружать встроенную оболочку EFI 1.0. Однако в этой оболочке нет команд, которые могут изменить эту переменную. На самом деле переменной в настоящее время даже не существует в NVRAM виртуальной машины. Я попытался ввести команду ниже в окне терминала macOS.

 sudo nvram csr-active-config=%7f%00%00%00

В результате появилось сообщение об ошибке, приведенное ниже.

nvram: Error setting variable - 'csr-active-config': (iokit/common) not permitted

Какие процедуры можно использовать для отключения SIP?

Я использую текущую бесплатную версию VMware Fusion Player (версия 12.1.0).

Статистика хоста Статистика гостей
iMac (21,5 дюйма, конец 2013 г.) Мак
macOS Каталина версии 10.15.7 macOS Big Sur версии 11.6.1
Память: 16 ГБ Память: 4 ГБ
Четырехъядерный Intel Core i5 2 ядра процессора
2,9 ГГц 2,76 ГГц
USB 3 (5 Гбит/с) Твердотельный накопитель Samsung T7 Жесткий диск SATA

Ниже приведены ссылки на сайты с процедурами, которые либо мне не удалось заставить работать, либо работают только с предыдущими версиями macOS.

Могу ли я инициировать перезагрузку MacOS в режиме восстановления исключительно из командной строки?
как отключить SIP (защита целостности системы) в vmware fusion 12 для macOS big sur?

У меня нет VMware, поэтому я не могу попробовать, но вы видели ответ в: community.vmware.com/t5/VMware-Fusion-Discussions/…
Проблема со связанным ответом, который вы предоставляете, заключается в отсутствии boot.efiфайла. Я разместил это в своем вопросе. В предыдущих версиях macOS этот boot.efiфайл есть, но не в Big Sur.
Извините, вот еще что вы можете попробовать: community.vmware.com/t5/VMware-Fusion-Discussions/…
Я знал об этой ссылке. По сути, вы создаете установщик macOS либо на виртуальном USB-накопителе, либо на виртуальном оптическом носителе. Затем загрузитесь с диска или носителя и откройте окно терминала, где csrutil disableможно ввести команду. Процедура создания накопителя и носителя сложна, а время, необходимое для загрузки, довольно велико. Я надеялся на что-то более простое и быстрое. Вы можете опубликовать как ответ, но я бы посчитал это ответом в крайнем случае.
VMware Fusion должен создать временный установщик на втором виртуальном жестком диске, и я всегда делаю копию исходного установщика и виртуальной машины, выбрав «Настроить», чтобы установка не начиналась сразу. Затем позже этот виртуальный жесткий диск установщика можно добавить обратно в виртуальную машину, чтобы при необходимости получить доступ к восстановлению macOS .
До этого момента у меня не было причин заходить в macOS Recovery с виртуальной машины macOS Big Sur . В предыдущих выпусках macOS я использовал составную команду sudo nvram "recovery-boot-mode=unused"; sleep 2; sudo reboot из Терминала для перезагрузки в MacOS Recovery . Благодаря вашему вопросу и очень интересному ответу, я установил виртуальный жесткий диск для восстановления macOS из файлов Temporary Installation Source Disk.vmdk и Temporary Installation Source Disk.dmg, созданных VMware Fusion .
Я отредактировал эти файлы, поэтому в Дисковой утилите при обычной загрузке они отображаются как восстановление macOS вместо исходного имени. Я также добавил его UUID , чтобы /etc/fstabон был доступен только для чтения и не монтировался при обычной загрузке. Я добавил его как общий виртуальный жесткий диск, чтобы использовать его на всех моих виртуальных машинах MacOS Big Sur и минимизировать использование дискового пространства хоста . Не умаляйте вашего интересного ответа, но для меня это продвижение вперед, IMO, является гораздо лучшим решением для таких проблем. (Как при загрузке macOS Recovery , так и при отключении SIP .)
Вы должны опубликовать эти комментарии в качестве ответа. Я не думаю, что создание копии временного установочного диска было бы решением, о котором большинство пользователей подумали бы самостоятельно. Загрузка с установочного диска macOS — допустимый способ отключить SIP.

Ответы (8)

Выполните следующие действия, чтобы отключить защиту целостности системы (SIP).

  1. Начните с загрузки macOS Big Sur и открытия окна приложения «Терминал». Затем введите команду, указанную ниже. Это создаст переменную NVRAM с желаемым значением, но с ошибкой в ​​имени переменной. Эта опечатка будет исправлена ​​позже.

    sudo nvram Asr-active-config=%7f%00%00%00
    
  2. Выключите macOS. В Settingокне виртуальной машины выберите Startup Disk. Удерживая optionклавишу, выберите Restart to Firmware…кнопку, как показано ниже.

    Выберите EFI Internal Shell, как показано ниже.

    При желании введите команду ниже, чтобы полностью использовать окно.

    mode 128 40
    
  3. Установите текущую файловую систему на том EFI. Это должна быть отображаемая fs0файловая система, поэтому вы должны ввести следующее

    fs0:
    

    Затем проверьте метку, EFIвведя команду ниже.

    vol
    

    Если не прав, то попробуй fs1:, fs2:, fs3:, ....

  4. Введите команду ниже, чтобы сохранить Asr-active-configпеременную в файл csr.bin.

    dmpstore Asr-active-config -s csr.bin
    

    Примечание. Для получения дополнительной информации об этой команде введите help -b dmpstore.

    Затем введите команду ниже, чтобы отредактировать csr.binфайл. Вам нужно будет исправить написание, заменив букву Aна букву c. Это можно сделать, набрав 63над 41в первой строке.

    hexedit csr.bin
    

    Исправленный файл будет выглядеть так, как показано ниже. Когда закончите, сохраните изменения и выйдите.

    Примечание. Значение переменной хранится в последних 4 байтах этого файла.

    Введите команду ниже, чтобы создать csr-active-configпеременную в NVRAM.

    dmpstore -l csr.bin
    

    SIP теперь будет отключен при следующей загрузке Big Sur. При желании введите команду ниже, чтобы удалить Asr-active-configпеременную из NVRAM.

    dmpstore -d Asr-active-config
    
  5. Введите команду ниже, чтобы выйти из командной оболочки.

    exit
    

    В меню Boot Managerвыберите Mac OS Xдля загрузки Big Sur.

Формат csr.binфайла

Смещение в шестнадцатеричном формате Размер в десятичном формате Описание
00-03 4 Длина имени переменной
04-27 36 Имя переменной хранится в виде строки UTF-16LE с нулевым завершением
28-37 16 GUID переменной
38-3Б 4 Атрибуты хранятся в виде 4-байтового целого числа (см. ниже)
3С-3Ф 4 Длина данных
40-43 4 4-байтовое целое число, содержащее данные
Атрибут Ценить Описание
НВ 1 Энергонезависимый
БС 2 Доступ к службе загрузки
РТ 4 Доступ во время выполнения
HR 8 Запись аппаратной ошибки
Ух ты. Это безумие. Почему, черт возьми, VMWare не предоставляет более простой способ сделать это?!
Вообще что sudo nvram Asr-active-config=%7f%00%00%00-нибудь делает?
@Wowfunhappy: есть более простой способ. Вы можете установить оболочку UEFI (v2.2). В этой оболочке есть setvarкоманда, которая может изменять переменные NVRAM, используемые macOS. В настоящее время Fusion Player имеет встроенную оболочку EFI (v1.0). В этой оболочке есть setкоманда, которая может изменять только переменные среды. Нет setvarкоманды. Кстати, VirtualBox имеет встроенную оболочку UEFI (v2.2).
@Wowfunhappy: sudo nvram Asr-active-config=%7f%00%00%00команда создает переменную с именем с ошибкой. Это было необходимо, потому что nvramкомандование Биг-Сура не примет это csr-active-configимя. Эта опечатка будет исправлена ​​после вызова встроенной оболочки EFI.

Хотя этот ответ действительно предоставляет метод отключения SIP, я считаю этот метод слишком сложным, если единственная цель — отключить SIP. Кроме того, время, необходимое для загрузки, больше, чем загрузка в оболочке EFI или UEFI. Однако, если есть другие задачи, которые также необходимо выполнить из среды восстановления macOS, этот метод может быть предпочтительнее более простых методов.

На реальном Mac SIP можно отключить, введя команду csrutil disableв окне терминала при загрузке с установщика macOS с флэш-накопителя USB. У Apple есть веб-сайт с инструкциями по созданию этого установщика macOS на USB-накопителе. VMware Fusion Player не предлагает виртуальные USB-накопители. Однако можно заменить виртуальный второй внутренний диск. Шаги, необходимые для создания этого виртуального диска, приведены ниже.

Примечание. Для лучшего просмотра изображений щелкните изображение или откройте его в новом окне.

  1. Получите приложение-установщик: еслиInstall macOS Big Surприложение еще не существует вApplicationsпапке на хосте, загрузите приложение или перенесите копию с другого Mac. В этом ответе предполагается, что версия macOS — 11.6.1.

  2. Создайте образ установочного диска: на хосте откройте Дисковую утилиту. В строке меню Дисковой утилиты выберитеFile>New Image>Blank Image…. Во всплывающем окне выберите следующее, затем выберитеSaveкнопку.

    После успешного завершения операции создания образа диска нажмите кнопку Done. Затем откройте окно приложения «Терминал» на хосте и введите команду ниже.

    sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
    

    Когда вы закончите создание Install macOS Big Surтома, используйте Дисковую утилиту, чтобы извлечь все образы дисков. Закройте приложения «Дисковая утилита» и «Терминал».

  3. Настройте общий доступ: при выключенном клиенте откройтеSharingпанельSettingsдля клиента. Снимите флажок с меткойEnable Shared Foldersи добавьте своюDesktopпапку, как показано ниже.

  4. Создайте новый внутренний жесткий диск: когда клиент все еще выключен, добавьте новый жесткий диск. Используйте настройки, показанные ниже.

  5. Отделите новый жесткий диск от клиента: это необязательный шаг, который полезен, если вы хотите поделиться новым жестким диском с другими виртуальными машинами.

    Примечание. Этот общий доступ предполагает, что только один клиент одновременно использует этот диск. В противном случае этот диск должен быть смонтирован только для чтения. (Это может быть возможно путем редактирования /etc/fstabфайла.

    Сначала удалите новый жесткий диск из клиента. Когда появится всплывающее окно ниже, нажмите Keep Fileкнопку.

    Используйте приложение Finder, чтобы переместить Virtual Disk 2.vmdkфайл из папки клиента в родительскую папку с именем Virtual Machines. Далее переименуйте файл в BigSur11.6.1Installer.vmdk. Наконец, добавьте этот новый жесткий диск в клиент как существующий жесткий диск. При выборе файла убедитесь, что Share this virtual disk with the virtual machine that created itвыбрана кнопка, как показано ниже.

  6. Инициализируйте новый жесткий диск: запустите клиентскую виртуальную машину. Когда появится всплывающее окно ниже, выберитеInitialize…кнопку. Должно открыться приложение Дисковой утилиты.

    Выделите новый неинициализированный VMware Virtual SATA Hard Drive Mediaи нажмите Eraseкнопку. Сделайте выбор, как показано ниже, затем нажмите Eraseкнопку.

    Выйдите из Дисковой утилиты.

  7. Установите VMware Tools: если VMware Tools уже установлены, перейдите к следующему шагу. ВVMware Fusionстроке меню выберитеVirtual Machine>Install VMware Tools. Приступайте к установке. Если одно из двух окон ниже запрашиваетRestart, не делайте этого.

    Системное ПО от разработчика "VMware, Inc." будет заблокирована от загрузки. Когда это произойдет, вы должны выбрать Allowкнопку на Security & Privacyпанели Системных настроек. После этого, когда окно, показанное ниже, запрашивает Restart, вы должны сделать это.

  8. Восстановление на новый диск: в клиенте откройте Desktopпапку, хранящуюся на хосте, затем откройте BigSur11.6.1Installer.dmgфайл. На клиенте откройте приложение «Дисковая утилита» и выделите MyVolumeтом. В верхней части окна Дисковой утилиты выберите Restore. Во всплывающем окне выберите восстановление из Install macOS Big Sur, затем нажмите Restoreкнопку .

    Примечание. На моем Mac восстановление заняло около 8 минут.

    Когда закончите, выберите Doneкнопку. Из Дисковой утилиты извлеките образ диска с Install macOS Big Surтомом, затем закройте Дисковую утилиту. Закройте все открытые окна Finder.

  9. Очистка: с хоста переместитеBigSur11.6.1Installer.dmgфайл изDesktopпапки в корзину. При желании восстановите общие папки до исходного состояния.

Чтобы загрузиться с нового установочного диска macOS, выполните следующие действия.

  1. Выключите клиент.
  2. На хосте откройте Startup Diskпанель Settingsдля клиента.
  3. Выделите значок жесткого диска с надписью Hard Disk 2 (SATA).
  4. Выберите Restart…кнопку.

Альтернативный способ загрузки в режиме восстановления с помощью Big Sur

Просто хочу поделиться своей пробой после прочтения первого поста Дэвида Андерсона, который помог мне найти это.

Среда немного отличается от VMW Fusion, собственно она такая:
Гостевая ОС: Big Sur 11.6
Хост ОС: Big Sur 11.6 на MBA 2020 (Intel)
Гипервизор: Virtual Box 6.1.28

Я пытался всеми способами загрузиться в режиме восстановления, используя nvram или через внутреннюю оболочку EFI, но все безуспешно (в моей среде).

  • sudo nvram "recovery-boot-mode=unused"==> С этой старой (Catalina) переменной я даже получаю «Ошибка установки переменной» в Big Sur.
  • sudo nvram internet-recovery-mode=RecoveryModeDisk==> при перезагрузке GuestOS кажется, что переменная игнорируется, поскольку MBA фактически не загружается в режиме восстановления.
  • dmpstore -l csr.bin==> возвращает «Подходящая переменная не найдена».

А также загрузившись во внутренней оболочке EFI и ища CoreServices/boot.efi, я просмотрел все FS N : записи таблицы сопоставления (все тома/разделы локального внутреннего диска MBA), но безуспешно. Кажется, System/Library/CoreServices скрыты или зашифрованы (SSV?)

Затем, как предложил t0rr3sp3dr0 здесь, в GitHub , попытался найти CoreServices boot.efi таким образом, и я сделал следующее:

  • В VirtualBox в разделе «Настройки виртуальной машины» —> «Хранилище» смонтируйте установочный образ Big Sur. И отметьте опцию «Live CD/DVD».
  • Запустите виртуальную машину и нажмите клавишу ESC.
  • Выберите «Диспетчер загрузки» —> «Внутренняя оболочка EFI».
  • Найдите раздел восстановления в моей среде под FS7, введите:
    FS7:
    vol
    для проверки наличия HFS+.
  • Тип:
    cd System/Library/CoreServices
    boot.efi
    ENTER

введите описание изображения здесь

Наконец-то моя гостевая ОС (BigSur 11.6) загружается в режиме восстановления!
Надежда может помочь.

Ваш ответ — для загрузки оптической версии установщика macOS Big Sur в VirtualBox. Мой вопрос заключается в том, как отключить SIP при использовании VMware. Не вижу актуальности вашего ответа. Вы можете опубликовать свой собственный вопрос, а затем опубликовать этот ответ на свой вопрос.
Вы знаете, что VirtualBox не полностью поддерживает Big Sur, тогда как VMware полностью поддерживает Big Sur. Кроме того, VMware теперь является бесплатным продуктом при использовании в личных целях. Кроме того, вы можете установить оба продукта одновременно.
В своем ответе вы сначала загружаетесь в UEFI Interactive Shell v2.2, а затем загружаетесь с оптического носителя. Почему бы просто не отключить SIP при загрузке оболочки и не использовать оптический носитель? Инструкцию я уже выкладывал еще в марте. Смотрите этот ответ . Поскольку в VirtualBox уже есть Shell v2.2, rEFInd не нужен.
Уважаемый DA, большое спасибо за комментарии, и я просто искал что-то действительно близкое к вашим вопросам и ответам, как вы заявили в своем вопросе, « но том восстановления не имеет boot.efi, который можно выбрать для загрузки». . И это тоже 2 пункта у меня тоже были: отключить SIP и Recovery Boot. И ваши посты великолепны, они помогли мне и многим другим людям.
Единственное, что я управляю этим с VirtualBox, но основные вопросы те же. Если вы предпочитаете, я отделюсь и напишу вопросы и ответы сам. Когда вы ищете что-то не всегда, вы найдете конкретный пост для вашего конкретного ответа, мое намерение состояло только в том, чтобы поделиться своей небольшой пробой, надеясь, что это может кому-то помочь. Да, я в курсе вашего комментария к VMW. На самом деле в настоящее время я использую VMW Workstation в Windows уже много лет, но у меня пока нет Fusion в macOS, извините.
Наконец, да, конечно, я увидел ваш мартовский пост , и он отлично сработал! Просто для информации, установив этот псевдоним в оболочке UEFI и загрузившись в «Mac OS X», я позже получаю из командной строки: Гостевая ОС> статус csrutil Статус защиты целостности системы: отключен.
Это отлично подходит для отключения SIP без установки загрузочного образа «Big Sur», как вы просили. В любом случае, в будущем нужно пропустить шаг, чтобы перейти в режим загрузки в режиме восстановления, потому что я не смог найти никаких CoreServices/boot.efi без использования внешнего загрузочного образа.
Я не предлагал вам отделить свой ответ от этого вопроса. Я просто подумал, что другим будет легче найти ваш ответ, если будет опубликован новый вопрос. Вы можете оставить этот ответ здесь и на другом вопросе. Или оставьте краткий ответ на один вопрос со ссылкой на этот ответ, размещенный на другом вопросе.

Этот ответ основан на первой установке UEFI Shell v2.2. См. этот ответ для получения инструкций о том, как использовать rEFInd для вызова оболочки UEFI.

Выберите одну из двух отмеченных ниже процедур, чтобы установить csrutilпсевдоним оболочки UEFI.

  • Введите приведенную ниже команду в оболочке UEFI. Поскольку этот псевдоним является энергонезависимым, команду нужно будет ввести только один раз.

     alias csrutil "setvar csr-active-config -nv -rt -bs -guid 7C436110-AB2A-4BBB-A880-FE41995C9F82"
    
  • Установите startup.nshфайл, как описано в указанном ответе . Этот скрипт будет создавать изменчивую форму псевдонима, показанную выше, каждый раз, когда вызывается оболочка UEFI.

Чтобы изменить конфигурацию защиты целостности системы, введите команды в столбце «Эквивалент оболочки UEFI» ниже в оболочке UEFI.

Команда macOS Эквивалент оболочки UEFI Описание
csrutil clear csrutil = Очистите существующую конфигурацию.
csrutil disable csrutil =0x0000007f Отключите защиту на машине.
csrutil enable csrutil =0x00000010 Включите защиту на машине.
csrutil status csrutil Показать текущую конфигурацию.

Примечание. После csr-active-configустановки переменной вы можете включить/отключить SIP непосредственно из rEFInd.

Биты переменной csr-active-configопределены в csr.hфайле. Версию этого файла можно найти на opensource.apple.com . Этот поток на developer.apple.com определяет некоторые дополнительные csrutilаргументы для enableкоманды. Связь между этими битами и csrutilкомандами выбора и аргументами приведена в таблице ниже для macOS Big Sur версии 11.6.1.

Примечание. Таблица ниже также относится к macOS Monterey версии 12.0.1.


команды csrutil
с
необязательными
аргументами
csr-
active-
config
CSR_
ALLOW_
UNTRUSTED_
KEXTS
= 0x001
CSR_
РАЗРЕШЕНО_
НЕОГРАНИЧЕННО_
FS
= 0x002
CSR_
ALLOW_
TASK_
FOR_
PID
= 0x004
CSR_РАЗРЕШИТЬ_ЯДРО_ОТЛАДЧИК = 0x008
_ _


CSR_
РАЗРЕШИТЬ_
APPLE_
ВНУТРЕННИЙ
= 0x010
CSR_
РАЗРЕШЕНО_
НЕОГРАНИЧЕННО_
DTRACE
= 0x020
CSR_
РАЗРЕШЕНО_
НЕОГРАНИЧЕННО_
NVRAM
= 0x040
CSR_
РАЗРЕШИТЬ_
УСТРОЙСТВО_
КОНФИГУРАЦИЯ
= 0x080
CSR_
ALLOW_
ANY_
RECOVERY_
OS
= 0x100
CSR_
ALLOW_
UNAPPROVED_
KEXTS
= 0x200
CSR_
ALLOW_
EXECUTABLE_
POLICY_
OVERRIDE
= 0x400
давать возможность 0x00000010
включить ‑‑нет‑внутренний 0x00000000
включить --без
kext
0x00000019
включить --без
fs
0x00000012
включить — без
отладки
0x00000014
включить --без
dtrace
0x00000030
включить --без
nvram
0x00000050
запрещать 0x0000007F

 

почему enable - без fs и enable - без отладки - это одно и то же? Не следует ли включать --без отладки 0x00000018?
@startergo: я обновил свой ответ для macOS 11.6.1. В результате csrutil enable --without debugтеперь car-active-configустанавливается значение 0x00000014. Я изменил таблицу, чтобы отразить это.

У меня была такая же проблема, и я несколько раз уходил от ярости. :)

  1. В настройках VMWare создайте новый жесткий диск объемом не менее 16 ГБ и подключите его к гостевой виртуальной машине macOS.

  2. Загрузите виртуальную машину macOS и отформатируйте новый жесткий диск в гостевой виртуальной машине macOS как JHFS+ (не APFS), который также известен как «Mac OS Extended (в журнале)» в формате GUID.

  3. Загрузите приложение Install Big Sur/Monterey etc из App Store.

  4. Создайте загрузочный диск восстановления на диске, созданном на шаге 2, используя приведенные здесь инструкции ( https://support.apple.com/en-us/HT201372 ) на новом жестком диске.

  5. Выключите гостевую виртуальную машину macOS.

    В настройках виртуальной машины -> Загрузочный диск -> Выделите новый жесткий диск из шага 1, а затем нажмите кнопку Restart.

    ИЛИ

    Если вы используете рабочую станцию/проигрыватель VMWare, получите доступ к микропрограмме, отправив спам на клавишу Rили F12, и измените порядок загрузки, чтобы диск, созданный на шаге 2, был первым.

    Затем вы окажетесь в установщике, выберите свой язык, затем выберите терминал и войдите csrutil disable, и вы увидите сообщение с подтверждением, и БУМ, он выключен, и вы можете пролить несколько слез радости и насладиться эго. :)

  6. Перезапустите и войдите в прошивку с помощью клавиши Rили F12и измените порядок загрузки на исходные настройки.

Если у вас все еще есть проблемы, я могу попробовать сделать видео.

Не могу заставить работать "вход в прошивку клавишей R или F12" . Не проще ли будет удерживать нажатой клавишу выбора, а затем выбрать кнопку Restart to firmware...на панели «Загрузочный диск» в настройках?
Да, выберите любой метод, который работает для вас, чтобы войти в биос… ..перезагрузите прошивку или включите прошивку и т. д. и т. д. и т. д.

Много ОЧЕНЬ сложных ответов на этот вопрос, но у меня есть гораздо более простой способ сделать это.

Сначала загрузите загрузочный ISO-образ Big Sur из Интернета (их несколько в Интернет-архиве, выполните поиск). Затем в настройках оборудования CD/DVD (SATA) в настройках виртуальной машины установите для него значения «Подключено» и «Подключено при включении» и укажите загруженный образ ISO.

Затем, отключив виртуальную машину, перейдите в меню: VM — Power — Power on Firmware.

Примечание. Если вы используете бесплатную версию VMware Fusion Player, то «меню: VM — Power — Power on Firmware» не будет. Вместо этого перейдите на панель «Загрузочный диск» в настройках, нажмите и удерживайте клавишу option, затем выберите кнопку «Перезагрузить до прошивки…».

В прошивке выберите «Войти в настройки».

«Настроить параметры загрузки»

"Изменить порядок загрузки"

затем нажмите Enter и выберите EFI VMware Virtual SATA CDROM Drive (1.0), а затем нажмите знак «плюс», чтобы переместить его наверх.

«Зафиксировать изменения и выйти»

«Выйти из диспетчера обслуживания загрузки»

«Выключить систему»

Затем ваша виртуальная машина должна загрузиться в среду восстановления, и вы можете отключить или включить SIP с терминалом там.

И я обнаружил, что если вы находитесь в режиме восстановления и выбираете меню Apple «Загрузочный диск» и устанавливаете его обратно в свой обычный загрузочный образ, нет необходимости возвращаться в настройки прошивки ВМ, чтобы отменить первый вариант загрузки DVD.

Но я обнаружил, что ЛУЧШЕЕ, что можно сделать, это оставить параметр загрузки с компакт-диска установленным в прошивке и оставить ISO в папке вашего VMware, готовым к легкому доступу, и просто установить (или снять флажок) компакт-диск / DVD виртуальной машины " Подключаться при включении» всякий раз, когда вы хотите загрузиться в режиме восстановления (или нет).

Самый быстрый и рабочий способ сделать это напоминает ответ выше -

  • Начните с переменной с ошибкой. (Asr-active-config и т. д. в порядке). Оно написано с ошибкой и поэтому не защищено macOS.

  • На хосте отредактируйте файл NVRAM напрямую (!) - это намного проще, чем заходить в оболочку UEFI на гостевой машине и т. д. Даже vim здесь подойдет, поскольку в файле нет CRC. «Asr» будет UTF16, поэтому ищите A^@s^@r (нулевые терминаторы для uint16_t). Измените «A» на «c» с помощью функции vim «r» и сразу же запишите файл.

  • перезагрузить. сделанный

Как на практике работает «Редактировать файл NVRAM напрямую на хосте»? Где хранится этот файл, как его открыть vi?
Это должно быть в папке Virtual Machines.localized или там, где вы поместите виртуальную машину — рядом с файлом .vmx будет файл .nvram — его нужно отредактировать.

На всякий случай: я создал небольшой инструмент для облегчения такой операции.

Вы можете найти его на GitHub: https://github.com/javerous/vm-config.

Это должно быть так же просто, как сделать

vm-config change /path/to/vm.vmwarevm --csr-disable

для отключения SIP.

Это первая версия, поэтому в ней могут быть некоторые ошибки, но, судя по моим собственным тестам, она работает без сбоев. При этом вы можете использовать его только на резервной копии виртуальной машины.