# Ноутбучный Broadwell

Поддержка Версия
Поддерживаемая версия OpenCore 0.6.9
Начало поддержки в macOS OS X 10.10, Yosemite

# Отправная точка

И так, создание config.plist может показаться сложным, но это не так. Это просто занимает некоторое время, но это руководство расскажет вам как всё конфигурировать, и вы не останетесь в стороне. Это также означает, что если у вас есть проблемы, проверьте настройки конфига, чтобы убедиться, что они правильные. Основные моменты, которые нужно подметить с OpenCore:

  • Все свойства должны быть определены, у OpenCore нет значений по умолчанию, поэтому не удаляйте разделы, если это явно не указано. Если руководство не упоминает эту опцию, оставьте значения по умолчанию
  • Sample.plist не может использоваться как есть (as is), вы должны сконфигурировать его к вашей системе
  • НЕ ИСПОЛЬЗУЙТЕ КОНФИГУРАТОРЫ, они редко соблюдают конфигурацию OpenCore, и даже такие как, от Mackie добавляют свойства из Clover и ломают plist!

С этим всё, быстрое напоминание, какие инструменты нам нужны:

И прочтите это руководство несколько раз, прежде чем настраивать OpenCore, и убедитесь, что он правильно настроен. Обратите внимание, что изображения не всегда будут актуальными, поэтому прочтите текст под ними, если ничего не сказано - оставьте значения по умолчанию.

# ACPI

ACPI

# Add

Информация

Здесь вы добавите SSDT для вашей системы, это очень важно чтобы загрузить macOS, и они имеют множество применений, к примеру USB map (opens new window), отключение неподдерживаемых GPU и т.п. А с нашей системой, она обязана загрузиться. Рукводство по созданию SSDT можно найти здесь: Начало работы с ACPI (opens new window)

Нам понадобится пара SSDT, чтобы вернуть функциональность, предоставляемую Clover:

Требуемые_SSDT Описание
SSDT-PLUG (opens new window) Позволяет нативно управлять питанием процессора на Haswell и новее, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации.
SSDT-EC (opens new window) Исправления для встроенных контроллеров, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации.
SSDT-GPIO (opens new window) Создает заглушку, чтобы VoodooI2C мог подключиться, тем, у кого возникли проблемы с работой VoodooI2C, могут попробовать вместо этого - SSDT-XOSI (opens new window). Обратите внимание, что Intel NUC не нуждается в этом
SSDT-PNLF (opens new window) Исправляет регулировку яркости, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации. Обратите внимание, что Intel NUC не нуждается в этом

Обратите внимание, что вы не должны добавлять ваш сгенерированный DSDT.aml сюда, он уже есть в вашей прошивке. Поэтому, если он есть, удалите запись в вашем config.plist и из папки EFI/OC/ACPI.

Для тех, кто хочет глубже нырнуть в дамп своего DSDT, как создавать SSDT и компилировать их, см. страницу Начало работы с ACPI (opens new window). Скомпилированные SSDT имеют расширение .aml(Assembled) и помещаются в папку EFI/OC/ACPI, а также должны быть указаны в вашем конфиге в ACPI -> Add.

# Delete

Этот раздел блокирует загрузку определенных ACPI таблиц, в нашем случае, мы можем игнорировать это.

# Patch

Информация

Этот раздел позволяет нам динамически модифицировать части ACPI (DSDT, SSDT, и т.д.) через OpenCore. В нашем случае, нам понадобится следующее:

  • Переименование OSI
    • Это необходимо при использовании SSDT-XOSI, поскольку мы перенаправляем все вызовы OSI на этот SSDT, это не требуется, если вы используете SSDT-GPIO
Comment String Change _OSI to XOSI
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 5f4f5349
Replace Data 584f5349

# Quirks

Настройки относящиеся к ACPI, оставьте здесь всё по умолчанию, так как нам эти квирки не нужны.

# Booter

Booter

Этот раздел посвящен квиркам относящимся к патчингу boot.efi с помощью OpenRuntime, заменяющего AptioMemoryFix.efi

# MmioWhitelist

Этот раздел позволяет передавать пробелы (spaces) в macOS, которые обычно игнорируются; полезно в сочетании с DevirtualiseMmio

# Quirks

Информация

