基于OpenCore0.6.1安装了Big Sur Beta5,除了睡眠外基本完美(睡眠已找到问题根源,正在想办法解决)。

我的系统配置

配置 详情
CPU AMD Ryzen 5 2600X
主板 ASUS ROG X470i
显卡 蓝宝石 RX470
内存 CUSO DDR4 2666 16G*2(OC至3600)
硬盘 紫光S100 240G(Big Sur安装盘)
网卡 板载Intel®I211-AT + AX200
声卡 板载S1220A

准备工作

  1. 需要的工具

    • ProperTree 编辑plist文件必须(OC官方推荐)。
    • MaciASL 编译和反编译ACPI表
  2. 收集文件

    • ACPI

      • SSDT-EC-USBX 修复EC控制器与USB供电(AMD主板必需)。
      • SSDT-RHUB 修复USB控制器(可选 未使用)。
      • SSDT-UIAC 定制USB映射(可选 在我的电脑上不起作用 未使用)。

      如果有和我一样的主板,则可直接使用我的预制SSDT。

    • Drivers
      • HfsPlus.efi 读写HFS卷(macOS安装程序和恢复分区/映像)所需。
      • OpenRuntime.efi OpenCore的扩展,可以帮助修补boot.efi以获得NVRAM修复和更好的内存管理。
      • OpenCanopy.efi 使用GUI启动所需。
    • Kext
      • Lilu.kext 用于修补AppleALC,WhateverGreen,VirtualSMC和许多其他修补程序。
      • VirtualSMC.kext 模拟mac上的SMC芯片。
      • WhateverGreen.kext 解决花屏、闪屏等等,所有GPU都可使用。
      • AppleALC.kext 声卡驱动程序,Ryzen不支持麦克风。
      • SmallTreeIntel82576.kext Intel I211网卡驱动程序。
      • SMCAMDProcessor.kext 在基于AMD的主板上监视CPU温度
      • NVMeFix.kext 修复NVMe硬盘电源管理。
      • RadeonBoost.kext Radeon显卡性能增强。
      • itlwmx.kext Intel无线网卡驱动程序(适用于AX系列)。
      • USBPorts.kext USB端口映射。

config.plist设置

ACPI

  • Add
    添加需要的SSDT文件,SSDT-EC-USBX为必需,没有它,macOS将无法启动

  • Delete
    阻止某些ACPI表加载,无需设置。
  • Patch
    允许通过OpenCore动态修改ACPI,无需设置。
  • Quirks
    无需设置,保持默认。

Booter

  • MmioWhitelist
    我的主板不需要,保持默认。
  • Quirks
    • EnableWriteUnprotector : FalseRebuildAppleMemoryMap冲突,推荐启用后者。
    • RebuildAppleMemoryMap : True 生成与macOS兼容的内存映射。
    • SetupVirtualMap : True 将SetVirtualAddresses调用修复为虚拟地址。
    • SyncRuntimePermissions : True 修复了与MAT表的对齐问题。

DeviceProperties

  • Add
    从PCI添加设备,我添加了声卡和键盘鼠标唤醒(声卡也可以使用boot-args添加布局id)。

  • Delete
    无需设置,保持默认。

Kernel

  • Add
    指定要加载的Kext,确保Lilu.kext是第一个(使用ProperTree可以用快捷键Cmd/Ctrl+Shift+R将其指向EFI➡️OC文件夹,会自动添加)。
  • Block
    阻止某些Kext加载,无需设置。
  • Emulate
    冒仿不支持的CPU,AMD CPU无需设置。
  • Patch
    AMD CPU必需,将这个Patch删除,然后使用链接patches.plistPatch将其替换。
  • Quirks
    • DummyPowerManagement : True 虚拟电源管理,基于AMD CPU的系统都需要。
    • PanicNoKextDump : True 发生内核紧急情况时读取内核紧急情况日志。
    • PowerTimeoutKernelPanic :True 帮助解决与电源更改有关的内核崩溃。
    • XhciPortLimit : True 解除USB 15个端口限制。

Misc

  • boot
    • PickerMode : External 使用GUI引导必须设置。
  • Debug
    • ApplePanic : True 尝试将内核紧急情况记录到磁盘。
    • DisableWatchDog : True 禁用UEFI watchdog。
  • Entries
    保持默认,无需设置。
  • Security
    • AllowNvramReset : True 允许在启动选择器中重置NVRAM。
    • AllowSetDefault : True 允许在在启动选择器中设置默认启动设备。
    • BootProtect : None 不使用Bootstrap.efi。
    • ScanPolicy : 0 允许查看所有可用的驱动器.
    • Vault : Optional
  • Tools
    用于运行例如OpenShell之类的OC调试工具。

NVRAM

  • 7C436110-AB2A-4BBB-A880-FE41995C9F82
    • boot-args
      引导参数设置(我使用的:npci=0x2000 debug=0x100 keepsyms=1)。
    • csr-active-config
      系统完整性保护(SIP)的设置,设置为00000000为完全启用、FF0F0000为完全禁用。
    • prev-lang:kbd
      键盘格式,建议留空。
  • WriteFlash : True 允许所有添加的变量写入到闪存。

PlatformInfo

  • Generic
    使用GenSMBIOS生成三码,应得到下面的输出。

    • MLB
      复制输出信息中Board Serial的值到这里。
    • ROM
      乱输一个MAC地址即可。
    • SystemProductName
      复制输出信息中Type的值到这里。
    • SystemSerialNumber
      复制输出信息中Serial的值到这里。
    • SystemUUID
      复制输出信息中SmUUID的值到这里。

UEFI

  • APFS
    • JumpstartHotPlug : True 进入Big Sur的Recovery需设置为True。
  • Drivers
    确保这里加载了你需要的驱动程序。
  • ReservedMemory
    删除这里面的所有东西,AMD CPU不需要这个。

Bios设置

禁用:

  • 安全启动
  • 串口
  • 并口

启用:

  • EHCI/XHCI Hand-off
  • SATA 模式: AHCI