# Почему OpenCore лучше Clover или других?
- Поддерживаемая версия: 0.6.9
Этот раздел содержит вкратце то, почему сообщество переходит на OpenCore, и направлен на развеивание нескольких распространненых мифов в сообществе. Те, кто просто хочет компьютер с macOS, могут пропустить эту страницу.
- Почему OpenCore лучше Clover или других?
- Фишки OpenCore
- Поддержка ПО
- Инжекция кекстов
- Недостатки OpenCore
- Распространненые мифы
- OpenCore нестабилен, потому что это бета-версия
- Всегда ли OpenCore инжектирует SMBIOS и ACPI данные в другие ОС?
- Требует ли OpenCore чистой установки?
- OpenCore поддерживает только определенные версии macOS
# Фишки OpenCore
- Больше ОС поддерживаются!
- OpenCore теперь изначально поддерживает больше версий OS X и macOS без болезненных хаков, которые бы пришлось реализовать в Clover или Chameleon
- Сюда включены ОС такие как 10.4 Tiger, и даже последние сборки 11 Big Sur!
- В среднем, системы использующие OpenCore загружаются быстрее, чем системы, использующие Clover, за счёт меньшего ненужного патчинга
- Лучшая общая стабильность, так как патчи могут быть более точными [конкретно направленными на исправление проблемы]:
- Обновление macOS 10.15.4 (opens new window)
- Патчи AMD OSX не нуждаются в обновлении с каждым минорным обновлением безопасности
- Лучшая общая безопасность во многих формах:
- Не нужно выключать 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:
- Поймали баг кекста? Многие разработчики, включая организацию Acidanthera (opens new window) (создатели большинства ваших любимых кекстов), не будут предоставлять поддержку, если не используется OpenCore
- Многие драйвера firmware (микропрограммное обеспечение) слияются в OpenCore:
- Патчи AMD OSX (opens new window):
- Имеете компьютер на базе AMD? Патчи ядра необходимые для загрузки macOS больше не поддерживаются Clover - теперь они поддерживаются только OpenCore.
# Инжекция кекстов
Для лучшего понимания системы инжекции кекстов, мы должны взглянуть как работает Clover:
- Патч SIP, отключающий его
- Патч для включения зомби-кода XNU для инжектирования кекстов
- Патчи состояния гонки с помощью инъекции кекстов
- Инжектирование кекстов
- Патчит SIP, для включения его
Примечания к методу использующий Clover:
- Вызов зомби-кода XNU, который не использовался с 10.7 - серьёзно впечатляет, что Apple ещё не удалила этот код
- Обновления ОС обычно ломают этот патч, как это было недавно с 10.14.4 и 10.15
- Отключение SIP и попытки заново его включить; не думаю, что нужно говорить больше
- Вероятно, он сломается с macOS 11.0 (Big Sur)
- Поддержка OS X старых версий (10.5 и выше)
Теперь посмотрим на метод OpenCore:
- Берёт существующее "prelinked" ядро и кексты, готовые к инжекции
- Перестраивает кэш в EFI среде с новыми кекстами
- Добавляет этот новый кэш [к ядру]
Примечания к методу используемым 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 для устаревших графических процессоров
- т.е. InjectIntel, InjectNvidia и InjectAti
- Однако, это можно сделать вручную: патчинг GPU (на английском) (opens new window)
- Не поддерживает исправление (патчинг) IRQ конфликтов
- Может быть решено с помощью SSDTTime (opens new window)
- Не поддерживает генерацию P & C state для старых процессоров
- Не поддерживает патчинг ACPI Target Bridge
- Не поддерживает инжекцию UUID оборудования
- Не поддерживает автоматическое обнаружение многих загрузчиков Linux
- Может быть решено добавлением записи (entry) в
BlessOverride
- Может быть решено добавлением записи (entry) в
- Не поддерживает многих 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 напрямую с серверов Apple (opens new window)
- Мы делаем это как некоммерческая организация для обучения и персонального использования
- Люди, которые планируют использовать свой Хакинтош для работу или хотят перепродать его - им следует обратиться к делу Psystar (на английском) (opens new window) и к своим региональным законам
Хотя, лицензионное соглашение гласит, что 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)