Настройки относящиеся к патчингу boot.efi и исправлению прошивки, в нашем случае, мы оставим всё по умолчанию

Более подробная информация
  • AvoidRuntimeDefrag: YES
    • Исправляет рантайм сервисы UEFI, такие как дата, время, NVRAM, управление питанием, т.д.
  • EnableSafeModeSlide: YES
    • Позволяет использовать Slide переменные в безопасном режиме.
  • EnableWriteUnprotector: YES
    • Нужен для снятия защиты от записи CR0 регистра.
  • ProvideCustomSlide: YES
    • Используется для вычисления значения Slide переменной. Необходимость этого квирка определяется сообщением OCABC: Only N/256 slide values are usable! в дебаг логах. Если сообщение OCABC: All slides are usable! You can disable ProvideCustomSlide! присутствует в вашем логе, вы можете отключить ProvideCustomSlide.
  • SetupVirtualMap: YES
    • Исправляет вызовы SetVirtualAddresses на виртуальные адреса, требуется для плат Gigabyte для устранения ранних паник ядра.

# DeviceProperties

DeviceProperties

# Add

Устанавливает Device Properties в map.

PciRoot(0x0)/Pci(0x2,0x0)

Этот раздел настраивается с помощью Патчинга фреймбуфера (opens new window)(на русском (opens new window)) в WhateverGreen и используется для настройки важных свойств iGPU.

При настройке iGPU, нижеприведенная таблица должна помочь найти правильные значения для установки. Вот объяснение некоторых значений:

  • AAPL,ig-platform-id
    • Это используется внутри для настройки iGPU
  • Type
    • Рекомендуется ли запись для ноутбуков (т.е. со встроенными дисплеями) или для Intel NUC(т.е. автономных коробок)

Обычно, при настройке свойств iGPU следуйте этим шагам. Следуйте примечаниям к конфигурации под таблицей, если они говорят иначе:

  1. При первоначальной настройке config.plist укажите только AAPL,ig-platform-id - обычно этого достаточно
  2. Если вы загружаетесь и не получаете ускорения графики (7 МБ видеопамяти и однотонный фон дока), вам, вероятно, придется попробовать другие значения AAPL,ig-platform-id, добавить stolenmem патчи, или даже добавить свойство device-id.
AAPL,ig-platform-id Type Комментарии
06002616 Laptop Рекомендуемое значение для ноутбуков Broadwell
02001616 NUC Рекомендуемое значение для NUC Broadwell

# Примечания к конфигурации

  • Для HD5600 вам нужно подделать device-id на 16260000:
Key Type Value
device-id data 26160000
  • В некоторых случаях, когда вы не можете установить DVMT-prealloc для этих карт на выше, чем 96 МБ в настройках UEFI, вы можете получить панику ядра. Обычно они настроены на 32 МБ DVMT-prealloc, в этом случае эти значения добавляются в ваши свойства iGPU
Key Type Value
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001
framebuffer-fbmem Data 00009000

PciRoot(0x0)/Pci(0x1b,0x0)

layout-id

  • Применяя инжекцию звука AppleALC, вам нужно будет самостоятельно изучить, какой кодек у вашей материнской платы, и сопоставить с layout AppleALC. Поддерживаемые кодеки AppleALC (opens new window).
  • Вы можете удалить это свойство, посколько оно не используется нами в настоящее время

Вместо этого, мы будем использовать boot-arg alcid=xxx. alcid переопределит все другие layout-ID. Подробнее об этом можно узнать на странице После установки (opens new window)

# Delete

Удаляет Device Properties из map, в нашем случае, мы можем игнорировать это.

# Kernel

Kernel

# Add

Здесь мы указываем, какие кексты загружать, в каком конкретно порядке загружать, и для каких архитектур предназначен каждый кекст. По умолчанию, мы рекомендуем оставить как сделал ProperTree, однако для 32-битных процессоров, смотрите ниже:

Более подробная информация

Главное, что нужно иметь в виду, это:

  • Порядок загрузки
    • Помните, что любые плагины должны загружаться после своих зависимостей
    • Это означает, что кексты как Lilu должны загружаться до VirtualSMC, AppleALC, WhateverGreen, т.д.

