# Почему OpenCore лучше Clover или других?

  • Поддерживаемая версия: 0.6.9

Этот раздел содержит вкратце то, почему сообщество переходит на OpenCore, и направлен на развеивание нескольких распространненых мифов в сообществе. Те, кто просто хочет компьютер с macOS, могут пропустить эту страницу.

# Фишки OpenCore

  • Больше ОС поддерживаются!
    • OpenCore теперь изначально поддерживает больше версий OS X и macOS без болезненных хаков, которые бы пришлось реализовать в Clover или Chameleon
    • Сюда включены ОС такие как 10.4 Tiger, и даже последние сборки 11 Big Sur!
  • В среднем, системы использующие OpenCore загружаются быстрее, чем системы, использующие Clover, за счёт меньшего ненужного патчинга
  • Лучшая общая стабильность, так как патчи могут быть более точными [конкретно направленными на исправление проблемы]:
  • Лучшая общая безопасность во многих формах:
    • Не нужно выключать System Integrity Protection (защита целостности системы; кратко - SIP)
    • Встроенная поддержка FileVault 2
    • Vaulting (opens new window) позволяет создавать снапшоты EFI, предотвращающие нежелательные модификации
    • Настоящая поддержка Secure Boot
      • Как UEFI, так и вариант Apple
  • Переключение в BootCamp и выбор загрузочного устройства поддерживается путем чтения переменных NVRAM, установленных загрузочным диском, прямо как на настоящем Mac.
  • Поддержка горячих клавиш при загрузке через boot.efi - удерживайте Option или ESC при запуске чтобы выбрать загрузочное устройство, Cmd+R чтобы войти в режим восстановления (Recovery) или Cmd+Opt+P+R чтобы сбросить память NVRAM.

# Поддержка ПО

Самая веская причина, по который кто-то может захотеть перейти с других загрузчиков - поддержка ПО:

# Инжекция кекстов

Для лучшего понимания системы инжекции кекстов, мы должны взглянуть как работает Clover:

  1. Патч SIP, отключающий его
  2. Патч для включения зомби-кода XNU для инжектирования кекстов
  3. Патчи состояния гонки с помощью инъекции кекстов
  4. Инжектирование кекстов
  5. Патчит SIP, для включения его

Примечания к методу использующий Clover:

  • Вызов зомби-кода XNU, который не использовался с 10.7 - серьёзно впечатляет, что Apple ещё не удалила этот код
    • Обновления ОС обычно ломают этот патч, как это было недавно с 10.14.4 и 10.15
  • Отключение SIP и попытки заново его включить; не думаю, что нужно говорить больше
  • Вероятно, он сломается с macOS 11.0 (Big Sur)
  • Поддержка OS X старых версий (10.5 и выше)

Теперь посмотрим на метод OpenCore:

  1. Берёт существующее "prelinked" ядро и кексты, готовые к инжекции
  2. Перестраивает кэш в EFI среде с новыми кекстами
  3. Добавляет этот новый кэш [к ядру]

Примечания к методу используемым OpenCore:

  • ОС не зависит от "prelinked" ядра, поскольку этот формат остаётся таким же с 10.6 (v2), что затрудняет прерывание поддержки.
    • OpenCore также поддерживает "prelinked" ядро (v1, найденное в 10.4 и 10.5), cacheless, Mkext и KernelCollection, поэтому он также поддерживает все Intel версии OS X/macOS
  • Гораздо лучшая стабильность, так как производится меньше патчинга

# Недостатки OpenCore

Большая часть функциональности Clover поддерживается в OpenCore в форме некоторых квирков (quirk), однако при переходе с Clover, вы должны обратить внимание на отсутсвующие функции в OpenCore, которые могут или не могут повлиять на вас:

  • Не поддерживает загрузку операционных систем базирующихся на MBR
    • Решение - загрузить rEFInd к OpenCore
  • Не поддерживает патчинг VBIOS на базе UEFI
    • Однако, это можно сделать в macOS
  • Не поддерживает автоматической инжекции DeviceProperty для устаревших графических процессоров
  • Не поддерживает исправление (патчинг) IRQ конфликтов
  • Не поддерживает генерацию P & C state для старых процессоров
  • Не поддерживает патчинг ACPI Target Bridge
  • Не поддерживает инжекцию UUID оборудования
  • Не поддерживает автоматическое обнаружение многих загрузчиков Linux
    • Может быть решено добавлением записи (entry) в BlessOverride
  • Не поддерживает многих XCPM патчей из Clover
    • к примеру, патчи XCPM для Ivy Bridge
  • Не поддерживает скрытие определенных накопителей
  • Не поддерживает изменение настроек в меню OpenCore
  • Не исправляет (патчит) значение UID PCIRoot
  • Не поддерживает инжекцию и патчинг ACPI только для macOS (macOS-only)

# Распространненые мифы

# OpenCore нестабилен, потому что это бета-версия

Краткий ответ: Нет

Развернутый ответ: Нет

Номер версии OpenCore не отражает качество проекта. Напротив, это способ увидеть вехи проекта. Acidanthera по-прежнему много чего хотели бы сделать с проектом, включая общую доработку и добавление большей поддержки функций

Например, OpenCore проходит надлежащий аудит безопасности, чтобы убедиться, что он соответствует требованиям UEFI Secure Boot, и является единственным загрузчиком Хакинтоша, который прошёл строгие проверки и имеет соответствующую поддержку.

