我的电脑配置
笔记本电脑
- 型号:联想M41-80(i7版,15年产,16年上大学买的)
- CPU:i7-6500u
- 集显:intel HD 520
- 独显:AMD R7 m360(但黑苹果无法驱动,无解)
- 内存:海力士DDR3 4GB*2
- 无线网卡:intel的某个型号,反正黑苹果无解使用itlwm可驱动,使用方法参加我发布的视频教程
台式机
主板:微星b460m 迫击炮 wifi版(买错了主板导致后面换免驱网卡还需要单独屏蔽板载蓝牙,使用无Wi-Fi版的主板即可)
CPU:i5-10400F(视频剪辑需求不大,日常主要以python为主,无核显版本依然可以剪视频,同时不影响我撸代码)
显卡:蓝宝石 5500XT 8GB 白金版
内存:威刚DDR4 2666 8GB*2
硬盘
三星970EVO m.2接口 500G
西部数据1T蓝盘
网卡:BCM94360cs2(免驱网卡,另外购买)
声卡:板载alcs1200A
其他配置无关紧要
想要抄我台式机(i5-10400F,5500xt)作业的,可扫描文末二维码关注公众号「新青年TALKS」回复“OC”下载
前言
- 本教程参考opencore官方教程,以我的十代CPU(Comet lake)为例进行配置,其他类似,台式机配置更方便,只要对照官网配置即可。
- 使用版本:0.6.4
- 目前配置主流有两种办法:
- 使用OC-Gen-X一键配置
- 参照官网配置项自行配置
- 两种方法在本教程均会涵盖,但个人并不推荐第一种方法,具体原因在详细教程内解释。
- 两种方式均需参考opencore官方文档,但文档为纯英文,本篇教程只是按照自己的经验与理解进行翻译。
- 其实阅读很简单,我行你也行。
- 为保证此教程时效性,所有提供的软件下载链接均为原作者发布版本下载的官方页面,请自行下载最新发布的版本。
- GitHub下载慢、或无法访问下载页面,可使用GitHub下载加速网页加点速。
- 本教程不考虑AMD CPU用户
前提条件
- 方法1需要mac环境才可以
- 方法2并不局限于环境问题,但mac环境有更加直观但OCC配置器
- windows下请使用ProperTree进行配置,官方文档也使用的此方法,照着图片做即可
- 开始前请先了解你的配置信息,包括但不限于声卡型号、(核心|独立)显卡型号、网卡型号
- 本文均以OCC作为config配置器
ProperTree安装方法(windows用户必须)
- 下载ProperTree:https://github.com/corpnewt/ProperTree/archive/master.zip
- 解压文件夹,双击ProperTree.bat
opencore configurator安装(mac用户建议)
下载地址:https://mackie100projects.altervista.org/download-opencore-configurator
可能需要科学上网
点击download即可下载
以下简称OCC配置器
使用OC-Gen-X配置
下载OC-Gen-X.app
下载地址:https://github.com/Pavo-IM/OC-Gen-X/releases
配置config.plist
选择CPU平台架构
- 你需要自行百度你的CPU型号判断其架构
选择驱动
- 从左往右依次是必需的,SMC驱动,显卡相关驱动,声卡驱动,网卡,USB驱动,WI-FI驱动,其他
- 建议只勾选LILU,VirtualSMC,whatevergreen,因为驱动的错误会导致意外错误,第一次配置应该以进入系统为目的。
其他保持默认即可,最后点击下面的Generate EFI,会在桌面上生成一个EFI文件夹,是一个最精简的opencore目录
另外你还需要在opencore官网上下载你所必须的DSDT补丁,都有已经预编译好的,只需要下载对应的平台即可
- 下载地址:https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html
- 请注意桌面版和移动端
- 官网下载链接会跳到GitHub,请点击download下载
- 这可能需要科学上网,可以尝试复制下载链接使用上面推荐的GitHub下载加速网页下载
将SSDT文件放到OC/ACPI目录下
打开config配置文件
理论上现在可以尝试开机了
不推荐原因
- 我在学习之初查到的大部分教程都是oc-gen-x,并且均使用以上方法,一键配置的原理是根据你的平台架构进行配置勾选,你只需要放驱动即可
-
但可以举几个例子证明它的不足之处:
这是我一键配置后的勾选内容,但实际上,关于CFG主板未解锁的配置勾选只需要根据平台二者选其一,而DisableIOMapper选项是禁止cpu虚拟化的选项,但此项大多数bios中均含有并且初始状态即为禁用状态。该页配置勾选实则(通常情况下)只需勾选CFG解锁,如果你的主板已经解锁CFG,此项可以不勾选。因为勾选了许多不必要的选项,导致开机可能会有意外错误。
- 具体配置项内容我会在方法2详细提到。
- 软件作者可能考虑的是大多数主流台式机的配置,我是非主流笔记本,所以可能不太适用,但并不代表不值得你一试,需要告诉你的是,如果使用此方法无法进入安装界面,请立即转到方法2,因为你解决问题的时间可能比重新手动配置的时间要长。请不要考虑沉没成本。
使用OpenCore官方引导进行配置
因为官方文档使用的英文,国内似乎没有全文进行翻译的文档出现,大多只是简单翻译了具体配置项的含义,这对新手并不友好,请抛弃搜索引擎,直接前往官方文档,即使使用谷歌浏览器自带的机器翻译也比网络上杂乱的信息来的精准。
接下来,我会一步一步详细进行在Skylake平台上的配置过程,其他平台也可参考,视频教程会在之后几天发布出来。USB镜像烧录请参考我的另一份CLOVER教程,前面步骤都是一样的。
下载OpenCore引导文件
下载地址:https://github.com/acidanthera/OpenCorePkg/releases
建议下载releases版本,因为对照文档进行配置基本不会出现意外错误无需使用DEBUG版本
整理EFI文件目录
将Docs目录内的Sample.plist重命名为config.plist复制到刚拷贝出来的EFI/OC文件夹下
删除不必要的驱动文件
Drivers目录下只保留OpenRuntime.efi
下载HfsPlus.efi放到Drivers目录下
其他被删除的文件含义补充
大部分为2011年以前的主板需要,本教程主要面向6代以后的CPU
AudioDxe.efi:开机音频需要
OpenCanopy.efi:开机选择系统界面需要,我使用的是单系统因此删掉
含keyboard、mouse等单词的是键盘鼠标驱动,使用kext驱动更好,所以删掉
请根据需要进行选择
添加ACPI补丁
OC官方更推荐使用热补丁方式,官网也有预编译好的DSDT补丁
同上种方法相同前往官网根据你的平台必须的DSDT下载.dsl文件
下载地址:https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html
各类补丁说明
SSDT-EC.aml:这是所有都必须的控制器补丁,所有补丁中好像是只有这一个没装会卡代码开不了机,其他的都是后期需要完善用到的补丁
SSDT-PNLF.aml:亮度调节补丁
SSDT-PLUG.aml:原生电源管理补丁
SSDT-XOSI.aml:如果你要装双系统,此补丁是必须的,因为OC引导加载的补丁会影响Windows系统
以上都是基本所有平台都要有的补丁,其他的有兴趣请前往官网查看具体文件说明
下载完需要的DSDT补丁放到EFI/ACPI目录下
下载kext驱动
官网上关于kext的说明:
- Windows and Linux note: Kexts will look like normal folders in your OS, double check that the folder you are installing has a .kext extension visible(and do not add one manually if it's missing).
- If any kext also includes a .dSYM file, you can simply delete it. They're only for debugging purposes.
- Location Note: These files must be placed under EFI/OC/Kexts/.
翻译参考:
- Windows和Linux:Kexts在操作系统中看起来像普通文件夹,请仔细检查要安装的文件夹是否具有.kext扩展名(如果缺少该扩展名,请不要手动添加)(注:如果你在Windows下配置EFI会出现此情况,但并没有关系)。
- 如果任何kext也包含.dSYM文件,则可以将其删除。它们仅用于调试目的(注:后面GitHub上下载的kext驱动也会含有.dSYM文件,此文件可以忽略)。
- 注意文件夹位置:这些文件必须放在EFI/OC/Kexts/下。
安装系统必须的驱动
同前所述,建议下载release版本
VirtualSMC.kext:https://github.com/acidanthera/VirtualSMC/releases
下载后里面会包含SMC开头的很多个kext文件,理论上台式机均不需要,笔记本部分需要。
如果遇到浏览器卡顿,打开控制台卡顿,也许就是缺少其中某个SMC驱动,但这些子驱动暂时不影响系统安装,后期使用过程发现以上问题再添加即可。
Lilu.kext:https://github.com/acidanthera/Lilu/releases
非常重要的驱动,其他很多驱动都需要基于此驱动
USBInjectAll.kext:https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/
这是USB端口注入的驱动
后期建议定制USB端口,使用Usbports.kext,因为这影响着黑苹果是否能正常睡眠。
Coffee Lake及以前的笔记本电脑需要此驱动
Skylake及以上的台式机需要此驱动
NVMeFix.kext:https://github.com/acidanthera/NVMeFix/releases
使用Nvme固态的需要此驱动以提供更好的兼容性
CtlnaAHCIPort:https://github.com/dortania/OpenCore-Install-Guide/blob/master/extra-files/CtlnaAHCIPort.kext.zip
非常重要的一个驱动,在Big sur系统上更改了控制器,SATA盘需要此驱动
未使用此驱动会出现如下错误(个人经验)
卡在 disk2 device is write locked
出现 进入安装界面找不到硬盘的情况
但在Catalina版本上可以不使用此驱动
上述驱动是系统安装前所必须的,下文提到的驱动是为了让系统完善而存在。你可以在安装完成系统之后再选择以下驱动
显卡驱动
WhateverGreen.kext:https://github.com/acidanthera/WhateverGreen/releases
基于Lilu,虽然号称显卡驱动,但具体显卡设备ID等信息还需要自己注入,后文会提到,我的另一篇CLOVER教程也有教程。
声卡驱动
AppleALC.kext:https://github.com/acidanthera/AppleALC/releases
同显卡驱动,需要自己注入设备ID
如果没有合适自己的ID或者嫌麻烦,可以使用下面的万能声卡驱动,但不推荐
VoodooHDA.kext:https://sourceforge.net/projects/voodoohda/files/VoodooHDA.kext-292.zip/download
上述两个声卡驱动不能同时存在,万能驱动只有在appleALC没有layoutID可用时迫不得已使用
网卡驱动
这里的网卡特指以太网(有线网)驱动,建议安装该类驱动前上网查阅板载网卡相关信息,无线网驱动较为特殊后面再说。
IntelMausi.kext:https://github.com/acidanthera/IntelMausi/releases
支持型号:Intel的82578, 82579, i217, i218, i219
SmallTreeIntel82576.kext:https://github.com/khronokernel/SmallTree-I211-AT-patch/releases
i211型号的网卡必须使用
AtherosE2200Ethernet.kext:https://github.com/Mieze/AtherosE2200Ethernet/releases
支持型号:AR816x, AR817x, Killer E220x, Killer E2400 以及Killer E2500
RealtekRTL8111.kext:https://github.com/Mieze/RTL8111_driver_for_OS_X/releases
支持型号:RTL8111/8168 B/C/D/E/F/G/H
目前大多数笔记本可以使用此驱动
最新版本的可能有些型号无法驱动,可以尝试旧版本
LucyRTL8125Ethernet.kext:https://www.insanelymac.com/forum/files/file/1004-lucyrtl8125ethernet/
支持型号:i225-V
WI-FI驱动
intel网卡
AirportItlwm.kext:https://github.com/OpenIntelWireless/itlwm/releases
此驱动刚问世不久,可能存在部分网卡不可用或功能不完善问题,但作者一直是在用爱发电,请各位尊重作者劳动成果
该仓库内含有Intel蓝牙驱动,也请自行下载
博通网卡
Intel网卡从远古时代到2020年初从未被正常驱动过,因此黑苹果用户大部分为了使用隔空投送等功能而更换为博通网卡,例如我台式机使用的BCM94360cs2,装上即可免驱,无需任何设置,其他类型网卡可能需要以下驱动:
AirportBrcmFixup.kext:https://github.com/acidanthera/AirportBrcmFixup/releases
我没有测试具体哪些型号需要此驱动,因此需要你自行查阅相关资料
键鼠驱动
VoodooPS2Controller
.kext:https://github.com/acidanthera/VoodooPS2/releases最新版本已经支持mac原生触摸板手势
大部分笔记本都可使用此驱动
触摸板演示请点击此处
配置config.plist
下面以我的台式机配置为例
-
用OCC配置器打开config.plist文件
ACPI设置
- 删除默认(点右下角的“-”号)
- 添加前文所下载的ACPI文件
- 将文件全选拖入OCC中即可
- 其他选项默认即可
Booter设置
- 10代u,B460M主板必须勾选以下选项:
RebuildAppleMemoryMap
生成与macOS兼容的内存映射
SyncRuntimePermissions
- 通常与RebuildAppleMemoryMap配合使用
- 其他部分选项说明:
SetupVirtualMap
10代U可以不需要,10代以前代CPU大部分都需要
EnableWriteUnprotector
与RebuildAppleMemoryMap冲突,较新的CPU建议勾选RebuildAppleMemoryMap
DevirtualiseMmio
Z490主板需要
ProtectUefiServices
Z490主板需要
其他选项感觉用处不大
- 其他类型CPU无法一一演示,请前往opencore官方引导教程查找你对应的CPU对应进行勾选。只需对照勾选即可。
DeviceProperties设置
- 这里的设置均和声卡显卡注入有关,推荐使用hackintool工具将声卡显卡信息同时注入。
- 如果没有核显,且独显是一流免驱显卡则只需添加声卡信息
- 本教程不提供hackintool详细教程,请自行参考黑果小兵的教程
使用hackintool注入后一般如下图所示
如前文所述,layout-id请自行查找,如果使用的声卡万能驱动,此设备信息可以删除。
Kernel设置
- 与Clover不同,你的所有驱动都需要添加到这里才会被加载
和ACPI设置一样,全选kext文件夹下的驱动拖入即可,如果不可以,选择快照添加也可以。需要注意的是OC需要区分加载顺序,也就意味着LiLu.kext必须在第一位。我的加载顺序如下图:
其他选项卡保持默认即可,除非是比较特殊或较老的CPU需要重新设置,一般默认即可。
Quirks设置
这里的设置一般和主板有关,我台式机使用的微星主板,大部分设置可以直接在bios中直接设置,因此此处我可以一个都不勾选。其他重要选项相关说明如下:
AppleCpuPmCfgLock
当无法在BIOS中禁用CFG-Lock时才需要
用于 Ivy Bridge或更老的CPU
AppleXcpmCfgLock
当无法在BIOS中禁用CFG-Lock时才需要
用于Haswell或更新的平台
因此两个选项只需要勾选一个即可,如果bios可以关闭CFG锁可以不用勾选,大可不必为了不勾选而选择刷bios开启CFG选项的开关,因为bios是否有CFG选项只是决定了配置文件内是否需要勾选,根据我笔记本的日常使用而言,没有影响。
CustomSMBIOSGuid
通常和戴尔笔记本电脑有关
DisableIoMapper
bios中没有禁用VT-d的选项时使用
DisableLinkeditJettison
等同于keepsyms=1
DisableRtcChecksum
禁用RTC检查,一般不用勾选
LapicKernelPanic
HP笔记本需要
LegacyCommpage
奔腾处理器需要
XhciPortLimit
解除端口限制,台式机进行USB定制时必须
其他未提及选项一般可以不用勾选,除非遇到极其特殊的情况,具体勾选项建议参照opencore官方引导教程
Misc设置
- 此项设置大部分为强迫症患者提供,一些开机的画面、内容等相关设置。
- 如果你只要能开机,这部分内容可以先省略
- 注意:
- 如果开机发现启动项经常被莫名修改,请将BootProtect选项修改为BootStrap
NVRAM随机访问存储器设置
对于我们来说,我们只需要知道这里是设置开机启动参数的,其他大部分默认即可。
同Clover一样,-v是跑码模式,进行错误排查。
pikera是AMD部分显卡所需要的,这类显卡通常被称为二流免驱显卡,例如我的5500xt
注意:
很多情况下在调试完成后,即使删除 -v 参数依然会跑码,这主要是因为下方三个选项中默认勾选了 WriteFlash ,这意味着这些启动参数会写入闪存内,因此要解决这种情况有两种方法首次配置时取消该勾选
或在修改启动参数后每次开机在图形界面进行一次NVRAM重置。
Platforminfo设置
请根据具体情况设置你的机型,笔记本建议选择CPU相近的设置,台式机建议根据独显设置,一般来说,OCC配置器生成的三码都是没有人使用的码,可以暂时放心。
- 注意:台式机经常会出现CPU型号识别错误的情况,例如我的CPU最初无法识别,但实际是i5,CPU型号自定义就是在此设置内设置,方法如下
- 找到你真实CPU的ID,可以选择笔记本类型的SMBIOS查看其ID
- 在此处修改你的ID
UEFI设置
此处大部分默认即可。如果开机出现类似:xxx.efi can not found,可能是因为此处添加了该项驱动,但EFI/OC/Drivers目录下没有该efi文件,在config配置文件中删除该项即可。
结语
- 一般来说,除boater和kernel两栏内需要勾选的地方要参考OC官方引导教程,其他的按照本教程方法2进行操作基本能一次成功,除非是某些特殊的品牌笔记本电脑。关于镜像烧录以及DSDT补丁打法与Clover相同,可以参照我的另一篇Clover教程
- 因为自身条件限制,无法提供所有类型的错误信息,如果你碰到一些奇怪的错误可以在评论区留言或者私信,我也会尽我所能帮助解决。