没有Mac平台的,可以参阅Windows10下Vmware15.5虚拟机安装苹果macOS Catalina 10.15.4,建立Mac平台,已有Mac平台可以跳过此步。
利用下载的最新镜像,制作安装U盘。(用磁盘工具抹掉U盘,扩展日志式/GUID)
下载最新0.5.7/0.5.8/0.5.9/0.6.0/0.6.1/0.6.2/0.6.3-OC包
放到桌面。里面包含Docs与Utilities后面将会用到。并改名为OC-EFI,便于识别。
将下载的SSDT包里面的DSDT/SSDT拷贝到OC-EFI-OC-ACPI里面。注意,除非你清楚这些DSDT/SSDT的明确作用,否则,能不用就不要用!
将下载的Kext包里面所有驱动全部拷贝到OC-EFI-OC- Kexts里面。同样道理,除非你清楚这些驱动的用途,否则删除不明用途的驱动
将OC包/Docs里面的范例Sample.plist或SampleFull.plist之一拷贝到OC-EFI-OC里面,并改名为config.plist。
分别用相应的配置工具打开OC-config.plist。
先删除范例里面所有DSDT/SSDT,点浏览,到OC-EFI-OC-ACPI,选取所有你使用的DSDT/SSDT。(再次建议:,特别是台式机,能不用DSDT/SSDT的,就不要用,除非你精通且清楚了解DSDT/SSDT的作用!)参阅面向小白的OC快速无脑配置-基于OpenCore
除非你明白确切意义,一般不用。
建议,逐个调试删除,保留最少的、必要的热补丁。我已经遇到不止一个例子,由于乱用热补丁且不明白这些热补丁的明确作用,导致无法正常引导。特别是笔记本。 下面是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默认第一项是为Haswell芯片提供内存寻址修复,此类芯片如果遇到内存相关问题,就勾选启用。 默认第二项是开机卡PCI Configuration。ACPI、PCI device同时释放到内存时发生0x1000内存地址被占用而卡在PCI Configuration,则勾选,否则无视!
此设置与OpenRuntime.efi有密切关系,OpenRuntime.efi将一些功能与OC合并、模块化。对于300系列等无法原生nvram的主板来说,此处的选项需要格外关注!
AvoidRuntimeDefrag:绝大部分UEFI都会写入时间、电源管理等信息,只要是黑苹果,此项必须勾选。DevirtualiseMmio:一般情况下,采用slide=1的方式进行连续性内存注入,故一般不勾选,除非你的机器用了KASLR方式。(台式机基本没有)。DisableSingleUser:是否开启单用户模式(-s)。一般不勾选。DisableVariableWrite:非原生nvram主板需要模拟nvram.plist写入variable值,所以非原生nvram主板必须勾选,原生nvram主板则不勾选。经过测试非原生nvram主板(主要是300系列主板)使用SSDT-PMC以后,就可以当原生nvram主板使用,不用勾选此项。DiscardHibernateMap:这个选项帮助我们解决下面的冲突:当电脑从休眠中唤醒时,硬盘里面的资料会恢复到内存中去,此时OC内核以及内核缓存也要写入,二者可能产生冲突。就目前而言,台式机无视休眠功能,故,不勾选!EnableSafeModeSlide:安全模式下(-x)是否用连续性的内存注入方式,一般勾选。EnableWriteUnprotector:允许对UEFI服务代码的写入,该选项通过删除写保护(WP)来绕过UEFI运行时服务的代码页中的RX权限。一般是勾选ForceExitBootServices:为让老旧主板也能使用内存寻址,正常情况下,不勾选,除非你的额主板很老很旧。至于何为老旧主板,自己根据实践摸索试验。ProvideMaxSlide:勾选时,使Slide使用最大值,一般不勾选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)。此项是用来描述/注入设备信息。主要是显卡与声卡,当然,也可以定制一些设备到关于本机-系统报告-PCI列表中去。
PCI信息导出:打开Hackintool,到PCI列表,点击下面的导出,在桌面生成4个文件,打开pcidevices.plist,能看到全部PCI信息。将你需要的设备拷贝过来。并稍作修改。具体的可以去看OpenCore配置视频第二版。原则上只添加声卡路径、ID,以及只有集显的情况下的集显路径与ID。
一般情况下,除非需要,一般不导入。
此项默认即可。一般不做修改。
此项是内存相关的设置。
直接点击浏览,到OC-EFI/OC/Kexts,选取全部,这里需要注意的是,Lilu.kext必须调整到第一位。对于依赖VirtualSMC.kext或FakeSMC.kext的驱动,则必须放在他们的后面。需要启用的,后面需要勾选。笔记本特别要注意键盘与触摸板驱动,主驱动一定要放在包内容驱动前面。
禁用一些驱动。默认即可。
范例里面的4个一般情况下不用,2个RTC的补丁可以用于华硕的主板(二选一),但需要测试。主要解决华硕主板重启BIOS重置,需要按F1跳过的问题。
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-Scheme Properties(方案):09-01新增
不明白OC团队的用意,添加一些对老系统老架构主板的支持。不管那些,默认就好。苹果都放弃的东西,OC团队还在添加对老系统老架构的支持,有点本末倒置!!!
这个是内核相关的选项,重要!
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:戴尔本本用的,一般不勾选。戴尔的笔记本与台式机最好也不要勾选,可能导致无法正确显示序列号。
DisableIoMapper:禁止vt-d,如果BIOS里面禁止了,就不勾选。
DisableRtcChecksum:一般不勾选。在AppleRTC中禁用校验和写入(0x58-0x59)。
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定制的不勾选。
另外增加了一些老机型老系统的支持,就默认好了。这些无聊的更新!!!
这个选择是寻找一些不同位置的EFI,一般空。
ConsoleAttributes:设置图形界面背景与前景颜色,默认为0,其他颜色请官方说明。
HibernateMode:检测休眠模式,一般选none,原生支持nvram的,并想休眠(注意不是睡眠)的,选auto。
HideAuxiliary:隐藏引导是磁盘一些辅助选项,勾选时,隐藏如:recovery、Clean NVRAM等,按ESC、0或空格后,显示而不隐藏。
PickerAttributes:使用纯文本用户界面时背景与前景颜色选择。根据UEFI规范,用参数的选择,来调节背景与前景的颜色,默认值为0
PickerAudioAssist :开启/关闭(true/false)启动时音频。
PollAppleHotKeys:是否开一些组合热键,如command+K;command+S。如果发现开机键盘无法选择,则不勾选。并删除OC/Drivers下的UsbKbDxe.efi。
ShowPicker:是否显示开机启动盘显示,一般勾选,长期稳定使用的情况下可以不勾选。
TakeoffDelay:在选择启动盘之前与快捷键操作的延迟。一般是0,对于一些键盘驱动需要填写5000-10000(微秒)。
Timeout :倒计时,0~30的整数。
PickerMode:启动界面选择
Builtin模式:使用简单的纯文本用户界面。一般选择此模式External模式:如果图形界面引导可用则启用,否则使用纯文本用户界面。[所需Resources文件在下载最新0.5.7/0.5.8/0.5.9/0.6.0/0.6.1-OC包里面,里面包含开机声音、图形界面所需的图片以及相应驱动。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组合键可选择此选项。
AllowNvramReset:勾选是在开机引导选项中加入重置nvram缓存功能,调试完毕,稳定后,可以不勾选。
AllowSetDefault:允许CTRL+Enter和CTRL+Index处理在引导选择器中设置默认引导选项。
AuthRestart:与启动身份验证相关,不勾选。
ExposeSensitiveData:由于使用nvram,填入3
HaltLevel:显示级别,填入:2147483648。(0x80000000)的十进制
ApECID:苹果磁盘加密引导标识。将此值设置为任何非零64位整数,将允许使用个性化的Apple Secure Boot标识符。如果要使用此设置,请确保使用加密安全的随机数生成器生成一个64位随机数。使用此值集和SecureBootModel有效且未被禁用,可以实现Apple Secure Boot的安全引导或实现完整全面的系统文件加密验证。
BootProtect:对OpenCore引导的稳定性提供帮助。有2个选项,
• None — 与以前一样 • Bootstrap — 让\EFI\OC\Bootstrap\Bootstrap.efi 在启动时的优先级别最高。必须勾选Config-UEFI-Quirks-RequestBootVarRouting(启用“启动磁盘”选项)才能启用Bootstrap。
重要说明:
1、虽然几率不大,但对于一些主板可能导致丢失或失败或各种不兼容,。
2、重置NVRAM会删除已经创建的引导选项。
Vault:磁盘加密
填写Optional时,为选择磁盘不加密,一般情况下都填写Optional
填写Basic时,启用基本的系统文件加密验证
填写Secure时,启用完整全面的系统文件加密验证
ScanPolicy:扫描策略,默认983299即可。建议填写3870467,也可以直接填写0解除所有限制,但是正常使用的情况下不建议用0,那样显示的项目太多,太杂,安装的时候可以用。 (ScanPolicy 参数是用来控制Oc扫描启动项的,对于苹果来说这显得多余。苹果的固件可以选择 禁用第三方安装盘 也就是 他会默认禁用U盘安装盘 需要进入Recovery 关闭保护才能正常引导,而黑果这种设计显得不那么灵活。 3080963可引导APFS和HFS分区适合nvram和模拟nvram正常的使用 系统通过更新nvram控制启动磁盘,安装,更新可自动完成,理论上应该开启所有扫描项以及所有磁盘IO类型扫描 但是某些人需求只扫描OSX或者并不想扫描到Win系统,如果设置0 则关闭所有限制)但是不建议用0。
DmgLoading:通过DmgLoading的设置,支持DMG的直接加载。有三个选项:(0806新增)
Disabled -禁用加载DMG图像。 Signed-只有苹果签名的DMG图像可以加载。 Any -任何DMG映像将作为普通文件系统挂载。
不大清楚这个选项的目的和具体作用,一般默认Signed即可
SecureBootModel:苹果安全启动硬件参数,一般不启用安全模式的情况下选择默认Default
定义Apple安全引导硬件模参数和策略。指定此值可定义哪些操作系统将是可引导的。在发布指定型号之前提供的操作系统将无法启动。有效值如下:
Default — Recent available model, currently set to j215. Disabled — No model, Secure Boot will be disabled.j137 — iMacPro1,1 (December 2017) j680 — MacBookPro15,1 (July 2018)j132 — MacBookPro15,2 (July 2018) j174 — Macmini8,1 (October 2018)j140k — MacBookAir8,1 (October 2018) j780 — MacBookPro15,3 (May 2019)j213 — MacBookPro15,4 (July 2019) j140a — MacBookAir8,2 (July 2019) j152f — MacBookPro16,1 (November 2019) j160 — MacPro7,1 (December 2019) j230k — MacBookAir9,1 (March 2020) j214k — MacBookPro16,2 (May 2020) j223 — MacBookPro16,3 (May 2020) j215 — MacBookPro16,4 (June 2020) j185 — iMac20,1 (August 2020) j185f — iMac20,2 (August 2020)PlatformInfo和SecureBootModel是独立的,允许使用任何SMBIOS启用Apple安全引导。 将SecureBootModel设置为任何有效值,但Disabled,相当于中等安全的Apple SecureBoot。要实现完全的安全性,还需要指定ApECID值。 注意:默认值会随着时间的推移而增加,以支持最新的主要发行版操作系统。不建议同时使用ApECID和默认值。
在开机的时候,加入工具,比如有Shell.efi,CleanNvram.efi,VerifyMsrE2.efi等,自行选择,如果勾选的话在EFI/OC/Tools文件夹中必须包含这些。RtcRwX用于读写RTC (CMOS)内存的实用工具。ResetSystem工具,可以在菜单中显示关机/重启
值01普通模式或02HIPDI模式。根据自己的显示情况选取。
DefaultBackgroundColor:数字为00000000
prev-lang:kbd:键盘布局或语言选项,填入7a68 2d48 616e 733a 3235 32,为中文。
csr-active-config:SIP保护。填入E7030000是关闭保护,填入00000000是开启保护。
boot-args:引导参数。例如:npci=0x3000 agdpmod=pikera -v等等。
SystemAudioVolume
系统音量大小调节,默认46,建议60.
禁用一些nvram变量。不用设置。
NVRAM-Block-4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14-DefaultBackgroundColor
默认即可。
非原生nvram主板勾选。原生nvram主板不勾选。经过测试非原生nvram主板(主要是300系列主板)使用SSDT-PMC以后,就可以当原生nvram主板使用,不勾选此项。
一般不勾选。可能会影响到启动磁盘的设置,勾选的情况下能跳过错误提示。
允许从nvram.plist重写固件变量。一般不勾选
选择适合你自己机器的机型。至于三码。具体设置去参阅OpenCore引导下config.plist的三码设置。
Config-PlatformInfo-Generic-AdviseWindows:此项与引导Windows有关,强制固件对Windows的支持。 以下2个情况需要勾选: • 开启CSM (0x1),EFI分区不在第一启动盘上,无法引导Windows。
• 关闭CMS,采用纯UEFI (0x2),EFI分区在第一启动盘上,无法引导 Windows。
UEFI的相关设置。
连接驱动程序。勾选。
UFEI驱动,一般情况下,新版OC只用3个:HfsPlus.efi,ApfsDriverLoader.efi和OpenRuntime.efi,至于UsbKbDxe.efi等根据自己的需要选择。
CrScreenshotDxe — 按F10可以保存文件或图像到OpenCore分区EFI(ESP)根目录下OpenRuntime — OpenCore核心驱动,使用OpenCore引导必须使用OpenCanopy—图形界面驱动AudioDxe—开机声音驱动Ps2MouseDxe—来自MdeModulePkg的PS/2鼠标驱动程序,用于UEFI图形界面中触摸板的驱动,UsbMouseDxe—来自MdeModulePkg的USB鼠标驱动程序,用于UEFI图形界面中USB鼠标的驱动,EnhancedFatDxe — 对FAT格式的支持NvmExpressDxe — 对于Haswell或更早不支持NVMe SSD添加的驱动OpenUsbKbDxe — 将USB键盘模拟为苹果键盘的驱动VBoxHfs 或HFSPlus— 对HFS格式的支持,建议用HfsPlus为好XhciDxe — XHCI USB驱动,Sandy Bridge以前的CPU、主板或者USB3.0PCI卡需要此驱动包含以下11个小项
ClearScreenOnModeSwitch一般不勾选(false)ConsoleMode一般选MaxDirectGopRendering一般不勾选(false),除非勾选后,对显示效果有利(对某些显卡有效)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只能选择BuiltinGraphicsOpenCore黑苹果引导配置说明第九版PDF版下载
OpenCore黑苹果引导配置说明第八版PDF版下载
OpenCore黑苹果引导配置说明第七版PDF版下载
OpenCore黑苹果引导配置说明第六版PDF版下载
OpenCore黑苹果引导配置说明第五版PDF版下载
OpenCore黑苹果引导配置说明第四版PDF版下载
OpenCore黑苹果引导配置说明第三版PDF版下载
