关键字:黑苹果;OC;OpenCore;引导;配置
2020-04-10编译OpenCore-0.5.8-04-10
- 修复不正确的实用程序和资源安装包
- 修正
Custom
UpdateSMBIOSMode
修改SMBIOSv3列表的问题 - 通过
UpdateSMBIOSMode
使用更新的文档来覆盖分离SMBIOS - 修复
OpenCanopy
中macOS 10.15.4 安装图标的问题
2020-04-07编译OpenCore-0.5.8-04-07(更新版本号)
一、 OC配置的基本条件与工具软件
1.1、 Clover能正确引导,系统各种功能基本正常(关机/重启正常等)。
1.2、 已完成USB定制,且定制正确。
1.3、 工具软件:
a.Clover Configurator(Clover配置工具),
b. OpenCore Configurator(持续更新中),
c. Hackintool(综合工具),
d. PlistEdit Pro(Plist文件工具),
e. IORegistryExplorer(路径工具),
f. BetterZip(解压软件)。
1.4、工具软件下载:
https://pan.baidu.com/s/1Pz7z-KDsaohf7vIzGqo7Bg 密码:ybun
1.5、基本流程:
1.6、OpenCore基本架构
二、 配置准备:
2.1、 Clover-EFI包
将自己正常使用的Clover的EFI拷贝到桌面,并改名为Clover-EFI,便于识别。
2.2、OC-EFI包
放到桌面。里面包含Docs与Utilities后面将会用到。并改名为OC-EFI,便于识别。
2.3、ACPI文件转移
将Clover-EFI
- CLOVER
-ACPI
-patched
里面你用的DSDT/SSDT全部拷贝到OC-EFI
-OC
-ACPI
里面。注意,除非你清楚这些DSDT/SSDT的明确作用,否则,能不用就不要用!
2.4、.efi文件转移
将Clover-EFI
-CLOVER
- drivers
- UEFI
里面用的所有.efi文件全部拷贝到OC-EFI
-OC
- Drivers
里面,注意OC必须有OpenRuntime.efi
(一般下载包里面都有)。OC用的的.efi文件不多,拷贝进去的可能很多用不上,正常引导后,删除用不到的.efi。一般只需要ApfsDriverLoader.efi
、OpenRuntime.efi
、HFSPlus.efi
三项,除非有其他特殊要求。
2.5、驱动转移
将Clover-EFI
-CLOVER
-kexts
-Other
里面所有驱动全部拷贝到OC-EFI
-OC
- Kexts
里面。同样道理,除非你清楚这些驱动的用途,否则删除不明用途的驱动
2.6、config.plist文件
将OC包/Docs里面的范例Sample.plist或SampleFull.plist之一拷贝到OC-EFI-OC里面,并改名为config.plist。
2.7、config.plist文件处理
分别用相应的配置工具打开Clover-config.plist与OC-config.plist。
三、 开始配置OC-config.plist
3.1、Config-ACPI设置:
3.1.1、config-ACPI-添加(Add):
先删除范例里面所有DSDT/SSDT,点浏览,到OC-EFI/OC/ACPI,选取所有你使用的DSDT/SSDT。(再次建议:,特别是台式机,能不用DSDT/SSDT的,就不要用,除非你精通且清楚了解DSDT/SSDT的作用!
)
3.1.2、config-ACPI-阻止(Block):
对应Clover-ACPI-Drop Tables,除非你明白确切意义,一般不用。
3.1.3、config-ACPI-补丁(Patch):
对应Clover-ACPI-补丁,用于热补丁,可以用OpenCore Configurator-工具-配置转换器,将Clover-config.plist转换为OC-config.plist(临时),用拷贝-复制的方式很方便的将Clover-config.plist补丁添加到OC-config.plist里面,如果热补丁过多,而你又不知道确切作用,建议你,逐个调试删除,保留最少的、必要的热补丁。我已经遇到不止一个例子,由于乱用热补丁且不明白这些热补丁的明确作用,导致无法正常引导。特别是笔记本。
下面是10.15.x常用的2个补丁:
更改控制器EC0名称
Comment:EC0 to EC Find:4543305F Replace:45435F5F
解决RTC问题:
Comment:Fix AsRock Z390 BIOS DSDT Device(RTC) bug Find:A00A9353 54415301 Replace:A00A910A FF0BFFFF
3.1.4、config-ACPI-Quirks:
- FadtEnableReset:主要用于老旧主板的开关机功能,如果你关机变重启,可以勾选,一般情况下
不勾选
。 - ReseHwSig:与休眠有关的选项,台式机一般不用,
不勾选
- NormalizeHeaders:清理ACPI头,一般
勾选
,如果有相应的热补丁,可以不勾选
。 - RebaseRegions:更换硬件或升级BIOS可能对ACPI产生影响,一般
不勾选
。如果遇到卡PCI Configuration Begin,就勾选试试。 - Resetlogstatus:重置日志,一般
不勾选
。
3.2、Config-Booter设置
3.2.1、config-Booter-MmioWhitelist(内存映射IO白名单)
默认第一项是为Haswell芯片
提供内存寻址修复,此类芯片如果遇到内存相关问题,就勾选启用。 默认第二项是开机卡PCI Configuration。ACPI、PCI device同时释放到内存时发生0x1000内存地址被占用而卡在PCI Configuration,则勾选,否则无视!
3.2.2、config-Booter-Quirks:
此设置与OpenRuntime.efi
有密切关系,OpenRuntime.efi
将一些功能与OC合并、模块化。对于300系列等无法原生nvram的主板来说,此处的选项需要格外关注!
- AvoidRuntimeDefrag:绝大部分UEFI都会写入时间、电源管理等信息,只要是黑苹果,此项必须
勾选
。 - DevirtualiseMmio:一般情况下,采用slide=1的方式进行连续性内存注入,故一般
不勾选
,除非你的机器用了KASLR方式。(台式机基本没有)。 - DisableSingleUser:是否开启单用户模式(-s)。一般
不勾选
。 - DisableVariableWrite:非原生nvram主板需要模拟nvram.plist写入variable值,所以
非原生nvram主板
必须勾选
,原生nvram主板
则不勾选
。<font color= "#FF0000" >经过测试非原生nvram主板
(主要是300系列主板)使用SSDT-PMC以后,就可以当原生nvram主板使用,不用勾选此项。</font> - DiscardHibernateMap:这个选项帮助我们解决下面的冲突:当电脑从休眠中唤醒时,硬盘里面的资料会恢复到内存中去,此时OC内核以及内核缓存也要写入,二者可能产生冲突。就目前而言,台式机无视休眠功能,故,
不勾选
! - EnableSafeModeSlide:安全模式下(-x)是否用连续性的内存注入方式,一般
勾选
。 - EnableWriteUnprotector:允许对UEFI服务代码的写入,该选项通过删除写保护(WP)来绕过UEFI运行时服务的代码页中的RX权限。一般是
勾选
- ForceExitBootServices:为让老旧主板也能使用内存寻址,正常情况下,
不勾选
,除非你的额主板很老很旧。至于何为老旧主板,自己根据实践摸索试验。 - ProtectMemoryRegions:确保CSM内存区域标记为ACPI NVS,以防止boot.efi或XNU重新定位或使用它们。但是由于AvoidRuntimeDefrag解决了类似的问题。默认
不勾选
(false)除非一些老旧主板可能需要勾选,需要测试。 - ProtectSecureBoot:保护UEFI安全引导变量写入参数时不被干扰而引起冲突,默认
不勾选
(false)。如选择Insyde或选择机型MacPro5,1。可能需要勾选。 - ProtectUefiServices:保护UEFI服务不被固件覆盖。用于修复Z390在DevirtualiseMmio、ProtectCsmRegion或ShrinkMemoryMap上的问题,非Z390的主板默认
不勾选
(false)。需要自己测试 - ProvideCustomSlide:此选项时强制macOS在可用的slide值中使用一个随机的、不产生冲突的slide值,故,必须
勾选
。 - RebuildAppleMemoryMap:生成与macOS兼容的内存映射,用于修复戴尔5490上启动macOS的问题,默认
不勾选
(false)。 - SetupVirtualMap:通过虚拟内存建立连续性内存供OC使用,并映射到分散的物理内存中,故,必须
勾选
。 - SignalAppleOS:将其他操作系统的信息报告给正在加载的macOS,
不勾选
。 - SyncRuntimePermissions:更新运行时环境的内存权限,主要用于早期的macOS或Linux/Windows,默认
不勾选
(false)。
3.3、Config-DeviceProperties设置:
此项是用来描述/注入设备信息。主要是显卡与声卡,当然,也可以定制一些设备到关于本机-系统报告-PCI列表中去。
3.3.1:Config-DeviceProperties-添加(Add):
PCI信息导出:打开Hackintool,到PCI列表,点击下面的导出,在桌面生成4个文件,如果是在Clover-EFI环境下导出的,需要用OpenCore Configurator-工具-配置转换器打开pcidevices.plist,能看到全部PCI信息。此信息是基于你目前采用Clover开机状态下所有可以正常使用的PCI信息。删除模版中所有设备,将你需要的设备拷贝过来。并稍作修改。具体的可以去看OpenCore配置视频第二版
3.3.1.1:声卡:
- 一般情况下声卡的路径是
PciRoot(0x0)/Pci(0x1f,0x3)
。 - 右边的键/值一般稍作修改,比如接口
AAPL,slot-name
的值可以改为Built In
(内建/内置)。 - 显示名称
model
的值改为Hackintool-音频-音频设备-名称里面的。 layout-id
的值一般就用导出的。不用修改。device_type
一般设置为:Audio device
- 其他就用导出的值。
3.3.1.2:显卡:
- 无集显的CPU直接删除路径
PciRoot(0x0)/Pci(0x2,0x0)
,将pcidevices.plist中独显信息直接拷贝过来,我的路径是:PciRoot(0x20)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)。 AAPL,slot-name
的值改为PCIEX1
或者Slot-1
。model
的值可以改为Radeon Pro Vega 56
(根据自己显卡的名字修改)。- 其他不动。
- 独显DP/HDMI声卡:直接将pcidevices.plist中独显DP/HDMI声卡信息直接拷贝过来,我的路径
PciRoot(0x20)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)
。 AAPL,slot-name
的值与显卡相同。model
的值可以改为与显卡匹配,比如Radeon Pro Vega 56 DP/HDMI Audio。其他不动。- 有集显的CPU:路径
PciRoot(0x0)/Pci(0x2,0x0)
。一般情况下,直接将pcidevices.plist中集显的信息直接拷贝过来,就可以了,稍作修改,如AAPL,slot-name改为Built In(内建/内置)。model的值稍作修饰。关于仅使用集显的,可能遇到HDMI接口紫屏的问题,请自行搜索解决办法。
3.3.1.3:其他设备
一般情况下,除非需要,一般不导入。
3.3.2:Config-DeviceProperties-阻止(Block):
此项默认即可。一般不做修改。
3.4:Config-Kernel设置:
此项是内存相关的设置。
3.4.1:Config-Kernel-添加(Add):
直接点击浏览,到OC-EFI/OC/Kexts,选取全部,这里需要注意的是,Lilu.kext必须调整到第一位。对于依赖VirtualSMC.kext或FakeSMC.kext的驱动,则必须放在他们的后面。需要启用的,后面需要勾选。笔记本特别要注意键盘与触摸板驱动,主驱动一定要放在包内容驱动前面。
3.4.2:Config-Kernel-阻止(Block),
禁用一些驱动。默认即可。
3.4.3:Config-Kernel-补丁(Patch):
范例里面的4个一般情况下不用,2个RTC的补丁可以用于华硕的主板(二选一),但需要测试。主要解决华硕主板重启BIOS重置,需要按F1跳过的问题。
3.4.4:Config-Kernel-CPU仿冒,
2种情况下,需要仿冒。
1、macOS尚不支持的CPU。
2、为不受支持的CPU启用XCPM。
对于XCPM支持,建议使用以下组合。
•Haswell-E(0x306F2)至Haswell(0x0306C3):
Cpuid1Data:C3 06 03 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask::FF FF FF FF 00 00 00 00 00 00 00 00 00 00
•Broadwell-E(0x0406F1)至Broadwell(0x0306D4):
Cpuid1Data:D4 06 03 00 00 00 00 00 00 00 00 00 00 00
Cpuid1Mask::FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00。
进一步情况可以见 acidanthera/bugtracker#365。
3.4.5:Config-Kernel-Quirks:
这个是内核相关的选项,重要!
-
AppleCpuPmCfgLock:如果你BIOS里面
CFG/MSR
已经关闭
,则不勾选
。没有关闭
,则必须勾选
,不清楚是否关闭,请用Hackintool-工具-点击Intel标志-从appleintellnfo获取,查找CFG Lock,如果显示0(MSR not lockde)则是关闭,如果显示1(MSR locked)则是开启。BIOS里面没有CFG/MSR相关选项的,CFG Lock关闭的方法见OpenCore引导Mac下解除CFG LOCK锁定。 -
AppleXcpmCfgLock:同上。
-
AppleXcpmExtraMsrs:主要是在无原生电源管理的CPU上使用,一般是
Haswell-E
,Broadwell-E
,Skylake-X
这三种CPU,必须勾选
,其他CPU不用勾选
。 -
AppleXcpmForceBoost:此补丁将
0xFF00
写入到MSR_IA32_PERF_CONTROL (0x199),
一般CPU都不勾选
,只有某些Xeon的CPU有作用。 -
CustomSMBIOSGuid:戴尔本本用的,一般
不勾选
。<font color= "#FF0000" >戴尔的笔记本与台式机最好也不要勾选,可能导致无法正确显示序列号。</font> -
DisableIoMapper:禁止vt-d,如果BIOS里面禁止了,就
不勾选
。 -
DummyPowerManagement:对于一些需要禁用AppleIntelCpuPowerManagement,采用NullCpuPowerManagement.kext 进行电源管理的CPU,必须勾选。其他CPU不勾选。
-
ExternalDiskIcons:AHCI控制器相关。现在主流主板对AHCI支持都很好,一般
不勾选
。 -
IncreasePciBarSize:将IOPCIFamily中的32位PCI带宽大小从1GB增加到4GB,一般
不勾选
-
LapicKernelPanic:用于惠普本本的内核崩溃,一般
不勾选
。惠普本本也不要勾选。!! -
PanicNoKextDump:显示kext出错信息,一般
不勾选
。 -
PowerTimeoutKernelPanic:当遇到睡眠不能唤醒,只有重启后才能唤醒的情况下勾选,台式机一般
不勾选
。 -
ThirdPartyDrives:类似于开启Sata固态硬盘的trim功能。有Sata固态硬盘勾选,没有则
不勾选
。 -
XhciPortLimit:解除15个端口限制,确认USB端口完美定制的可以不勾选。一般
勾选
。有USB定制的不勾选
。
3.5:Config-Misc设置
3.5.1:Config-Misc-BlessOverride:
这个选择是寻找一些不同位置的EFI,一般空。
3.5.2:Config-Misc- Boot:
-
ConsoleAttributes:设置图形界面背景与前景颜色,默认为0,其他颜色请官方说明。
-
HibernateMode:检测休眠模式,一般选
none
,原生支持nvram的,并想休眠(注意不是睡眠)的,选auto
。 -
HideAuxiliary:隐藏引导是磁盘一些辅助选项,勾选时,隐藏如:recovery、Clean NVRAM等,按ESC、0或空格后,显示而不隐藏。
-
HideSelf:隐藏自身的EFI引导盘选项,当其他操作系统与Mac引导盘在同一EFI位置时不勾选(就是单硬盘双/多系统的单EFI引导的情况)。一般是
勾选
滴。 -
PickerAttributes:使用纯文本用户界面时背景与前景颜色选择。根据UEFI规范,用参数的选择,来调节背景与前景的颜色,默认值为
0
-
PickerAudioAssist :开启/关闭(true/false)启动时音频。
-
PollAppleHotKeys:是否开一些组合热键,如command+K;command+S。如果发现开机键盘无法选择,则不勾选。并删除OC/Drivers下的UsbKbDxe.efi。
-
ShowPicker:是否显示开机启动盘显示,一般
勾选
,长期稳定使用的情况下可以不勾选。 -
TakeoffDelay:在选择启动盘之前与快捷键操作的延迟。一般是0,对于一些键盘驱动需要填写5000-10000(微秒)。
-
Timeout :倒计时,0~30的整数。
-
PickerMode:启动界面选择
- <font color= "#FF0000" >Builtin模式:使用简单的纯文本用户界面</font>。一般
选择此模式
- External模式:如果图形界面引导可用则启用,否则使用纯文本用户界面。所需Resources文件点这里下载,里面包含开机声音、图形界面所需的图片以及相应驱动。
- Apple模式:如果苹果引导可用则启用,否则使用纯文本用户界面。
在External模式下,完全禁用OpenCore对所有引导管理,除非有强制策略。
在Apple模式下,可以绕过强制策略。
要实现External模式,用户自定义界面,使用OcSupportPkg、 OcBootManagementLib库,外部图形接
口参考在ExternalUi测试驱动程序中提供。
OpenCore-Builtin模式引导包含在引导过程中支持几个快捷键,类似于苹果的BDS,目前有以下几个:
Default-默认选项:使用OpenCore内置引导
ShowPicker项:勾选此项,则此项变为默认项,强制picker显示,可以在引导时使用Option。
ResetNvram项:在勾选AllowNvramReset的情况下,可以使用CMD+OPT+P+R组合键来实现清除(Reset) NVRAM,当然还可以用另一种方式来清除NVRAM。
BootApple项:执行此选项会找到的苹果操作系统的第一个引导,除非苹果已经创建了默认选择的操作系统。按住X键可选择此选项。
BootAppleRecovery项:此选项执行引导到Apple操作系统恢复模式。要么是与默认选择的操作系统相关的操作系统,要么是在默认选择的操作系统不是由苹果公司创建或没有恢复的情况下首先找到的操作系统。按住CMD+R组合键可选择此选项。
- <font color= "#FF0000" >Builtin模式:使用简单的纯文本用户界面</font>。一般
3.5.3:Config-Misc-Debug:调试选项
- AppleDebug:勾选后 boot.efi调试日志保存到OpenCore日志中,一般
不勾选
。此参数仅适用于10.15.4及以上的版本 - DisableWatchDog:
不勾选
。 - DisplayDelay:显示延迟,填入
0
。 - DisplayLevel:显示等级,填入:
2147483650
。 - Target:目标,一般填入
3
。
3.5.4:Config-Misc-Entries:添加一些路径。现在暂时不管。
3.5.5:Config-Misc- Security:安全设置,
-
AllowNvramReset:
勾选
是在开机引导选项中加入重置nvram缓存功能,调试完毕,稳定后
,可以不勾选
。 -
AllowSetDefault:允许CTRL+Enter和CTRL+Index处理在引导选择器中设置默认引导选项。
-
AuthRestart:与启动身份验证相关,
不勾选
。 -
ExposeSensitiveData:由于使用nvram,填入
3
-
HaltLevel:显示级别,填入:
2147483648
。(0x80000000)的十进制 -
<font color= "#FF0000" >Vault:磁盘加密</font>
<font color= "#FF0000" >填写Optional时,为选择磁盘不加密,一般情况下都填写
Optional
</font>填写Basic时,启用基本的系统文件加密验证
填写Secure时,启用完整全面的系统文件加密验证
-
ScanPolicy:扫描策略,默认
983299
即可。建议填写`3870467
,也可以直接填写0
解除所有限制,但是不建议用0,那样显示的项目太多,太杂。
(ScanPolicy 参数是用来控制Oc扫描启动项的,对于苹果来说这显得多余。苹果的固件可以选择 禁用第三方安装盘 也就是 他会默认禁用U盘安装盘 需要进入Recovery 关闭保护才能正常引导,而黑果这种设计显得不那么灵活。-
0x00000001 (bit 0) — OC_SCAN_FILE_SYSTEM_LOCK, restricts scanning to only known file systems defined as a part of this policy. File system drivers may not be aware of this policy, and to avoid mounting of undesired file systems it is best not to load its driver. This bit does not affect dmg mounting, which may have any file system. Known file systems are prefixed with OC_SCAN_ALLOWFS.
-
0x00000002 (bit 1) — OC_SCAN_DEVICE_LOCK, restricts scanning to only known device types defined as a part of this policy. This is not always possible to detect protocol tunneling, so be aware that on some systems it may be possible for e.g. USB HDDs to be recognised as SATA. Cases like this must be reported. Known device types are prefixed with OC_SCAN_ALLOWDEVICE.
-
0x00000100 (bit 8) — OC_SCAN_ALLOW_FS_APFS, allows scanning of APFS file system.
-
0x00000200 (bit 9) — OC_SCAN_ALLOW_FS_HFS, allows scanning of HFS file system.
-
0x00000400 (bit 10) — OC_SCAN_ALLOW_FS_ESP, allows scanning of EFI System Partition file system.
-
0x00000800 (bit 11) — OC_SCAN_ALLOW_FS_NTFS, allows scanning of NTFS (Msft Basic Data) file system.
-
0x00001000 (bit 12) — OC_SCAN_ALLOW_FS_EXT, allows scanning of EXT (Linux Root) file system.
-
0x00010000 (bit 16) — OC_SCAN_ALLOW_DEVICE_SATA, allow scanning SATA devices.
-
0x00020000 (bit 17) — OC_SCAN_ALLOW_DEVICE_SASEX, allow scanning SAS and Mac NVMe devices.
-
0x00040000 (bit 18) — OC_SCAN_ALLOW_DEVICE_SCSI, allow scanning SCSI devices.
-
0x00080000 (bit 19) — OC_SCAN_ALLOW_DEVICE_NVME, allow scanning NVMe devices.
-
0x00100000 (bit 20) — OC_SCAN_ALLOW_DEVICE_ATAPI, allow scanning CD/DVD devices.
-
0x00200000 (bit 21) — OC_SCAN_ALLOW_DEVICE_USB, allow scanning USB devices.
-
0x00400000 (bit 22) — OC_SCAN_ALLOW_DEVICE_FIREWIRE, allow scanning FireWire devices.
- 0x00800000 (bit 23) — OC_SCAN_ALLOW_DEVICE_SDCARD, allow scanning card reader devices.
首先这个参数可以是16进制「Data」也可以是10进制「Number」
0xF0103 通过计算器可以很容易转换成10进制983299
0xF0103 包含以下的限制:• OC_SCAN_FILE_SYSTEM_LOCK :文件系统限制-0x00000001 (bit 0)
• OC_SCAN_DEVICE_LOCK:磁盘IO口类型限制-0x00000002 (bit 1)
• OC_SCAN_ALLOW_FS_APFS:允许扫描APFS分区-0x00000100 (bit 8)
• OC_SCAN_ALLOW_FS_HFS:允许扫描HFS分区-0x00000200 (bit 9)
• OC_SCAN_ALLOW_DEVICE_SATA:允许扫描SATA总线磁盘-0x00010000 (bit 16)
• OC_SCAN_ALLOW_DEVICE_SASEX :允许扫描SAS总线磁盘-0x00020000 (bit 17)
• OC_SCAN_ALLOW_DEVICE_SCSI :允许扫描SCSI总线磁盘-0x00040000 (bit 18)
• OC_SCAN_ALLOW_DEVICE_NVME:允许扫描NVME总线磁盘-0x00080000 (bit 19)
• OC_SCAN_ALLOW_DEVICE_USB:允许扫描USB设备-0x00200000 (bit 21)
以上16进制为
0x000000010x00000002+=0x3
0x00000100+=0x103
0x00000200+=0x303
0x00010000+=0x10303
0x00020000+=0x30303
0x00040000+=0x70303
0x00080000+=0xF0303
0x00200000+=0x2F0303===>3080963
3080963可引导APFS和HFS分区适合nvram和模拟nvram正常的使用 系统通过更新nvram控制启动磁盘,安装,更新可自动完成,理论上应该开启所有扫描项以及所有磁盘IO类型扫描 但是某些人需求只扫描OSX或者并不想扫描到Win系统,如果设置0 则关闭所有限制
)但是不建议用0。 -
3.5.6:Config-Misc-Tools 工具选项:
在开机的时候,加入工具,比如有Shell.efi,CleanNvram.efi,VerifyMsrE2.efi等,自行选择,如果勾选的话在EFI/OC/Tools文件夹中必须包含这些。
3.6:Config-NVRAM设置
3.6.1:Config-NVRAM-添加(Add)
3.6.1.1:UUID:4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:
值01普通模式或02HIPDI模式。根据自己的显示情况选取。
3.6.1.2:NVRAM-Add-4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
DefaultBackgroundColor:数字为00000000
3.6.1.2:UUID:7C436110-AB2A-4BBB-A880-FE41995C9F82:对应的Clover-config里面的引导参数与引导界面里面的相关内容。
-
prev-lang:kbd:键盘布局或语言选项,填入
7a68 2d48 616e 733a 3235 32
,为中文。 -
csr-active-config:SIP保护。填入
E7030000
是关闭保护,类似于Clover-condig-变量设置-Csr配置的0x67。填入00000000
是开启保护,类似于Clover-condig-变量设置-Csr配置的0x1ff。 -
boot-args:相当于Clover-config-引导参数-参数里面的内容。将里面的内容,拷贝到值下面,用空格间隔。例如:
npci=0x3000 agdpmod=pikera -v
等等。 -
SystemAudioVolume
系统音量大小调节,默认46,建议60.
3.6.2:Config-NVRAM-阻止(Block),
禁用一些nvram变量。不用设置。
NVRAM-Block-4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14-DefaultBackgroundColor
3.6.3:Config-NVRAM-LegacySchema,
nvram的变量设置。
删除范例7C436110-AB2A-4BBB-A880-FE41995C9F82中的所有,添加==efi-boot-device
与efi-boot-device-data
==这2项。避免不知名错误
此项下SystemAudioVolume、SystemAudioVolumeDB、SystemAudioVolumeSaved等
删除范例8BE4DF61-93CA-11D2-AA0D-00E098032B8C中的所有选项。
3.6.4:Config-NVRAM-LegacyEnable,
非原生nvram主板勾选
。原生nvram主板不勾选
。<font color= "#FF0000" >经过测试非原生nvram主板
(主要是300系列主板)使用SSDT-PMC以后,就可以当原生nvram主板使用,不勾选
此项。</font>
3.6.5:Config-NVRAM-WriteFlash,
一般不勾选
。
3.6.6:LegacyOverwrite,
允许从nvram.plist重写固件变量。一般不勾选
3.7:Config-PlatformInfo设置。
类似于Clover-config-机型设置,一般人就点检查覆盖范围右边的键,选择适合你自己机器的机型。至于三码。自己结合Clover-config里面填写。具体设置去参阅OpenCore引导下config.plist的三码设置。
Config-PlatformInfo-Generic-AdviseWindows:此项与引导Windows有关,强制固件对Windows的支持。 以下2个情况需要勾选:
• 开启CSM (0x1),EFI分区不在第一启动盘上,无法引导Windows。
• 关闭CMS,采用纯UEFI (0x2),EFI分区在第一启动盘上,无法引导 Windows。
3.7.1:其他选项
- Automatic(自动):
勾选
。 - UpdateDataHub:
勾选
。 - UpdateNVRAM:
勾选
。 - UpdateSMBIOS:
勾选
。 - UpdateSMBIOSMode:
创建/自动/覆盖
3.8:Config-UEFI,
UEFI的相关设置。
3.8.1:Audio,包括此项下7个小项,建议默认不动,所需Resources文件点这里下载,里面包含开机声音、图形界面所需的图片以及相应驱动。
- AudioSupport-(false/true):关闭/开启末端驱动以停止/启用开机音频
- AudioDevice-指定音频控制器路径,如:PciRoot(0x0)/Pci(0x1f,0x3)。
- AudioCodec-设置音频控制器上解码器的地址,如:0。
- AudioOut-设置解码器输出端口数,如1或4或7等。
- MinimumVolume-音量大小选择,默认是20。
- PlayChime-false/true,关闭/开启启动时播放铃声。
- VolumeAmplifier-音频增益系数。0~1000。
3.8.2:ConnectDrivers,
连接驱动程序。勾选
。
3.8.3:Config-UEFI-Drivers,
UFEI驱动,一般情况下,新版OC只用3个:HfsPlus.efi,ApfsDriverLoader.efi和OpenRuntime.efi,至于UsbKbDxe.efi等根据自己的需要选择。
ApfsDriverLoader
— 对APFS格式的支持OpenRuntime
— 使用OpenCore引导必须使用EnhancedFatDxe
— 对FAT格式的支持NvmExpressDxe
— 对于Haswell或更早不支持NVMe SSD添加的驱动OpenUsbKbDxe
— 将USB键盘模拟为苹果键盘的驱动VBoxHfs
— 对HFS格式的支持XhciDxe
— XHCI USB驱动,Sandy Bridge以前的CPU、主板或者USB3.0PCI卡需要此驱动
3.8.4:Config-UEFI-Apple快捷键相关(Input):
- KeyFiltering:默认不勾选(false),启用时,则是检查键盘输入完整性。只针对部分老旧主板。
- KeyForgetThreshold:设置为
5
。 - KeyMergeThreshold:设置为
2
。 - KeySupport:
勾选
。 - KeySupportMode:选择
Auto
。 - KeySwap:
勾选
。 - PointerSupport:如果是华硕Z87/Z97,勾选,其他
不勾选
。 - TimerResolution:延迟选
50000
。 - PointerSupportMode:范例是ASUS。
不改
。
3.8.5:Config-UEFI-协议(Protocols):
- AppleAudio:关闭/开启苹果音频协议(不支持10.13以前的版本)。一般
不勾选
- AppleBootPolicy:虚拟机的Mac需要用,
不勾选
。 - AppleDebugLog:调用Apple调试日志协议,
不勾选
。 - AppleEvent:虚拟机并有vault需要用,
不勾选
。 - AppleImageConversion:重建apple图标,
不勾选
。 - AppleKeyMap:重建apple功能键,
不勾选
。 - AppleSmcIo:替代之前的VirtualSmc.efi,
055以后的版本可以不勾选
。 - AppleUserInterfaceTheme :与主题有关,
不勾选
。 - DataHub:重建DataHub,
不勾选
。 - DeviceProperties:虚拟机需要,
不勾选
。 - FirmwareVolume:File Vault的相关,
不勾选
。 - HashServices:File Vault的相关,
不勾选
。 - OSInfo:操作系统信息协议,
不勾选
。 - UnicodeCollation:老旧主板需要,
不勾选
。
3.8.5:Config-UEFI-Quirks设置
- ExitBootServicesDelay:较新的主板直接填入
0
,老旧主板填入3000000-5000000。 - IgnoreInvalidFlexRatio:
如果没有解锁CFG,必须勾选
。 - ReleaseUsbOwnership:如果开机键盘鼠标卡死,勾选试试,一般是
不勾选
的。 - RequestBootVarFallback:与双系统有关,一般
不勾选
。 - RequestBootVarRouting:
如果要使用“启动磁盘”的选项,勾选
。 - UnblockFsConnect:与惠普本本相关,一般
不勾选
。
3.8.6:Config-UEFI-Output(显示输出)设置:
包含以下11个小项
- ClearScreenOnModeSwitch一般
不勾选
(false
) - ConsoleMode一般选
Max
- DirectGopRendering一般
不勾选
(false
),除非勾选后,对显示效果有利(对某些显卡有效) - DirectGopCacheMode默认
空
--0308
新增与显卡的FB缓存相关 - IgnoreTextInGraphics一般是
勾选(true)
- ProvideConsoleGop一般是
勾选(true)
- ReconnectOnResChange一般
不勾选
(false
)如果遇到开机直到登陆界面之前一直黑屏,那么勾选试试 - ReplaceTabWithSpace一般是
勾选(true)
- Resolution开机分辨率,自行选择,如2560x1440;3840x2160等等。
- SanitiseClearScreen自行选择(
false或true
) - TextRenderer一般选SystemGraphics或SystemText,根据自己使用情况自行调整。
TextRenderer有4个选项:
• BuiltinGraphics — 切换到图形模式并使用内置渲染器和自定义控制台控件。选择此项需要勾ProvideConsoleGop,并将Resolution设置为Max
• SystemGraphics — 切换到图形模式并使用带有自定义控制台控件的系统渲染器。
• SystemText — 切换到文本模式并使用带有自定义控制台控件。
• SystemGeneric — 使用系统控制台中的控件。
一般情况下首选设置是SystemGraphics或SystemText。启用providecosolegop、将Resolution设置为Max、启用ReplaceTabWithSpace,几乎所有配置和机型都好用。特别说明下,机型设置为MacPro5,1只能选择BuiltinGraphics
如有变化,保持更新!
更新日志:
2020-04-10:第三次更新---基于OpenCore0.5.8-04-10编译版
2020-04-07:第二次更新---基于OpenCore0.5.8-04-07编译版
2020-04-06:第一次更新---基于OpenCore0.5.7-官方正式版
附录:
根据网友的建议,提供PDF版下载,供大家线下参阅!
来源:oschina
链接:https://my.oschina.net/u/4255158/blog/3229029