Напоминаем, что пользователи ProperTree (opens new window) могут нажать Cmd/Ctrl + Shift + R для добавления всех своих кекстов в правильном порядке без вручного вписывания каждого из них.

  • Arch
    • Архитектуры поддерживаемые этим кекстом
    • Доступные в настоящее время значения Any, i386 (32-бит), и x86_64 (64-бит)
  • BundlePath
    • Название кекста
    • например: Lilu.kext
  • Enabled
    • Не требует пояснений: либо включает, либо отключает кекст
  • ExecutablePath
    • Путь к фактическому исполняемому файлу; скрыт в кексте, вы можете увидеть, какой путь имеет ваш кекст, щелкнув ПКМ по кексту и выбрав пункт Показать содержимое пакета. Обычно, они бывают в Contents/MacOS/Kext, но у некоторых кекстов он скрывается в папке Plugin. Обратите внимание, что plist'ы только у кекстов не нуждаются в заполнении.
    • например: Contents/MacOS/Lilu
  • MinKernel
    • Минимальная версия ядра, в которую будет инжектироваться ваш кекст, см. возможные значения в таблице ниже
    • например, 12.00.00 для OS X 10.8
  • MaxKernel
    • Максимальная версия ядра, в которую будет инжектироваться ваш кекст, см. возможные значения в таблице ниже
    • например, 11.99.99 для OS X 10.7
  • PlistPath
    • Путь к info.plist, скрытому в кексте
    • например: Contents/Info.plist
Таблица поддерживаемых ядер
Версия OS X MinKernel MaxKernel
10.4 8.0.0 8.99.99
10.5 9.0.0 9.99.99
10.6 10.0.0 10.99.99
10.7 11.0.0 11.99.99
10.8 12.0.0 12.99.99
10.9 13.0.0 13.99.99
10.10 14.0.0 14.99.99
10.11 15.0.0 15.99.99
10.12 16.0.0 16.99.99
10.13 17.0.0 17.99.99
10.14 18.0.0 18.99.99
10.15 19.0.0 19.99.99
11 20.0.0 20.99.99

# Emulate

Требуется для спуфинга (подмены) неподдерживаемых процессоров, таких как Pentium и Celeron

  • CpuidMask: Оставьте это поле пустым
  • CpuidData: Оставьте это поле пустым

# Force

Используется для загрузки кекстов с системного тома, актуально только для старых операционных систем, где некоторые кексты отсутствуют в кэше (например, IONetworkingFamily в 10.6).

В нашем случае, мы можем игнорировать это.

# Block

Блокирует загрузку определенных кекстов. Не релевантно для нас.

# Patch

Патчит ядро с кекстами. Нам это не нужно.

# Quirks

Информация

Настройки относящиеся к ядру, для нас мы изменим следующее:

Quirk Enabled Комментарии
AppleCpuPmCfgLock NO Требуется, если используете 10.10 и старее, и не возможно отключить CFG-Lock в BIOS
AppleXcpmCfgLock YES Не требуется, если CFG-Lock отключен в BIOS
DisableIOMapper YES Не требуется, если VT-D отключен в BIOS
LapicKernelPanic NO Компьютеры HP нуждаются в этом квирке
PanicNoKextDump YES
PowerTimeoutKernelPanic YES
XhciPortLimit YES
Более подробная информация
  • AppleCpuPmCfgLock: NO
    • Требуется только, когда CFG-Lock нельзя отключить в BIOS
    • Применимо только для Ivy Bridge и старее
      • Примечание: Broadwell и старее требуют этого при запуске 10.10 или старее
  • AppleXcpmCfgLock: YES
    • Требуется только, когда CFG-Lock нельзя отключить в BIOS
    • Применимо только для Haswell и новее
      • Примечание: Ivy Bridge-E также включен, поскольку он поддерживает XCPM
  • CustomSMBIOSGuid: NO
    • Выполняет патчинг GUID для UpdateSMBIOSMode установленным в Custom. Обычно актуально для ноутбуков Dell
    • Включение этого квирка с UpdateSMBIOSMode в Custom может также отключать инжекцию SMBIOS в ОС не от Apple, однако мы не одобряем этот метод, потому что он ломает совместимость с Bootcamp. Используйте на свой страх и риск
  • DisableIoMapper: YES
    • Необходим для обхода VT-D, если он не может быть отключен в BIOS или необходим для других операционных систем, гораздо лучшая альтернатива dart=0, поскольку SIP может оставаться включенным в Catalina
  • DisableLinkeditJettison: YES
    • Позволяет Lilu и другим более надежно работать без keepsyms=1
  • DisableRtcChecksum: NO
    • Предотвращает запись AppleRTC в основную контрольную сумму (0x58-0x59), требуется для тех пользователей, у которых сбрасывается BIOS или отправляется в безопасный режим после перезагрузки/выключения
  • ExtendBTFeatureFlags NO
    • Полезно для тех, у кого есть проблемы со стабильностью работы с картами не от Apple/Fenvi
  • LapicKernelPanic: NO
    • Отключает панику ядра на прерывании lapic AP ядра, что обычно необходимо для систем HP. Эквивалентно Kernel LAPIC в Clover
  • LegacyCommpage: NO
    • Устраняет требование SSSE3 для 64-битных процессоров в macOS, в основном актуально для 64-битных процессоров Pentium 4 (например, Prescott)
  • PanicNoKextDump: YES
    • Позволяет читать логи паники ядра, когда произошла паника ядра
  • PowerTimeoutKernelPanic: YES
    • Помогает устранить паники ядра, связанные с изменениями питания в драйверах Apple в macOS Catalina, особенно с цифровым звуком.
  • SetApfsTrimTimeout: -1
    • Устанавливает таймаут Trim в микросекундах для SSD с файловой системой APFS. Применимо только для macOS 10.14 и новее с проблемными SSD.
  • XhciPortLimit: YES
    • Фактически, это исправление ограничения на 15 портов, не надейтесь на это, как на гарантированное решение для исправления USB. Пожалуйста, создайте USB map (opens new window), когда это возможно.

