# Bulldozer(15h) и Jaguar(16h)
Поддержка | Версия |
---|---|
Поддерживаемая версия OpenCore | 0.6.9 |
Начало поддержки в macOS | macOS 10.13, High Sierra |
# Отправная точка
И так, создание 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
- Патчи ядра для AMD (opens new window)
- Требуется для загрузки macOS на процессорах AMD(сохраните их на потом, ниже мы рассмотрим как их использовать)
- Bulldozer/Jaguar(15h/16h) (opens new window) (Поддерживаются 10.13, 10.14, и 10.15)
И прочтите это руководство несколько раз, прежде чем настраивать OpenCore, и убедитесь, что он правильно настроен. Обратите внимание, что изображения не всегда будут актуальными, поэтому прочтите текст под ними, если ничего не сказано - оставьте значения по умолчанию.
# ACPI
# Add
Информация
Здесь вы добавите SSDT для вашей системы, это очень важно чтобы загрузить macOS, и они имеют множество применений, к примеру USB map (opens new window), отключение неподдерживаемых GPU и т.п. А с нашей системой, она обязана загрузиться. Рукводство по созданию SSDT можно найти здесь: Начало работы с ACPI (opens new window)
Требумые_SSDT | Описание |
---|---|
SSDT-EC-USBX (opens new window) | Исправляет встроенные контроллеры с питанием USB, см. Руководство по началу работы с ACPI (opens new window) для получения дополнительной информации. |
Обратите внимание, что вы не должны добавлять ваш сгенерированный 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. Для нас, наши патчи предоставлены (handled) нашим SSDT. Это более чистое решение, поскольку позволяет нам загружать Windows и другие ОС с помощью OpenCore
# Quirks
Настройки относящиеся к ACPI, оставьте здесь всё по умолчанию, так как нам эти квирки не нужны.
# Booter
Этот раздел посвящен квиркам относящимся к патчингу boot.efi с помощью OpenRuntime, заменяющего AptioMemoryFix.efi
# MmioWhitelist
Этот раздел позволяет передавать пробелы (spaces) в macOS, которые обычно игнорируются; полезно в сочетании с DevirtualiseMmio
# Quirks
Информация
Настройки относящиеся к патчингу boot.efi и исправлению прошивки, мы оставим всё по умолчанию
Более подробная информация
- AvoidRuntimeDefrag: YES
- Исправляет рантайм сервисы UEFI, такие как дата, время, NVRAM, управление питанием на UEFI платах.
- 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.
По умолчанию, в Sample.plist этот раздел настроен для iGPU и Audio. У нас нет iGPU, поэтому PciRoot PciRoot(0x0)/Pci(0x2,0x0)
можно удалить из раздела Add
. Для звука, мы будем настраивать Layout в boot-args разделе, поэтому удаление PciRoot(0x0)/Pci(0x1b,0x0)
также рекомендуется из Add
и Block
разделов
TL;DR, удалите все PciRoot здесь, поскольку мы не будем этот раздел.
# Delete
Удаляет Device Properties из map, в нашем случае, мы можем игнорировать это
# Kernel
Kernel | Kernel Patches |
---|---|
# 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
Информация
Требуется для спуфинга (подмены) неподдерживаемых процессоров и отключения управлением питания на на неподдерживаемых процессорах (такие как процессоры AMD)
Quirk | Enabled |
---|---|
DummyPowerManagement | YES |
Более подробная информация
- CpuidData: Оставьте это поле пустым
- Фейковая (fake) запись CPUID
- CpuidMask: Оставьте это поле пустым
- Маска для фейкового CPUID
- DummyPowerManagement: YES
- Новая альтернатива NullCPUPowerManagement, требуется для всех систем на базе процессоров AMD, поскольку они не имеют нативного управления питанием
- MinKernel: Оставьте это пустым
- Минимальная версия ядра, в которую будут инжектироваться патчи, если не указано значение, они будут примененятся ко всем версиям macOS. См. возможные значения в таблице ниже
- например,
12.00.00
для OS X 10.8
- MaxKernel: Оставьте это пустым
- Максимальная версия ядра, в которую будут инжектироваться патчи, если не указано значение, они будут примененятся ко всем версиям macOS. См. возможные значения в таблице ниже
- например,
11.99.99
для OS X 10.7
Kernel Support Table
OS X Version | 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 |
# Force
Используется для загрузки кекстов с системного тома, актуально только для старых операционных систем, где некоторые кексты отсутствуют в кэше (например, IONetworkingFamily в 10.6).
В нашем случае, мы можем игнорировать это.
# Block
Блокирует загрузку определенных кекстов. Не релевантно для нас.
# Patch
Именно здесь происходит волшебный патчинг ядра для AMD. Пожалуйста, обратите внимание, что KernelToPatch
и MatchOS
из Clover становятся Kernel
и MinKernel
/MaxKernel
в OpenCore, вы можете найти предварительно сделанные патчи от AlGrey (opens new window)(algrey#9303).
Патчи ядра:
- Bulldozer/Jaguar(15h/16h) (opens new window) (10.13, 10.14, и 10.15)
Установка патчей:
- Откройте оба файла,
- Удалите раздел
Kernel -> Patch
из config.plist - Скопируйте раздел
Kernel -> Patch
из patches.plist - Вставьте туда, где были старые патчи в config.plist
# Quirks
Информация
Настройки относящиеся к ядру, для нас мы изменим следующее:
Quirk | Enabled |
---|---|
PanicNoKextDump | YES |
PowerTimeoutKernelPanic | YES |
XhciPortLimit | YES |
Более подробная информация
- AppleCpuPmCfgLock: NO
- Требуется только, когда CFG-Lock нельзя отключить в BIOS. Пользователи AMD могут игнорировать
- AppleXcpmCfgLock: NO
- Требуется только, когда CFG-Lock нельзя отключить в BIOS. Пользователи AMD могут игнорировать
- AppleXcpmExtraMsrs: NO
- Отключает множественный доступ к MSR, необходимый для неподдерживаемых процессоров, таких как Pentium и некоторых Xeon
- CustomSMBIOSGuid: NO
- Выполняет патчинг GUID для UpdateSMBIOSMode установленным в
Custom
. Обычно актуально для ноутбуков Dell - Включение этого квирка в тандеме с
PlatformInfo -> UpdateSMBIOSMode -> Custom
отключает инжекцию SMBIOS в ОС не от Apple, однако мы не одобряем этот метод, потому что он ломает совместимость с Bootcamp. Используйте на свой страх и риск
- Выполняет патчинг GUID для UpdateSMBIOSMode установленным в
- DisableIoMapper: NO
- AMD не имеет DMAR или VT-D, так что не актуально
- 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. Более подходящее решение для AMD можно найти здесь: AMD USB Mapping (opens new window)
# 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 больше не использует переменную
- BootProtect: None
- Позволяет использовать Bootstrap.efi внутри папки EFI/OC/Bootstrap, вместо BOOTx64.efi, полезно для тех, кто хочет загружаться с помощью rEFInd или хочет избежать перезаписи BOOTx64.efi от Windows. Правильное использование этих квирков описано здесь: Использование Bootstrap.efi (opens new window)
- 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 параметр, который указывает ОС также печатать символы при панике ядра. Это может дать более полезное представление о том, что вызывает саму панику. |
npci=0x2000 | Это отключает отладку PCI связанную с kIOPCIConfiguratorPFM64 , альтернативой является npci=0x3000 , который дополнительно отключает отладку, связанную с gIOPCITunnelledKey . Требуется, если загрузка застревает на PCI Start Configuration , поскольку есть IRQ конфликты связанные с вашими PCI линиями. Не требуется, если Above4GDecoding включен. Источник (opens new window) |
- Специфичные для GPU boot-args:
boot-args | Описание |
---|---|
agdpmod=pikera | Используется для отключения boardID на GPU Navi(RX 5000 series), без этого вы получить чёрный экран. Не используйте, если у вас не Navi(т.е. Polaris и Vega карты не должны использовать это) |
nvda_drv_vrl=1 | Используется для включения веб-драйверов Nvidia на картах Maxwell и Pascal в Sierra и High Sierra |
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
следует оставить в покое. Мы изменим следующее:
Quirk | Enabled |
---|---|
WriteFlash | YES |
Более подробная информация
LegacyEnable: NO
- Позволяет хранить NVRAM в nvram.plist, что необходимо для систем без нативного NVRAM
LegacyOverwrite: NO
- Разрешает перезапись переменных прошивки из nvram.plist, требуется только для систем без нативного NVRAM
LegacySchema
- Используется для назначения NVRAM переменных, используется с LegacyEnable в YES
WriteFlash: YES
- Позволяет записывать в флеш-память все добавленные переменные.
# PlatformInfo
Информация
Для настройки SMBIOS, мы будем использовать приложение GenSMBIOS (opens new window) от CorpNewt.
Для этого примера, мы выберем iMacPro1,1 SMBIOS, но некоторые SMBIOS работают с определенными графическими процессорами лучше, чем остальные:
- iMacPro1,1: AMD RX Polaris и новее
- MacPro7,1: AMD RX Polaris и новее
- Обратите внимание, что для MacPro7,1 минимальная версия - Catalina
- MacPro6,1: AMD R5/R7/R9 и старее
- iMac14,2: Nvidia Kepler и новее
- Примечание: iMac14,2 поддерживает версии macOS 10.8-10.15, для macOS 11 Big Sur и новее - используйте MacPro7,1
Запустите GenSMBIOS, выберите 1 для загрузки MacSerial и 3 для выбора SMBIOS. Это даст нам вывод похожий на этот:
#######################################################
# iMacPro1,1 SMBIOS Info #
#######################################################
Type: iMacPro1,1
Serial: C02YX0TZHX87
Board Serial: C029269024NJG36CB
SmUUID: DEA17B2D-2F9F-4955-B266-A74C47678AD3
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 | Comment |
---|---|---|
UnblockFsConnect | NO | В основном нужно материнским платам HP |
Более подробная информация
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)
# Настройки AMD BIOS
- Примечание: Большинство этих параметров могут отсутствовать в вашей прошивке, мы рекомендуем сопоставлять как можно ближе, но не слишком беспокойтесь, если многие эти параметры будут не доступны в вашем BIOS
# Отключите
- Fast Boot
- Secure Boot
- Serial/COM Port
- Parallel Port
- Compatibility Support Module (CSM)(Должно быть выключено, поскольку ошибки GPU, такие как
gIO
являются обычным явлением, когда эта опция включена)
# Включите
- Above 4G decoding(Это должно быть включено, если вы не можете найти эту опцию, добавьте
npci=0x2000
в boot-args. Не включайте одновременно эту опцию и npci) - EHCI/XHCI Hand-off
- OS type: Windows 8.1/10 UEFI Mode
- SATA Mode: AHCI