# Ноутбучный Ivy Bridge
Поддержка | Версия |
---|---|
Поддерживаемая версия OpenCore | 0.6.9 |
Начало поддержки в macOS | OS X 10.7, Lion |
# Отправная точка
И так, создание config.plist может показаться сложным, но это не так. Это просто занимает некоторое время, но это руководство расскажет вам как всё конфигурировать, и вы не останетесь в стороне. Это также означает, что если у вас есть проблемы, проверьте настройки конфига, чтобы убедиться, что они правильные. Основные моменты, которые нужно подметить с OpenCore:
- Все свойства должны быть определены, у OpenCore нет значений по умолчанию, поэтому не удаляйте разделы, если это явно не указано. Если руководство не упоминает эту опцию, оставьте значения по умолчанию
- Sample.plist не может использоваться как есть (as is), вы должны сконфигурировать его к вашей системе
- НЕ ИСПОЛЬЗУЙТЕ КОНФИГУРАТОРЫ, они редко соблюдают конфигурацию OpenCore, и даже такие как, от Mackie добавляют свойства из Clover и ломают plist!
С этим всё, быстрое напоминание, какие инструменты нам нужны:
- ProperTree (opens new window)
- Универсальный plist редактор
- GenSMBIOS (opens new window)
- Для генерации наших SMBIOS данных
- Sample/config.plist (opens new window)
- См. предыдущий раздел о том, как получить: Настройка config.plist
И прочтите это руководство несколько раз, прежде чем настраивать OpenCore, и убедитесь, что он правильно настроен. Обратите внимание, что изображения не всегда будут актуальными, поэтому прочтите текст под ними, если ничего не сказано - оставьте значения по умолчанию.
# ACPI
# Add
Информация
Здесь вы добавите SSDT для вашей системы, это очень важно чтобы загрузить macOS, и они имеют множество применений, к примеру USB map (opens new window), отключение неподдерживаемых GPU и т.п. А с нашей системой, она обязана загрузиться. Рукводство по созданию SSDT можно найти здесь: Начало работы с ACPI (opens new window)
Нам понадобится пара SSDT, чтобы вернуть функциональность, предоставляемую Clover:
Требумые_SSDT | Описание |
---|---|
SSDT-PM (opens new window) | Необходимо для правильного управления питанием процессора, вам нужно будет запустить скрипт ssdtPRGen.sh от Pike для создания этого файла. Это будет выполнено после установки (opens new window). |
SSDT-EC (opens new window) | Исправления для встроенных контроллеров, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации. |
SSDT-XOSI (opens new window) | Заставляет все вызовы _OSI, специфичные для Windows, работать с идентификатором macOS (Darwin). Это может помочь включить некоторые функции, такие как XHCI и другие. |
SSDT-PNLF (opens new window) | Исправляет регулировку яркости, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации. Обратите внимание, что Intel NUC не нуждается в этом |
SSDT-IMEI (opens new window) | Необходимо для добавления отсутствующих IMEI устройств на процессорах Ivy Bridge с материнскими платами 6 серии |
Обратите внимание, что вы не должны добавлять ваш сгенерированный DSDT.aml
сюда, он уже есть в вашей прошивке. Поэтому, если он есть, удалите запись в вашем config.plist
и из папки EFI/OC/ACPI.
Для тех, кто хочет глубже нырнуть в дамп своего DSDT, как создавать SSDT и компилировать их, см. страницу Начало работы с ACPI (opens new window). Скомпилированные SSDT имеют расширение .aml(Assembled) и помещаются в папку EFI/OC/ACPI
, а также должны быть указаны в вашем конфиге в ACPI -> Add
.
# Delete
Информация
Этот раздел блокирует загрузку определенных ACPI таблиц, для нас это действительно важно. Основная причина, что XCPM от Apple не слишком хорошо поддерживает IvyBridge и может вызвать панику AppleIntelCPUPowerManagement при загрузке. Чтобы избежать это, мы сделаем собственный PM SSDT После установки (opens new window) и дропнем (удалим) старые таблицы (Обратите внимание, что это временно, пока мы не сделаем наш SSDT-PM, мы снова включим эти таблицы):
Удаление CpuPm:
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Delete CpuPm |
Enabled | Boolean | YES |
OemTableId | Data | 437075506d000000 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
Удаление Cpu0Ist:
Key | Type | Value |
---|---|---|
All | Boolean | YES |
Comment | String | Delete Cpu0Ist |
Enabled | Boolean | YES |
OemTableId | Data | 4370753049737400 |
TableLength | Number | 0 |
TableSignature | Data | 53534454 |
# Patch
Информация
Этот раздел позволяет нам динамически модифицировать части ACPI (DSDT, SSDT, и т.д.) через OpenCore. В нашем случае, нам понадобится следующее:
- Переименование OSI
- Это необходимо при использовании SSDT-XOSI, поскольку мы перенаправляем все вызовы OSI на этот SSDT
Comment | String | Change _OSI to XOSI |
---|---|---|
Enabled | Boolean | YES |
Count | Number | 0 |
Limit | Number | 0 |
Find | Data | 5f4f5349 |
Replace | Data | 584f5349 |
# Quirks
Настройки относящиеся к ACPI, оставьте здесь всё по умолчанию, так как нам эти квирки не нужны.
# Booter
Этот раздел посвящен квиркам относящимся к патчингу boot.efi с помощью OpenRuntime, заменяющего AptioMemoryFix.efi
# MmioWhitelist
Этот раздел позволяет передавать пробелы (spaces) в macOS, которые обычно игнорируются; полезно в сочетании с DevirtualiseMmio
# Quirks
Info
Настройки относящиеся к патчингу 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
.
- Используется для вычисления значения Slide переменной. Необходимость этого квирка определяется сообщением
- SetupVirtualMap: YES
- Исправляет вызовы SetVirtualAddresses на виртуальные адреса, требуется для плат Gigabyte для устранения ранних паник ядра.
# 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 следуйте этим шагам. Следуйте примечаниям к конфигурации под таблицей, если они говорят иначе:
- При первоначальной настройке config.plist укажите только
AAPL,ig-platform-id
- обычно этого достаточно - Если вы загружаетесь и не получаете ускорения графики (7 МБ видеопамяти и однотонный фон дока), вам, вероятно, придется попробовать другие значения
AAPL,ig-platform-id
, добавить stolenmem патчи, или даже добавить свойствоdevice-id
.
AAPL,ig-platform-id | Type | Комментарии |
---|---|---|
03006601 | Laptop | Для использования с дисплеями 1366 на 768 или меньше |
04006601 | Laptop | Для использования с дисплеями 1600 на 900 или больше, см. ниже дополнительные патчи |
09006601 | Laptop | Для использования с некоторыми устройствами, имеющими подключенный eDP монитор (в отличие от классического LVDS), необходимо сначала протестировать 03006601 и 04006601, прежде чем попробовать это. |
0b006601 | NUC | Для использования с Intel NUC |
# Примечания к конфигурации
VGA не поддерживается (если он не работает через внутренний адаптер DP-VGA, который, по-видимому, только редкие устройства будут видеть его как DP, а не VGA, все дело в удаче.)
Если вы используете
04006601
в ig-platform-id, вам может потребоваться добавить следующие параметры для исправления внешних выходов, иначе у вас будет только один выход. (Благодарность Rehabman)
Key | Type | Value | Объяснение |
---|---|---|---|
framebuffer-patch-enable | Number | 1 | включение семантических патчей (из руководства WEG) |
framebuffer-memorycount | Number | 2 | Сопоставление FBMemoryCount с тем, что находится на 03006601 (1 на 04 против 2 на 03 ) |
framebuffer-pipecount | Number | 2 | Сопоставление PipeCount на 03006601 (3 на04 против 2 на 03 ) |
framebuffer-portcount | Number | 4 | Сопоставление PortCount на 03006601 (3 на 04 против 2 на 03 ) |
framebuffer-stolenmem | Data | 00000004 | Сопоставление STOLEN памяти с 64 МБ (0x04000000 от hex до base 10 в байтах) с памятью на 03006601 Проверьте здесь (opens new window) для получения дополнительной информации. |
framebuffer-con1-enable | Number | 1 | Это позволит включить патчинг connector1 драйвера (Это второй разъем после con0, который является eDP/LVDS) |
framebuffer-con1-alldata | Data | 02050000 00040000 07040000 03040000 00040000 81000000 04060000 00040000 81000000 | При использовании всех данных с коннектором либо вам предоставляется вся информация об этом коннекторе (port-bused-type-flag), либо об этом порте и следующих за ним, как в этом случае.В этом случае количество портов в 04 ограничено 1 :05030000 02000000 30020000 (что соответствует порту 5, который является LVDS)Однако на 03 есть 3 дополнительных порта:05030000 02000000 30000000 (LVDS, con0, как 04 )02050000 00040000 07040000 (DP, con1)03040000 00040000 81000000 (DP, con2)04060000 00040000 81000000 (DP, con3)Поскольку мы изменили количество PortCount на 4 на платформе, которая имеет только 1, это означает, что нам нужно определить 3 других (и мы, начиная с con1 до конца). |
PciRoot(0x0)/Pci(0x16,0x0)
Гибриды Sandy/IvyBridge:
Некоторые ноутбуки той эры поставлялись со смешанными чипсетами, использующим процессоры Sandy Bridge с чипсетом Ivy Bridge, что создает проблемы с macOS, так как он ожидает определенного IMEI (opens new window) идентификатора, который он не находит и зависает при загрузке (поскольку драйверы iGPU от Apple требуют IMEI устройство (opens new window)), чтобы исправить это, нам нужно подделать идентификаторы IMEI в этих моделях
- Чтобы узнать, затронуты ли вы, проверьте, является ли вашим процессором Intel Core ix-3xxx, а чипсетом Hx6x (к примеру, ноутбук с HM65 или HM67 с Core i3-3110M) с помощью таких инструментов, как AIDA64.
- В своей конфигурации, добавьте новое PciRoot устройство с именем
PciRoot(0x0)/Pci(0x16,0x0)
Key | Type | Value |
---|---|---|
device-id | Data | 3A1E0000 |
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
# 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 | YES | Не требуется, если CFG-Lock отключен в BIOS |
DisableIOMapper | YES | Не требуется, если VT-D отключен в BIOS |
LapicKernelPanic | NO | Компьютеры HP нуждаются в этом квирке |
PanicNoKextDump | YES | |
PowerTimeoutKernelPanic | YES | |
XhciPortLimit | YES |
Более подробная информация
- AppleCpuPmCfgLock: YES
- Требуется только, когда CFG-Lock нельзя отключить в BIOS
- Применимо только для Ivy Bridge и старее
- Примечание: Broadwell и старее требуют этого при запуске 10.10 или старее
- AppleXcpmCfgLock: NO
- Требуется только, когда CFG-Lock нельзя отключить в BIOS
- Применимо только для Haswell и новее
- Примечание: Ivy Bridge-E также включен, поскольку он поддерживает XCPM
- CustomSMBIOSGuid: NO
- Выполняет патчинг GUID для UpdateSMBIOSMode установленным в
Custom
. Обычно актуально для ноутбуков Dell - Включение этого квирка с UpdateSMBIOSMode в Custom может также отключать инжекцию SMBIOS в ОС не от Apple, однако мы не одобряем этот метод, потому что он ломает совместимость с Bootcamp. Используйте на свой страх и риск
- Выполняет патчинг GUID для UpdateSMBIOSMode установленным в
- DisableIoMapper: YES
- Необходим для обхода VT-D, если он не может быть отключен в BIOS или необходим для других операционных систем, гораздо лучшая альтернатива
dart=0
, поскольку SIP может оставаться включенным в Catalina
- Необходим для обхода VT-D, если он не может быть отключен в BIOS или необходим для других операционных систем, гораздо лучшая альтернатива
- DisableLinkeditJettison: YES
- Позволяет Lilu и другим более надежно работать без
keepsyms=1
- Позволяет Lilu и другим более надежно работать без
- DisableRtcChecksum: NO
- Предотвращает запись AppleRTC в основную контрольную сумму (0x58-0x59), требуется для тех пользователей, у которых сбрасывается BIOS или отправляется в безопасный режим после перезагрузки/выключения
- ExtendBTFeatureFlags NO
- Полезно для тех, у кого есть проблемы со стабильностью работы с картами не от Apple/Fenvi
- LapicKernelPanic: NO
- Отключает панику ядра на прерывании lapic AP ядра, что обычно необходимо для систем HP. Эквивалентно
Kernel LAPIC
в Clover
- Отключает панику ядра на прерывании lapic AP ядра, что обычно необходимо для систем HP. Эквивалентно
- 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
- 10.4-10.5 —
- Устанавливает тип архитектуры ядра, вы можете выбрать между
KernelCache: Auto
- Задаёт тип кэша ядра, в основном используется для отладки и поэтому мы рекомендуем
Auto
для лучшей поддержки
- Задаёт тип кэша ядра, в основном используется для отладки и поэтому мы рекомендуем
# 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
- Позволяет сбрасывать NVRAM как в меню выбора загрузки, так и при нажатии
- AllowSetDefault: YES
- Позволяет нажатием
CTRL+Enter
иCTRL+Index
устанавливать загрузочное устройство по умолчанию в меню выбора
- Позволяет нажатием
- ApECID: 0
- Используется для привязки secure-boot персонализированных идентификаторов, в настоящее время этот квирк ненадежен из-за бага в установщике macOS, поэтому мы вам настоятельно рекомендуем оставить это по умолчанию.
- AuthRestart: NO
- Включает аутентифицированный перезапуск для FileVault 2, поэтому пароль не требуется при перезагрузке. Может рассматриваться как угроза безопасности, поэтому это необязательно
- BlacklistAppleUpdate: YES
- Используется для блокировки обновлений прошивки, используется как дополнительный уровень защиты, так как macOS Big Sur больше не использует переменную
run-efi-updater
- Используется для блокировки обновлений прошивки, используется как дополнительный уровень защиты, так как macOS Big Sur больше не использует переменную
- 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
# 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
Более подробная информация
- rtc-blacklist: <>
- Для использования в сочетании с RTCMemoryFixup, см. здесь для получения дополнительной информации: Устранение проблем с записью RTC (opens new window)
- Большинство пользователей могут игнорировать этот раздел
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
Информация
Для настройки SMBIOS, мы будем использовать приложение GenSMBIOS (opens new window) от CorpNewt.
На примере этого Ivy Bridge, мы выберем iMac13,2 SMBIOS - это сделано намеренно для совместимости. Типичная разбивка выглядит следующим образом:
SMBIOS | Тип процессора | Тип GPU | Размер дисплея |
---|---|---|---|
MacBookAir5,1 | Двухъядерный 17w | iGPU: HD 4000 | 11" |
MacBookAir5,2 | Двухъядерный 17w | iGPU: HD 4000 | 13" |
MacBookPro10,1 | Четырехъядерный 45w | iGPU: HD 4000 + dGPU: GT650M | 15" |
MacBookPro10,2 | Двухъядерный 35w(High End) | iGPU: HD 4000 | 13" |
Macmini6,1 | Двухъядерный NUC | iGPU: HD 4000 | N/A |
Macmini6,2 | Четырехъядерный NUC | iGPU: HD 4000 | N/A |
Примечание: Следующие SMBIOS поддерживаются только до 10.15 (Catalina) включительно. Для случаев, когда вы хотите загрузить Big Sur, смотрите ниже:
Таблица Big Sur SMBIOS
Обратите внимание, что выбор SMBIOS из списка ниже для Catalina и старее - не рекомендуется, так как управления питанием и т.п. могут сломаться при использовании неоптимизированного SMBIOS.
SMBIOS | Тип процессора | Размер дисплея |
---|---|---|
MacBookAir6,1 | Двухъядерный 15w | 11" |
MacBookAir6,2 | Двухъядерный 15w | 13" |
MacBookPro11,1 | Двухъядерный 28w | 13" |
MacBookPro11,2 | Четырехъядерный 45w | 15" |
MacBookPro11,3 | Четырехъядерный 45w | 15" |
MacBookPro11,4 | Четырехъядерный 45w | 15" |
MacBookPro11,5 | Четырехъядерный 45w | 15" |
Macmini7,1 | Системы NUC | N/A |
Запустите GenSMBIOS, выберите 1 для загрузки MacSerial и 3 для выбора SMBIOS. Это даст нам вывод похожий на этот:
#######################################################
# MacBookPro10,2 SMBIOS Info #
#######################################################
Type: MacBookPro10,2
Serial: C02KCYZLDNCW
Board Serial: C02309301QXF2FRJC
SmUUID: A154B586-874B-4E57-A1FF-9D6E503E4580
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
- Устанавливает, распаяна ли память или нет в информацию SMBIOS, чисто косметически, поэтому рекомендуем
UpdateDataHub: YES
- Обновляет Data Hub поля
UpdateNVRAM: YES
- Обновляет NVRAM поля
UpdateSMBIOS: YES
- Обновляет SMBIOS поля
UpdateSMBIOSMode: Create
- Заменяет таблицы новым выделенным EfiReservedMemoryType, используйте
Custom
на ноутбуках Dell, требующихCustomSMBIOSGuid
квирка - Включение этого квирка с
CustomSMBIOSGuid
вCustom
может также отключать инжекцию SMBIOS в ОС не от Apple, однако мы не одобряем этот метод, потому что он ломает совместимость с Bootcamp. Используйте на свой страх и риск
- Заменяет таблицы новым выделенным EfiReservedMemoryType, используйте
# UEFI
ConnectDrivers: YES
- Принудительно загружает .efi драйверы, изменение на NO автоматически подключит UEFI драйверы. Это может сделать загрузку немного быстрее, но не все драйверы подключаются сами. К примеру, некоторые драйверы файловой системы могут не загружаться.
# Drivers
Добавьте свои .efi драйверы сюда.
Драйверы, которые должны быть здесь:
- HfsPlus.efi
- OpenRuntime.efi
# APFS
Настройки относящиеся к APFS драйверу, оставьте здесь всё по умолчанию.
# Audio
Относится к настройкам AudioDxe, в нашем случае, мы это проигнорируем(оставьте по умолчанию). Это не относится к поддержке звука в macOS.
- Для дальнейшего использования AudioDxe и раздела Audio, см. страницу После установки: Добавление GUI и Boot-chime (opens new window)
# 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), т.д.
- Перенаправляет AptioMemoryFix из
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 (или Legacy Support, или Hybrid Boot)
- Thunderbolt (Если возможно, отключите для первоначальной установки, поскольку Thunderbolt может вызвать проблемы, если он настроен неправильно)
- Intel SGX
- Intel Platform Trust
- CFG Lock (защита от записи MSR 0xE2)(Это должно быть отключено, если вы не можете найти эту опцию, включите
AppleCpuPmCfgLock
в Kernel -> Quirks. Ваш хак не будет загружаться со включенным CFG-Lock)
# Включите
- VT-x (Virtualization Support)
- 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): 32MB
- SATA Mode: AHCI
# Теперь, когда это всё сделано, перейдите на Страницу Установки
⟵ Sandy Bridge Haswell ⟶