Причина в том, что UsbInjectAll повторяет встроенную функциональность macOS без надлежащей настройки. Гораздо чище просто описать ваши порты в одном кексте с только plist, который не будет тратить впустую runtime память и т.п.

# Scheme

Настройки относящиеся к загрузке устаревших версий(т.е. 10.4-10.6), большинство может пропустить, однако для тех, кто планирует загружать устаревшие ОС, вы можете увидеть ниже:

Более подробная информация
  • FuzzyMatch: True

    • Используется для игнорирования контрольных сумм с помощью kernelcache, вместо этого выбирая последний доступный кэш.
  • KernelArch: x86_64

    • Устанавливает тип архитектуры ядра, вы можете выбрать между Auto, i386 (32-бит), и x86_64 (64-бит).
    • Если вы загружаете старые ОС, которые требуют 32-битного ядра(т.е. 10.4 и 10.5), мы рекомендуем установить значение на Auto и позволить macOS принять решение на основе вашего SMBIOS. Поддерживаемые значения смотрите в таблице ниже:
      • 10.4-10.5 — x86_64, i386 или i386-user32
        • i386-user32 относится к 32-битному userspace, поэтому 32-битные процессоры должны его использовать (или процессоры без SSSE3)
        • x86_64 по-прежнему будет иметь 32-битное kernelspace, однако обеспечит 64-битный userspace в 10.4/5
      • 10.6 — i386, i386-user32, или x86_64
      • 10.7 — i386 или x86_64
      • 10.8 или новее — x86_64
  • KernelCache: Auto

    • Задаёт тип кэша ядра, в основном используется для отладки и поэтому мы рекомендуем Auto для лучшей поддержки

# Misc

Misc

# Boot

Настройки экрана загрузки(оставьте всё по умолчанию).

# Debug

Информация

Полезно для отладки проблем при загрузке OpenCore(Мы всё изменим, кроме DisplayDelay):

Quirk Enabled
AppleDebug YES
ApplePanic YES
DisableWatchDog YES
Target 67
Более подробная информация
  • AppleDebug: YES
    • Включает логирование boot.efi, полезно для отладки. Обратите внимание, что это поддерживается только в 10.15.4 и новее
  • ApplePanic: YES
    • Пытается логировать паники ядра на диск
  • DisableWatchDog: YES
    • Отключает watchdog UEFI, может помочь с проблемами ранней загрузки
  • DisplayLevel: 2147483650
    • Показывает еще больше отладочной информации, требуется debug версия OpenCore
  • SerialInit: NO
    • Требуется для настройки последовательного вывода в OpenCore
  • SysReport: NO
    • Полезно для отладки, к примеру создание дампов ACPI таблиц
    • Заметьте, что это только для DEBUG версий OpenCore
  • Target: 67
    • Показывает больше отладочной информации, требуется debug версия OpenCore

