Если вы являетесь пользователем Parallels Desktop (или используете другое приложение, требующее сторонних системных расширений), то вы наверняка видели сообщения от macOS и Parallels Desktop с надписью «Системное расширение заблокировано».
Так что же это такое — системное расширение, и почему операционная система его блокирует? Это опасно? Довольно логичные вопросы для рядового пользователя, которые частенько задают нашим инженерам технической поддержки Parallels. В этом посте я постараюсь максимально подробно и доступно объяснить эту ситуацию.
В начале относительно короткий ответ о том, почему Parallels Desktop использует системные расширения, а затем последует более подробная информация.
- Parallels Desktop использует аппаратную технологию гипервизора (Intel VT-x hypervisor) для создания высокопроизводительной виртуальной машины, будь то Windows, Linux, macOS или другие операционные системы.
- Для управления гипервизором, система должна иметь драйвер, которые в macOS называются system extensions (ранее kernel extensions) — расширение (ядра) системы.
- В macOS существует два типа гипервизора, которые может использовать Parallels Desktop: встроенный гипервизор Apple или собственный гипервизор Parallels.
- Проприетарный гипервизор Parallels реализован как расширение системы. Системные расширения в macOS позволяют разработчикам глубоко интегрироваться в систему macOS для достижения лучшей производительности или предоставления некоторых уникальных функций.
- Когда Parallels Desktop пытается загрузить системные расширения гипервизора Parallels, macOS предлагает пользователю «разрешить» это событие (загрузку).
- Системные расширения имеют повышенные привилегии, и если они поступают из ненадежного источника, могут быть использованы злонамеренно. Итак, это мера безопасности, аналогичная тому, как приложения вашего телефона запрашивают доступ к камере.
- Если вы загрузили Parallels Desktop с сайта parallels.com, а системное расширение подписано «Parallels International GmbH», то вы в надежных руках.
- Parallels рекомендует использовать встроенный гипервизор Apple. Таким образом, macOS не будет беспокоить вас утверждением расширения системы или необходимостью перезагрузки.
- Однако, если вам нужно использовать функцию вложенной виртуализации (Nested virtualization) или у вас уникальная ситуация, при которой гипервизор Parallels показывает более высокие показатели производительности, вы можете продолжать использовать гипервизор Parallels.
- Чтобы изменить тип гипервизора, сначала необходимо выключить (остановить) виртуальную машину. Обратите внимание, что для этого вам может потребоваться запустить или возобновить работу виртуальной машины и одобрить расширение системы гипервизора Parallels.
- Когда ваша виртуальная машина остановлена, перейдите в раздел «Конфигурация виртуальной машины»> «Оборудование»> «ЦП и память»> «Дополнительные настройки»> щелкните раскрывающийся список «Гипервизор»> выберите «Apple» или «Parallels» соответственно.
- Если у вас несколько виртуальных машин, вам может потребоваться изменить настройку для каждой из них.
А теперь, если вы еще не заскучали, я хотел бы рассказать вам немного больше об этой истории.
Более десяти лет компания Parallels разрабатывала проприетарные драйверы (они же «системные расширения») для запуска Windows и других ОС поверх macOS. Эти драйверы сделали Parallels Desktop лучшим на рынке: самым быстрым и технологичным решением для виртуализации рабочего стола (desktop virtualization).
В то же время, в течение нескольких лет, Apple двигалась к тому, чтобы сделать macOS самой безопасной и надежной ОС для настольных ПК (и я должен признать, Apple преуспела во многих отношениях). Один из ключевых аспектов — не позволять разработчикам вторгаться в ядроОС, загружая эти самые расширения (также известные как «kexts»), поскольку те, у кого есть доступ к ядру, могут делать вещи в самом сердце вашего компьютера Mac, что может оказаться довольно опасным.
Для этого Apple должна заменить сторонние расширения ядра на собственные системные API, которые в конечном итоге должны обеспечить те же функции продукта, а это огромная инженерная работа даже для такого крупного предприятия, как Apple.
С 2017 года, с выпуском macOS High Sierra версии 10.13, Apple начала автоматически блокировать сторонние «кексты» (как мы их называем на нашем сленге), и с тех пор пользователям приходится разрешать их загрузку вручную.
В марте 2020 года с выпуском macOS Catalina версии 10.15.4, Apple начала предупреждать пользователей, что некоторые из их приложений (которые используют устаревшее системное расширение) будут «несовместимы с будущей версией macOS» (читай «с macOS Big Sur 11»).
В июне 2020 года, во время всемирной конференции для разработчиков на платформах Apple (WWDC-20) компания опубликовала следующее утверждение (всё еще перевод с Английского):
«Системные расширения повышают надежность и безопасность macOS, а устаревшие расширения ядра не загружаются по умолчанию в macOS Big Sur». В конце концов, чтобы сделать Parallels Desktop полностью совместимым с новой macOS Big Sur 11, команда инженеров Parallels потратила годы на перестройку Parallels Desktop и его функций с использованием новых системных API macOS.
Эта обширная и трудоемкая работа привела к появлению совершенно нового Parallels Desktop 16, специально предназначенного для работы и интеграции с новыми технологиями macOS Big Sur, и в то же время обеспечивающего повышение производительности и совместимости на благо пользователей Parallels Desktop.
Эта схема ниже наглядно описывает разницу между режимами Parallels Desktop по умолчанию в соответствующей версии macOS. Старый дизайн Parallels Desktop с использованием системных расширений Parallels показан слева, а недавно изобретенный Parallels Desktop 16, использующий API-интерфейсы macOS Big Sur 11, показан справа.
На данный момент, наша команда продолжает работать над поддержкой гипервизоров Parallels и Apple и продолжает сотрудничество с Apple по внедрению остальных функций Parallels Hypervisor в Apple Hypervisor. Мы рекомендуем использовать гипервизор Apple, и если вы заметите разницу между гипервизорами Apple и Parallels для вашего варианта использования, сообщите нам об этом.
Если у вас остались вопросы – пишите. Спасибо за внимание!
Автор: DmitryGSM20