- 这是一个 OpenCore 的范例
- 本范例以 Intel 300 系列主板为基础
- 本范例中, iGPU是作为 Headless 使用的, 通过 AMD 独立显卡来显示.
- 本范例是纯文字界面, 如果需要用 OpenCore 的图形界面, 自行研究.
- 如果官方有升级, 本范例会持续更新
- 只需要做少量修改就可以直接拿来用
git clone https://github.com/cattyhouse/opencore-efi-instance
修改 config.plist
-
机型
选取一个你喜欢的机型, 比如
iMac19,1
赋值给SystemProductName
-
序列号
和MLB
# macOS 上 macserial -g -m iMac19,1 # windows macserial.exe -g -m iMac19,1 # macserial 包含在 OpenCore 官方的下载包里面
默认会生成 10 组, 选取任意一组, 竖线前面的是序列号, 赋值给
SystemSerialNumber
; 后面的是 MLB, 赋值给MLB
-
SystemUUID
可以网上在线生成UUID, 赋值给
SystemUUID
也可以用系统工具生成, 比如 uuidgen
-
ROM
其实就是一个网卡的 MAC 地址, 可以用你的网卡上的, 也可以随机生成, 注意去掉
:
或者-
, 并全部大写, 赋值给ROM
-
声卡路径
范例中
DeviceProperties/Add/
下面的PciRoot(0x0)/Pci(0x1f,0x3)
是我的主板的声卡的路径, 不同的主板, 有所不同, 具体查询方法, :gfxutil -f HDEF
gfxutil 下载地址
-
网卡驱动
本范例默认配置了 Intel 板载网卡的驱动, 如果是 Realtek 等其他网卡, 在
Kernel/Add
将IntelMausi.kext
的Enabled
设置为No
, 同时安装 下载 Realtek 的 kext, 放到EFI/OC/Kexts
, 并且在 config.plist 里面照葫芦画瓢添加条目.
修改 config.plist
对于布尔选项, 当不同的软件编辑 Plist 的时候, 有的软件显示的是 YES, 有的软件显示的是 True, 但他们其实是一个意思, 就是 启用 的意思, NO/FALSE 同理是 禁用 的意思
-
AAPL,ig-platform-id
本范例中的 AAPL,ig-platform-id 适用于 UHD630, 且作为 Headless 使用, Headless 的意思是, 不提供显示, 只提供解码等功能, 比如 Safari 硬解 Youtube 4k 的 VP9 格式的视频. 如果需要用 iGPU 提供显示, 需要做修改, 参考 Intel显卡问答
-
AppleCpuPmCfgLock
AppleXcpmCfgLock
AppleXcpmExtraMsrs
如果主板可以关闭 CFG LOCK, 这三个选项都可以设置为 NO/FALSE. 作为范例, 我设置的都是 YES/TRUE
-
XhciPortLimit
macOS 限制 USB 的端口数量为 15 个, 通常主板都会超过这个数量 (注意一个 USB3.0 的接口算 2 个端口, 因为它提供 USB2.0 和 USB3.0 支持), 范例中, 此选项设置的是 YES/TRUE. 如果定制了 USB, 可以设置为 NO/FALSE.
-
boot-args
boot-args 是启动参数, 范例设置了几个常见的, 具体的含义是
- -v , 看到启动文字信息, 方便排查问题, 可以去掉
- keepsyms=1, 启动失败不自动重启, 方便记录问题, 可以去掉
- igfxfw=2, 为 intel iGPU 加载 Apple GuC, macOS下可以使用 iGPU 的最高频率. 有的主板可能有bug,可能会导致死机
- radgva=1, 给 amd 4xx/5xx 显卡提供 HEVC 的编码解码功能. 有的显卡可能有bug,可能会导致死机
如果本范例更新了, 可以 git pull
之后, 除了仔细阅读我的 commit 记录之外.
对于 config.plist
- 用 VsCode 等工具 同时打开本范例和你的 config.plist, 然后选中两者, 做 Compare Selected, 找出有变化的地方.
- 然后用 Plist Edit Pro, 分别打开两者, 对比更新.
对于 其他文件, 直接覆盖.