Эти значения основаны на значениях, рассчитаных в разделе Отладка OpenCore

# Security

Информация

Безопасность - сама за себя говорит, не пропускайте это. Мы изменим следующее:

Quirk Enabled Комментарии
AllowNvramReset YES
AllowSetDefault YES
BlacklistAppleUpdate YES
ScanPolicy 0
SecureBootModel Default Это слово и оно чувствительное к регистру, установите Disabled, если вы не хотите иметь Secure Boot (например, когда вам требуются веб-драйверы Nvidia)
Vault Optional Это слово, это не опционально, чтобы опустить эту настройку. Вы пожалеете, если не установите для него значение Optional, обратите внимание, что оно тоже чувствительно к регистру
Более подробная информация
  • AllowNvramReset: YES
    • Позволяет сбрасывать NVRAM как в меню выбора загрузки, так и при нажатии Cmd+Opt+P+R
  • AllowSetDefault: YES
    • Позволяет нажатием CTRL+Enter и CTRL+Index устанавливать загрузочное устройство по умолчанию в меню выбора
  • ApECID: 0
    • Используется для привязки secure-boot персонализированных идентификаторов, в настоящее время этот квирк ненадежен из-за бага в установщике macOS, поэтому мы вам настоятельно рекомендуем оставить это по умолчанию.
  • AuthRestart: NO
    • Включает аутентифицированный перезапуск для FileVault 2, поэтому пароль не требуется при перезагрузке. Может рассматриваться как угроза безопасности, поэтому это необязательно
  • BlacklistAppleUpdate: YES
    • Используется для блокировки обновлений прошивки, используется как дополнительный уровень защиты, так как macOS Big Sur больше не использует переменную run-efi-updater
  • DmgLoading: Signed
    • Обеспечивает загрузку только подписанных DMG
  • ExposeSensitiveData: 6
    • Показывает больше отладочной информации, требуется debug версия OpenCore
  • Vault: Optional
    • Мы не будем иметь дело с Vaulting, поэтому мы можем игнорировать, вы не загрузитесь со значением Secure
    • Это слово, это не опционально, чтобы опустить эту настройку. Вы пожалеете, если не установите для него значение Optional, обратите внимание, что оно чувствительно к регистру
  • ScanPolicy: 0
    • 0 позволяет вам видеть все доступные накопители, пожалуйста обратитесь к разделу Безопасность (opens new window) для получения дополнительной информации. USB устройства не будут загружаться со значением по умолчанию (default)
  • SecureBootModel: Default
    • Включает функциональность Secure Boot от Apple в macOS, обратитесь к разделу Безопасность (opens new window) для получения дополнительной информации.
    • Примечание: Пользователи могут обнаружить, что обновление OpenCore на уже установленной системе может привести к ранним сбоям загрузки. Чтобы решить это, см. здесь: Зависает на OCB: LoadImage failed - Security Violation

# Tools

Используется для запуска отладочных инструментов OC, таких как Shell; функция снапшота в ProperTree добавит их за вас.

# Entries

Используется для указания нестандартных путей загрузки, которые невозможно найти с помощью OpenCore.

Здесь не рассматривается, см. пункт 8.6 в Configuration.pdf (opens new window) для получения дополнительной информации

# NVRAM

NVRAM

# Add

4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14

Используется для масштабирования пользовательского интерфейса OpenCore, значение по умолчанию будет работать для нас. См. раздел «Более подробная информация» для получения дополнительной информации

Более подробная информация

Путь к загрузчику, в основном используется для масштабирования пользовательского интерфейса

  • UIScale:

    • 01: Стандартное разрешение
    • 02: HiDPI (обычно требуется для правильной работы FileVault на небольших дисплеях)
  • DefaultBackgroundColor: Цвет фона используемый boot.efi

    • 00000000: Чёрный Шираз
    • BFBFBF00: Светло-серый

4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102

NVRAM GUID OpenCore, в основном актуально для пользователей RTCMemoryFixup

Более подробная информация

7C436110-AB2A-4BBB-A880-FE41995C9F82

Битовая маска System Integrity Protection

  • Универсальные boot-args:
