简介

OpenCore(OC)是一种新的引导方式,随着越来越多的kexts开始放弃Clover, 我相信提早使用OC会对你未来使用黑苹果会有很大的帮助。这是一个自然的现象,就像变色龙被Clover淘汰,而现在OC代替Clover也是大势所趋。你应该需要看一些相关的文章,来帮助你理解我的正文内容,同时也需要下载我推荐的软件:

  • Xcode (打包驱动)
  • ProperTree 最新推荐的config编辑器
  • OpenCore (下载最新的release版本)
  • Hackintool
  • MaciASL

BIOS设置

禁用如下:

英文 中文
fast boot 快速启动
CFG Lock (MSR 0xE2 write protection) CFG 锁 (MSR 0xE2 写入保护)
VT-d VT-d
CSM 兼容性支持模块

启用如下:

英文 中文
VT-x VT-x
Above 4G decoding 大于 4G 地址空间解码
Hyper Threading 处理器超线程
Execute Disable Bit 执行禁止位
EHCI/XHCI Hand-off 接手 EHCI/XHCI 控制
OS type: other types 操作系统类型: 其他

整理OPENCORE目录

  • 打开下载好的最新版OC(0.5.6),把Doc文件夹下面的SampleFull.plist改名为config.plist,并把此文件移动到EFI目录下面。

  • 打开EFI—Kexts,我们把常用的一些kexts先放进去,一般情况下你需要放如下Kexts:

      Lilu.kext           ———- Acidanthera驱动全家桶的底层依赖
    
      Applealc.kext                     ———- 声卡驱动
    
      VirtualSMC.kext                 ——— 传感器驱动依赖 
    
      SMCProcessor.kext           ———- CPU核传感器/同上
    
      SMCSuperIO.kext             ———- IO传感器/同上             
    
      WhateverGreen.kext         ———- 核显&显卡驱动/下载地址
    
      IntelMausi.kext             ———- Intel类千兆网卡驱动
    
      Usbinjectall.kext        ———- USB驱动 (你也可以定制自己的USB补丁)
    
      NVMeFix.kext           ———- 为NVME硬盘增加ASPT属性来保证节电,虽然对台式机没啥用,但是官方推荐所有NVME用户都使用此补丁/下载地址
    • 注意,一些机型用了1820A,1560,1830等网卡,需要自己放对应驱动;有线螃蟹卡也自己放一下驱动;笔记本类需要更多传感器的,请自行补齐VirtualSMC的那些传感器补丁;
 - 打开EFI—Drivers,我们把常用的一些.efi文件放进去,一般情况下你需要放如下补丁:
    ApfsDriverLoader.efi                           ———- APFS格式支持

    MemoryAllocation.efi                          ———- 帮助主板空出第一个512MB内存,为后面的内存注入做铺垫,若要使用hibernation功能请不要使用它

    OpenRuntime.efi                                ———- 内存寻址补丁/ 在Opencore的程序包的drivers文件夹下。

    HFSPlus.efi                                   ———- HFS格式支持,在安装MAC或者更新时必须使用此补丁,并且此补丁的效率显然高于官方的vboxhfs.efi/下载地址

    OpenUsbKbDxe.efi                            ———- 键盘组合键的使用,在Opencore的程序包的drivers文件夹下。

    OpenCanopy.efi                                     ———— 如果你想使用第三方主题,请加载此项, 在Opencore的程序包的drivers文件夹下。

Config.plist 修改

Config—-ACPI—–Add

这部分主要填写我们使用的SSDT以及DSDT文件,如果没有请把0-8的ssdt全部删除。如果你有修改的SSDT或者DSDT文件,请先将文件放入EFI/OC/ACPI下。

Config—-ACPI—–Block

这个目录下是禁用一些SSDT/DSDT,没什么用,我把下面的item全都删了。

Config—-ACPI—–Patch

这里我们需要填写一下热补丁。如,ec补丁等

Config—-ACPI—–Quirks

此目录下有五项,选择与解释如下:

Quirks Value 解释
FadtEnableReset NO 一些旧的主板需要对FADT进行标记来激活电脑的开机和关机功能,这里我们不许要启动它(如果你遇到关机变重启,可以打开试试,我们之后也会在nvram中将这个问题修复)
NormalizeHeaders YES 清理ACPI头,一些主板的ACPI表需要打开这个修复启动。但如果补丁点亮系统,请试试NO
RebaseRegions NO 换硬件、升级BIOS等对硬件的操作会对ACPI表产生影响,一般不需要打开,若发现卡PCI Configuraion Begin,请尝试打开
ResetHwSig NO 休眠相关项,台式机不需要
ResetLogoStatus NO 顾名思义了,关了

Config—–Booter 内存相关选项设置。

Config—Boot—MmioWhitelist

默认的第一项是为Haswell芯片提供的内存寻址修复,如果此类芯片碰到内存相关问题,请开启它(enable选择yes)。

默认第二项是开机卡PCI Configuration这里。ACPI、PCI device同时释放到内存时发生0x1000内存地址被占用而卡在PCI Configration.如果碰到此类问题,请开启它。

Config—Boot—Quirks

此项与OpenRuntime.efi有关。在aptiomemoryfix停更后,此补丁已经更名为Openruntime, 并将一些功能与OC合并、模块化。对于无法原生nvram的主板来说,这里的选项需要格外注意。当然我也会把像300系列、x299、c422这样支持原生nvram的选择方法一并写进去。

AvoidRuntimeDefrag:大部分UEFI都会写入时间、电源管理等信息,这个所有黑苹果主板都应该选择YES。

DevirtualiseMmio:内存注入方式包括KASLR方式(分布式注射到各个内存地址中)以及连续性方式。在使用KASLR时,PCIE加载到内存,可能会占据所有avaliable值而导致OC的内核以及内核缓存无法注入,导致启动失败。此项目前建议选择YES,并且在下一项ProtectUefiServices中也选择yes。

Config—–DeviceProperties

此项是用来注入你的设备的,主要是显卡和声卡两部分。同样你也可以定制一些设备到你的关于本机–系统报告–PCI列表中,尽管没有多大的意义。

参考资料

https://blog.xjn819.com


等待也是约会的一部分嘛