Версия 0.6.1 была разработана как официальный релиз OpenCore, поскольку он имеет надлежащую поддержку UEFI/Apple Secure Boot, и должна была ознаменовать годовщину выпуска OpenCore в качестве публичного инструмента. Однако, из-за сложившийся ситуации вокруг macOS Big Sur и переписывания "prelinker" OpenCore для поддержки его [macOS], было решено отложить релиз 1.0.0 ещё на год.

Текущая дорожная карта:

  • 2019: Год бета-тестирования
  • 2020: Год Secure Boot
  • 2021: Год доработки

Поэтому, пожалуйста, не смотрите на номер версии, как на помеху, а смотрите скорее как на что-то, чего стоит ждать с нетерпением.

# Всегда ли OpenCore инжектирует SMBIOS и ACPI данные в другие ОС?

По умолчанию, OpenCore предполагает, что все ОС должны равно работать с информацией ACPI и SMBIOS. Причины такого мышления состоит из трёх частей:

  • Это позволяет осуществить надлежащую поддержку мультизагрузки, как в BootCamp (opens new window)
  • Избегает плохо сделанных DSDT и способствует надлежащей работе ACPI
  • Избегает случаев, когда информация инжектируется несколько раз; обычно наблюдается с Clover

Однако, есть квирки в OpenCore, которые позволяют ограничить инжектирование SMBIOS путём патчинга того места, откуда macOS читает информацию о SMBIOS. Кврик CustomSMIOSGuid с квирком CustomSMBIOSMode установленным в Custom, могут быть сломаны в будущем, поэтому мы рекомендуем использовать этот вариант в случаях, если происходят сбои ПО в других ОС. Для лучшей стабильности, пожалуйста, отключите эти квирки.

# Требует ли OpenCore чистой установки?

Не во всех случах вы имеете "ванильную" установку - это относится к тому, была ли изменена/повреждена ОС каким-либо образам, как установка сторонних кекстов на системный том или другие не поддерживаемые Apple модификации. Если ваша система была сильно изменена/повреждена, либо вами, либо сторонними утилитами как Hackintool, мы рекомендуем чистую установку во избежании любых потенциальных проблем.

Специальное примечание для пользователей Clover: пожалуйста, сбросьте ваш NVRAM, когда вы устанавливаете OpenCore. Многие переменные Clover могут конфликтовать с OpenCore и macOS

  • Примечание: Ноутбуки Thinkpad известны «окирпичиванием» после сброса NVRAM в OpenCore, мы рекомендуем сбрасывать NVRAM на этих компьютерах путем обновления BIOS.

# OpenCore поддерживает только определенные версии macOS

Начиная с OpenCore версии 0.6.2, вы можете загружать каждую Intel версию macOS, начиная с OS X 10.4! Однако правильная поддержка будет зависит от вашего оборудования, так что проверьте ваше оборудование: Аппаратные ограничения

Галерея версий macOS

Команда Acidanthera протестировала множество версий, и Khronokernel (opens new window) запускал много версий на его старом HP DC 7900 (Core2 Quad Q8300). Это небольшая галерея того, что Khronokernel тестировал:

# Поддерживает ли OpenCore старое оборудование?

На данный момент, большинство оборудования Intel поддерживается настолько долго, насколько сама ОС будет делать! Однако, пожалуйста, обратитесь к странице аппаратных ограничений для получения большей информации о том, какое оборудование поддерживается в каких версиях OS X/macOS.

В настоящее время, с OpenCore были тщательно протестированы процессоры серии Intel Yonah и новее.

# Поддерживает ли OpenCore загрузку Windows/Linux?

OpenCore работает также, как и любой другой загрузчик, поэтому он также уважает другие ОС. Для других ОС, загрузчики которых имеют неправильный путь или имя, вы можете добавить его в раздел BlessOverride.

# Законность Хакинтошинга

Хакинтошинг находится в серой зоне, хотя это в основном и не является незаконным, фактически мы нарушаем лицензионное соглашение (EULA). Причины, почему это не является нелегальным:

Хотя, лицензионное соглашение гласит, что macOS должна быть установленна на подлинном компьютере Mac или на виртуальной машине, которая запущена на подлинном компьютере Mac (секции 2B-i и 2B-iii (opens new window)) - нет применимого закона, который запрещает это. Однако, сайты которые перепаковывают и модифицируют установщики macOS могут потенциально столкнуться с проблемой DMCA (opens new window) и т.п.

  • Примечание: Это не юридическая консультация, поэтому, пожалуйста, проконсультируетесь и обсудите это со своими адвокатами, если у вас есть какие-то вопросы.

# Поддерживает ли macOS графические процессоры Nvidia?

Из-за проблем, связанных с поддержкой Nvidia в новых версиях macOS, многие юзеры пришли как-то к выводу, что macOS никогда не поддерживала графические процессоры Nvidia и не поддерживает их на данный момент. Тем не менее, Apple по-прежнему поддерживает компьютеры Mac с графическими процессорами Nvidia в своей последней ОС, к примеру модели MacBook Pro 2013 года с графическими процессорами на ядре Kepler.

Основная проблема вытекает с любыми новыми графическими процессорами Nvidia из того, что Apple перестала поставлять компьютеры с их ГП и поэтому они никогда не имели официальной поддержки ОС от Apple. Вместо этого, пользователи должны были полагаться на сторонние драйвера Nvidia. Из-за проблем, с недавно представленной Apple технологией Secure Boot, они больше не могли поддерживать веб-драйвера (Web Drivers) и поэтому Nvidia не могла их публиковать для новых платформ, остановившись на mac OS 10.13 High Sierra.

Для получения большей информации о поддержке графических процессоров ОС, смотрите здесь: Руководство по покупке GPU (на английском) (opens new window)