boot-args Описание
-v Это включает подробный режим (verbose mode), в котором вместо логотипа Apple и полосы загрузки отображается весь закулисный текст, который прокручивается при загрузке. Это бесценно для любого Хакинтошера, так как даёт взглянуть на процесс загрузки изнутри и может помочь вам определить проблемы, проблемные кексты, т.д.
debug=0x100 Это отключает watchdog macOS, который помогает предотвратить перезагрузку при панике ядра. Таким образом, вы можете надеюсь собрать полезную информацию и следовать по «хлебным крошкам», чтобы решить проблемы.
keepsyms=1 Это сопутствующий debug=0x100 параметр, который указывает ОС также печатать символы при панике ядра. Это может дать более полезное представление о том, что вызывает саму панику.
alcid=1 Используется для настройки layout-id для AppleALC, см. поддерживаемые кодеки (opens new window) чтобы выяснить, какой layout использовать для вашей системы. Подробнее об этом можно узнать на Странице после установки (opens new window)
  • Специфичные для GPU boot-args:
boot-args Описание
-wegnoegpu Используется для отключения всех других графических процессоров, кроме интегрированного iGPU Intel, полезно для тех, кто хочет запускать более новые версии macOS, где их dGPU не поддерживается
  • csr-active-config: 00000000

    • Настройки для 'System Integrity Protection' (SIP). Обычно рекомендуется изменить его с помощью csrutil через раздел восстановления.
    • csr-active-config по умолчанию имеет значение 00000000, что и включает SIP. Вы можете выбрать несколько различных значений, но в целом мы рекомендуем оставить этот параметр включенным для обеспечения наилучшей безопасности. Более подробную информацию можно найти на нашей странице устранения неполадок: Отключение SIP
  • run-efi-updater: No

    • Это используется для предотвращения обновления прошивки Apple и нарушения порядка загрузки; это важно, так как эти обновления прошивки (предназначенные для Mac) не будут работать.
  • prev-lang:kbd: <>

    • Требуется для нелатинских клавиатур в формате lang-COUNTRY:keyboard, рекомендуется оставить пустым, хотя вы можете указать его(По умолчанию в образцовом конфиге стоит русский язык):
    • Американская: en-US:0(656e2d55533a30 в HEX)
    • Полный список может быть найден в AppleKeyboardLayouts.txt (opens new window)
    • Подсказка: prev-lang:kbd можно заменить на String, чтобы вы могли ввести en-US:0 без преобразования в HEX
Key Type Value
prev-lang:kbd String en-US:0

# Delete

Принудительно перезаписывает переменные NVRAM, обратите внимание, что Add не перезаписывает значения присутствующие в NVRAM, поэтому значения вроде boot-args следует оставить в покое.

  • LegacyEnable: NO

    • Позволяет хранить NVRAM в nvram.plist, что необходимо для систем без нативного NVRAM
  • LegacyOverwrite: NO

    • Разрешает перезапись переменных прошивки из nvram.plist, требуется только для систем без нативного NVRAM
  • LegacySchema

    • Используется для назначения NVRAM переменных, используется с LegacyEnable в YES
  • WriteFlash: YES

    • Позволяет записывать в флеш-память все добавленные переменные.

# PlatformInfo

PlatformInfo

Информация

Для настройки SMBIOS, мы будем использовать приложение GenSMBIOS (opens new window) от CorpNewt.

На примере этого Broadwell, мы выберем MacBookPro12,1 SMBIOS. Типичная разбивка выглядит следующим образом:

SMBIOS Тип процессора Тип GPU Размер дисплея
MacBook8,1 Двухъядерный 7w(Low End) iGPU: HD 5300 12"
MacBookAir7,1 Двухъядерный 15w iGPU: HD 6000 11"
MacBookAir7,2 Двухъядерный 15w iGPU: HD 6000 13"
MacBookPro12,1 Двухъядерный 28w(High End) iGPU: Iris 6100 13"
MacBookPro11,2 Четырехъядерный 45w iGPU: Iris Pro 5200 15"
MacBookPro11,3 Четырехъядерный 45w iGPU: Iris Pro 5200 + dGPU: GT750M 15"
MacBookPro11,4 Четырехъядерный 45w iGPU: Iris Pro 5200 15"
MacBookPro11,5 Четырехъядерный 45w iGPU: Iris Pro 5200 + dGPU: R9 M370X 15"
iMac16,1 Системы NUC HD 6000/Iris Pro 6200 N/A

Запустите GenSMBIOS, выберите 1 для загрузки MacSerial и 3 для выбора SMBIOS. Это даст нам вывод похожий на этот:

  #######################################################
 #               MacBookPro12,1 SMBIOS Info            #
#######################################################

Type:         MacBookPro12,1
Serial:       C02M9SYJFY10
Board Serial: C02408101J9G2Y7A8
SmUUID:       7B227BEC-660D-405F-8E60-411B3E4EF055

Type копируется в Generic -> SystemProductName.

Serial копируется в Generic -> SystemSerialNumber.

Board Serial копируется в Generic -> MLB.

SmUUID копируется в Generic -> SystemUUID.

Мы устанавливаем в Generic -> ROM либо Apple ROM (сдампленный с реального Mac), либо MAC-адрес вашей сетегой карты, или же любой случайный MAC-адрес (можеть быть всего 6 случайных байтов, для этого руководства мы будем использовать 11223300 0000. После установки, следуйте на страницу Исправление iServices (opens new window), чтобы найти, как получить настоящий MAC-адрес)

# Напоминаем, что вам нужен либо недействительный серийный номер, либо действительный серийный номер, но только те, которые не используются, вам надо получить сообщение типа: «Недействительный серийный номер» или «Дата покупки не подтверждена»

Страница проверки права на обслуживание и поддержку (opens new window)

Automatic: YES

  • Генерирует PlatformInfo на основе общего раздела, вместо DataHub, NVRAM и SMBIOS разделов

# Generic

Более подробная иннформация
  • AdviseWindows: NO

    • Используется тогда, когда EFI раздел не является первым на диске Windows
  • MaxBIOSVersion: NO

    • Устанавливает максимальную версию BIOS для предотвращения обновления прошивки в Big Sur и выше, в основном применимо для настоящих Mac.
  • ProcessorType: 0

    • Установите значение 0 для автоматического определения типа процессора, однако если хотите можно изменить это значение. См. AppleSmBios.h (opens new window) для возможных значений
  • SpoofVendor: YES

    • Меняет поле Vendor на Acidanthera, как правило, Apple как Vendor небезопасно использовать в большинстве случаев
  • SystemMemoryStatus: Auto

    • Устанавливает, распаяна ли память или нет в информацию SMBIOS, чисто косметически, поэтому рекомендуем Auto
  • UpdateDataHub: YES

    • Обновляет Data Hub поля
  • UpdateNVRAM: YES

    • Обновляет NVRAM поля
  • UpdateSMBIOS: YES

    • Обновляет SMBIOS поля
  • UpdateSMBIOSMode: Create

    • Заменяет таблицы новым выделенным EfiReservedMemoryType, используйте Custom на ноутбуках Dell, требующих CustomSMBIOSGuid квирка
    • Включение этого квирка с CustomSMBIOSGuid в Custom может также отключать инжекцию SMBIOS в ОС не от Apple, однако мы не одобряем этот метод, потому что он ломает совместимость с Bootcamp. Используйте на свой страх и риск

# UEFI

UEFI

ConnectDrivers: YES

  • Принудительно загружает .efi драйверы, изменение на NO автоматически подключит UEFI драйверы. Это может сделать загрузку немного быстрее, но не все драйверы подключаются сами. К примеру, некоторые драйверы файловой системы могут не загружаться.

# Drivers

Добавьте свои .efi драйверы сюда.

Драйверы, которые должны быть здесь:

  • HfsPlus.efi
  • OpenRuntime.efi

# APFS

Настройки относящиеся к APFS драйверу, оставьте здесь всё по умолчанию.

# Audio

Относится к настройкам AudioDxe, в нашем случае, мы это проигнорируем(оставьте по умолчанию). Это не относится к поддержке звука в macOS.

# Input

Относится к использованию клавиатуры в boot.efi для поддержки FileVault и горячих клавиш, оставьте здесь всё по умолчанию, так как нам не нужны эти квирки. Более подробную информацию смотрите здесь: Безопасность и FileVault (opens new window)

# Output

Относится к визуальному выводу OpenCore, оставьте здесь всё по умолчанию, так как нам не нужны эти квирки.

# ProtocolOverrides

В основном актуально для виртуальных машин, устаревших маков, и пользователей FileVault. Более подробную информацию смотрите здесь: Безопасность и FileVault (opens new window)

# Quirks

Информация

Относится к квиркам в UEFI среде, в нашем случае, мы будем менять следующее:

Quirk Enabled Комментарии
IgnoreInvalidFlexRatio YES
ReleaseUsbOwnership YES
UnblockFsConnect NO В основном нужно материнским платам HP
Более подробная информация
  • IgnoreInvalidFlexRatio: YES

    • Исправляет в тех случаях, когда MSR_FLEX_RATIO (0x194) не может быть отключен в BIOS, требуется для всех pre-Skylake систем
  • ReleaseUsbOwnership: YES

    • Освобождает USB-контроллер от драйвера прошивки, необходимого, когда ваша прошивка не поддерживает EHCI/XHCI Handoff. Большинство ноутбуков имеют «мусорные» прошивки, так что нам это тоже понадобится
  • DisableSecurityPolicy: NO

    • Отключает платформенную политику безопасности в прошивке. Рекомендуется для прошивок, в которых отключение Secure Boot не позволяет загружать сторонние драйверы прошивки.
    • Если у вас устройство серии Microsoft Surface, рекомендуем включить эту опцию
  • RequestBootVarRouting: YES

    • Перенаправляет AptioMemoryFix из EFI_GLOBAL_VARIABLE_GUID в OC_VENDOR_VARIABLE_GUID. Необходимо в тех случаях, когда прошивка пытается удалить загрузочную запись, и рекомендуется включать на всех системах для правильно установки обновлений, работы панели управления загрузочным диском (Startup Disk), т.д.
  • UnblockFsConnect: NO

    • Некоторые блочные разделы прошивки обрабатываются открываясь в режиме драйвера, что приводит к невозможности установки протоколов файловой системы. Обычно актуально для систем HP, когда в списке нет дисков

# ReservedMemory

Используется для исключения определенных областей памяти из ОС, в основном актуально для iGPU Sandy Bridge или систем с неисправной памятью. Использование этого квирка не рассматривается в этом руководстве

# Уборка

И теперь, вы готовы сохранить свой EFI и поместить его в EFI/OC.

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

Санитарная проверка:

И так, благодаря усилиям Ramus, у нас также есть удивительный инструмент, который поможет проверить вашу конфигурацию для тех, кто, возможно, что-то пропустил:

Обратите внимание, что этот инструмент не разрабатывается и не поддерживается Dortania, все проблемы с этим сайтом должны отправляться сюда: Репозиторий Sanity Checker (opens new window)

# Напоминания о конфигурации

Пользователям HP:

  • Kernel -> Quirks -> LapicKernelPanic -> True
    • В противном случае, вы получите панику ядра на LAPIC
  • UEFI -> Quirks -> UnblockFsConnect -> True

# Настройки Intel BIOS

  • Примечание: Большинство этих параметров могут отсутствовать в вашей прошивке, мы рекомендуем сопоставлять как можно ближе, но не слишком беспокойтесь, если многие эти параметры будут не доступны в вашем BIOS

# Отключите

  • Fast Boot
  • Secure Boot
  • Serial/COM Port
  • Parallel Port
  • VT-d (может быть включен, если вы установите DisableIoMapper в YES)
  • CSM
  • Thunderbolt(Отключите для первоначальной установки, поскольку Thunderbolt может вызвать проблемы, если он настроен неправильно)
  • Intel SGX
  • Intel Platform Trust
  • CFG Lock (защита от записи MSR 0xE2)(Это должно быть отключено, если вы не можете найти эту опцию, включите AppleXcpmCfgLock в Kernel -> Quirks. Ваш хак не будет загружаться со включенным CFG-Lock)
    • Для 10.10 и старее, вам нужно будет включить ещё AppleCpuPmCfgLock

# Включите

  • VT-x
  • Above 4G decoding
  • Hyper-Threading
  • Execute Disable Bit
  • EHCI/XHCI Hand-off
  • OS type: Windows 8.1/10 UEFI Mode
  • DVMT Pre-Allocated(iGPU Memory): 64MB
  • SATA Mode: AHCI

# Теперь, когда это всё сделано, перейдите на Страницу Установки