「长期更新 经验分享 如有错误 烦请纠正」
引导间存在不同差异,为了及时更进,本教程使用Acidanthera团队开发的OpenCore Bootloader(OC引导)进行主要配置
演示机配置 处理器:英特尔酷睿 i5-8500 主板:华硕 ROGSTRIX B360M 内存:科赋雷霆8+8双通道 3200Mhz 显卡:华硕 ROGSTRIX RX580 2048SP(由于5802048SP未被系统识别导致无法驱动,故刷为570使用) 散热:酷冷至尊 T610P 声卡:华硕 ROGSupremeFX ALCS1220A 网卡:英特尔 I219V V7 + BCM943602CDP(拆机卡) 鼠标:罗技 G ProWireless 键盘:阿米洛樱花键盘
概念 从苹果采用 Intel 的处理器之后,macOS 被黑客破解之后可以安装在 PC 上,从而出现了一大批未购买苹果机而使用苹果操作系统的机器,这种就被称为黑苹果(Hackintosh) (转自百科)
引导的选择 目前市面上主要有以下几种引导程式 OpenCoreBootloader(极为先进的引导程式,且目前被大多数人使用) CloverBootloader(老牌的引导程式,积累了大多数的快捷补丁) ChameleonBootloader(以前被Legacy+MBR的老机型用户青睐,目前逐渐被OpenCore取代) Ozmosis(不做赘述)
由于引导程式的多样性,本篇仅围绕目前最潮流的OpenCore引导进行讲解
了解 OpenCore (演示版本:OpenCore 0.6.5 Release) 下载完成后,解压压缩包,里面是这样的结构(忽略 IA32 文件夹,只解释 X64 文件夹里的 EFI 文件夹)
Docs 里面含有 OpenCore 的更新日志,以及示例的配置文件(也是我们需要用到的),以及示例的 SSDT 补丁等
EFI(位于 X64 下) OpenCore 引导的主结构,也是重中之重
Utilities 一些附加的脚本
我们将 Docs 里的 Sample.plist 改名为 config.plist,并放在 EFI/OC 下,这就是 EFI 的完整结构 ACPI OpenCore 存放 ACPI 补丁的目录,将 ACPI 补丁放置在里面,并在配置文件中选择加载(如 SSDT-EC.aml、SSDT-USBX.aml)
BootStrap OpenCore BootStrap 启动方式的目录(如在配置文件中设置 BootStrap 启动则需要)
Drivers OpenCore 启动时加载的驱动文件,将驱动放置在里面,并在配置文件中选择加载(如 HFSPlus.efi、OpenRuntime.efi) 放置必需驱动:OpenRuntime HFSPlus(加载 HFS 文件系统时需要,常见于系统安装盘)
Kexts OpenCore 引导系统时加载的系统驱动,将驱动放置在里面,并在配置文件中选择加载(如 VirtualSMC.kext、Lilu.kext) 放置必需驱动:Lilu、VirtualSMC 或 FakeSMC
Resources OpenCore 资源目录,可放置主题/音频等资源,并选择加载(需要 AudioDxe.efi、OpenCanopy.efi)
Tools OpenCore 引导的可选小工具,如 ResetNVRAM.efi、CFGLock.efi
OpenCore.efi OpenCore引导程序
config.plist OpenCore配置文件
配置 OpenCore 可使用的配置工具: Xcode(不做赘述) (这里采用 OpenCore Configurator 进行配置讲解) 我们用 OCC 打开 config.plist ACPI 我们可以看到,ACPI 配置加载 SSDT 补丁的地方,已经为我们预留好了一些补丁的加载位置,我们只需要选择对应补丁的启用框打勾,并把文件放在 ACPI 目录下即可 简略说明: SSDT-PLUG:CPU 加载 X86 原生电源管理所需的 SSDT 补丁,除英特尔二三代不需要外,基本都需要。 SSDT-EC:处理 EC 用 SSDT-EC0:AMD 部分需要 SSDT-USBX:加载 USBX 供电用 SSDT-EC-USBX:上面两个的集合 SSDT-CPUR:AMD B550 X570 需要 SSDT-PNLF:背光修补 SSDT-AWAC:如果 300 系及以上的主板 BIOS 中未含有切换 AWAC/Legacy RTC 时钟计时的选项,则需要使用该补丁,禁用 AWAC,仿冒 RTC(华硕一般都有,如果没有,使用这个可能还需要 RTC Fix 补丁,OCC 中在 ACPI 下补丁处即可找到对应补丁) SSDT-RTC0:和上面一起 SSDT-PMC:300 系加载 AppleEFINVRAM 用(马甲板不需要,如 Z370) SSDT-SBUS:修复 400 系 SBUS 总线管理用,B360 用了会无法睡眠 SSDT-DNVMe:屏蔽 NVMe 设备(如硬盘、网卡) SSDT-ULAC:USB Port 定制
ACPI下删除栏不用管(X 系列可能需要 Drop 一些 OEM 表)
补丁栏自行选用需要的 Fix RTC _STA bug:修复华硕/技嘉/华擎等机型的 RTC 问题 GPRW 改名:修复唤醒问题(阻断 USB 唤醒) (笔记本可能需要 EC 改名和 _OSI 改名) 电池改名:匹配 BAT0 内容 OSI 改名:I2C 操作系统补丁 ……
FadtEnableReset:主要用于老旧的硬件和部分的笔记本,也可以修复电源快捷键 NormalizeHeaders:清理 ACPI 头字段以修复导致的引导崩溃 RebaseRegions:重新定位 ACPI 内存区域(如加载完整 DSDT 可能需要开启) ResetHwSig:将 FACS 表内的 HardwareSignature 的值重置为 0 ResetLogoStatus:适用于提供 BGRT 表但无法更新屏幕状态的固件
以上 5 个选项基本不用管
Booter MmioWhitelist 处如果 Haswell 机型遇到 PCI 问题,可尝试开启(不讲解进阶方法,如定位 MMIO 区域等)
AllowRelocationBlock:允许通过重定位块引导 macOS(适用于没有可用的 Slide、不支持 KASLR 内存注入、安全模式等情况下 slide 值强制为 0) AvoidRuntimeDefag:修复主板环境和服务(必须开启) DevirtualiseMmio:释放 64 至 256 兆字节的内存,对于内存分配有帮助,如无效则使用 MmioWhitelist 方法(Z390、10 代机型如果遇到问题尝试开启) DisableSingleUser:关闭单用户模式 DisableVariableWrite:防止 macOS 写入 NVRAM 区域,没有原生 NVRAM 的可以通过这个模拟 NVRAM(nvram.plist) DiscardHibernateMap:睡眠相关,修复老旧机型的内存映射 BUG EnableSafeModeSlide:在安全模式下使用 Slide(一般开启) EnableWriteUnprotector:开放对 UEFI 服务的写入权限(一般开启) ForceExitBootServices:老主板无法使用内存寻址的时候可尝试开启 ProtectMemoryRegions:防止老旧机型的内存区域不被错误访问 ProvideCustomSlide:使用随机的不重复的 Slide 值(一般开启,当 OpenCore Debug 显示 You can disable ProvideCustomSlide 可将其关闭) SetupVirtualMap:构建虚拟内存并映射(一般开启,10 代台式机型(Comet Lake)及 AMD 部分主板因 OVMF 兼容问题需关闭该选项) ProtectSecureBoot:防止安全启动(Secure Boot)被写入 ProtectUefiServices:防止UEFI服务(UEFI Sevices)被覆盖(一般和 DevirtualiseMmio 一起开启,Z390 需要开启,10 代(CometLake)可单独开启) SignalAppleOS:白果用的,能在非 macOS 操作系统同时启动 IGPU 和 EGPU RebuildAppleMemoryMap:重构 macOS 兼容的内存映射,和 EnableWriteUnprotector 二选一,遇到问题尝试开启 SyncRuntimePermissions:对齐 MAT 表权限(Windows、Linux 引导遇到问题可尝试开启,确认是否支持 MAT) ProvideMaxSlide:默认即可
DeviceProperties 配置 PCI 设备的参数,例如注入 IGPU 的 Framebuffer 数据、注入音频的设备 ID 和 Layout ID PciRoot(0x0)/Pci(0x1f,0x3) 一般为内置声卡,可添加 layout-id PciRoot(0x0)/Pci(0x2,0x0) 一般为内置显卡(核显-IGPU),可在这里注入 Framebuffer
Kernel 这里可以对内核作一些修改,包括注入驱动,对内核进行修补替换等 添加处可添加我们想加载的驱动(需放在EFI/OC/Kexts) 仿冒 CPU 处可仿冒对应的 CPU(macOS Big Sur Beta 6 开始支持 Comet Lake,仅为留档,无需理睬) Cpuid1Data:EB060800 00000000 00000000 00000000 Cpuid1Mask:FFFFFFFF00000000 00000000 00000000 (来自Bugprogrammer) DummyPowerManagement:和 NullCPUPowerManagement 类似,无原生电源管理的机型需使用(AMD 可用)
强制加载 特殊情况可能需要强制加载一些驱动(如 SecureBoot 值为 Disabled,需强制加载 itlwm 系驱动)
补丁 Ryzen 可在这里打对应的 Ryzen 专用内核补丁
华硕主板遇到重启卡 F1 SafeMode 问题可尝试以下补丁(推荐使用 RTCMemoryFix 框定区域修复) AppleCpuPmCfgLock:如果 CFG Lock 状态为开启,则必须开启(Skylake 之前需和 AppleXcpmCfgLock 一起启用) AppleXcpmCfgLock:如果 CFG Lock 状态为开启,则必须开启(Skylake 之后) AppleXcpmExtraMsrs:无原生电源管理的英特尔 CPU 需开启(Pentium、Haswell-E、Broadwell-E 等) AppleXcpmForceBoost:强制在 XCPM 模式下提供最高性能,部分至强CPU可用 CustomSMBIOSGuid:执行 SMBIOS 自定义模式下的 GUID 补丁(Dell 笔记本遇到序列号显示问题则开启) DisableIoMapper:在 VT-D 中禁用 IOMapper 支持(如在 BIOS 内开启了 VT-D,则勾选) ExtendBTFeatureFlags:替代 BT4LEContinuityFixup 驱动 DisableRtcChecksum:禁止 RTC 的校验和写入(58-59 范围) ExternalDiskIcons:强制 AHCI 所有磁盘为内置磁盘(如果遇到硬盘反转(内置—>外置,外置—>内置)尝试开启) ForceSecureBootScheme:强制使用 x86 方案进行 IMG4 验证(当启用 SecureBootModel 且在虚拟机使用时开启) IncreasePciBarSize:将 PCI 带宽大小扩充至 4GB LapicKernelPanic:禁用LAPIC中断时导致的内核崩溃(HP笔记本需开启) LegacyCommpage:老旧主板使用SSSE3需开启 PanicNoKextDump:显示驱动崩溃信息(调试用) PowerTimeoutKernelPanic:禁用电源状态超时导致的内核崩溃(遇到睡眠崩溃或重启的问题可尝试开启) ThirdPartyDrives:修补 AHCI 驱动,开启第三方 SATA 硬盘的 TRIM 和休眠功能 XhciPortLimit:修补 USB 驱动,解除 USB 端口超过 15 个的限制,定制 USB 后如果超过 15 个 USB 端口则保持开启 DisableLinkeditJettison:修复 Lilu 的兼容性问题,解决 macOS Big Sur 启动卡 PCI 的问题
Misc Boot ConsoleAttributes:启动菜单的文字颜色 HibernateMode:休眠模式(台式建议 None,笔记本建议 Auto) HideAuxiliary:隐藏启动菜单辅助项(恢复模式、重置NVRAM等,开启后可通过启动菜单内按空格键显示辅助项) PickerVariant:启动菜单的自定义图标包 PickerAttributes:启动界面属性(默认即可) PickerAudioAssist:菜单辅助语音 PollAppleHotKeys:模拟苹果快捷键(如 Command+V 进入调试模式) ShowPicker:显示启动菜单(取消勾选时不显示引导项) TakeoffDelay:快捷键延迟 Picker Mode: Built In 为默认的显示模式 External 为外置资源的显示模式(可加载 Resources 主题) Apple 为白果用
Timeout: 到倒计时结束时进入默认指定到系统 0 为不开启 1-Max 为开启
Debug DisplayDelay:屏幕调试输出延迟 DisplayLevel:屏幕调试输出等级 Target:屏幕调试输出目标 DisableWatchDog:禁用 watchdog 服务 AppleDebug:调试日志 ApplePanic:内核崩溃日志 SysReport:在引导分区内生成系统报告 SerialInit:串口设备的初始化
Security HaltLevel:默认即可 ExposeSensitiveData:暴露操作系统的敏感数据(UEFI 变量) Scan Policy: 调整系统扫描规则 0 为全部显示 ApECID:苹果安全引导标识符
Vault: 如果不使用文件加密选 Optional
BootProtect: None 为使用默认的引导启动方式 BootStrap 选项设置 EFI\OC\Bootstrap\Bootstrap.efi 的启动优先级最高,即开机自动接管启动 OpenCore BootstarpShort:短引导选项,无法处理完整启动路径的固件可用(例如 Insyde) DmgLoading:恢复映像的加载策略 PasswordHash:密码哈希值 PasswordSalt:密码加盐 AllowNVRAMReset:引导界面开启内置的 NVRAM 重置工具 AuthRestart:VirtualSMC 的身份验证重启 AllowSetDefault:允许使用 Ctrl+Enter 选择默认的启动项 EnablePassword:密码保护 SecureBootModel:选择 Disabled 即可(使用 Nvidia Web Driver、itlwm 需设为 Default,或强制加载) BlacklistAppleUpdate:忽略更新苹果扩展固件的启动项(例如 MultiUpdater.efi)
BlessOverride 可在此设置单 EFI 多系统启动的引导(.efi)指定 \EFI\Microsoft\Boot\bootmgfw.efi 即为引导单 EFI 下的 Windows
Entries 自定义引导项
NVRAM 修改 NVRAM 内的数据 (主要修改 7C436110-AB2A-4BBB-A880-FE41995C9F82 的内容) SystemAudioVolume:修改系统声音大小(0-100) boot-args:启动参数(我们最常用的就是 -v alcid=x -wegnoegpu,具体根据自己需求设置) csr-active-config: SIP 参数 00000000 开启 SIP E7030000 关闭 SIP(10.15.x 及以下) 77000000 关闭 SIP(Big Sur 11.0) prev-lang:kbd: 设置默认语言 默认为俄语 72753a3139343536 俄语 656e2d55533a30 英语 7A682D48616E733A323532 中文(zh-Hans:252) nvda_drv: 开启 10.13.x Web Driver nvda_drv 字符数值为 1 时即开启(推荐在 boot-args 里添加 nvda_drv_vrl=1)
LegacyEnable:非原生 NVRAM(模拟 NVRAM)需开启 LegacyOverwrite:重写变量 WriteFlash:允许把变量写入闪存
SMBIOS 这里不细讲,选自己适合的就行了 AdviseWindows:Windows 下 ESP 分区不在第一分区需开启 SpoofVendor:仿冒主板品牌商为 Acidanthera ProcessType:仿冒 CPU,默认设为 0 即可(AMD Ryzen 或 ES 处理器可将其设为 Model 定义的值以显示具体核心数) SystemMemoryStatus:默认即可 按照以下图片设置(Dell 机型需将 UpdateSMBIOSMode 设为 Custom) UEFI APFS EnableJumpstart:开启内置的 APFS 驱动 HideVerbose:隐藏 APFS 驱动的调试日志 JumpstartHotPlug:支持含有 APFS 分区的设备的热插拔 GlobalConnect:在 APFS 加载期间执行完整的设备连接(针对 HP 机型)
UEFI 驱动 将我们想加载的驱动的名字写在里面如 并勾选连接驱动程序(Connect Driver)
ExitBootServicesDelay:在退出启动服务后添加延迟(以微秒为单位) IgnoreInvalidFlexRatio:如果 MSR 0x194 区域被锁定则开启(Skylake 之前的机型如果未解锁 CFG 开启此项) ReleaseUsbOwnership:分离 USB 控制器所有权,笔记本一般开启 RequestBootVarRouting:macOS 下启动磁盘内切换默认系统引导需开启 UnblockFsConnect:HP 机型遇到启动项加载问题则开启 DeduplicateBootOrder:如果启动方式选择 BootStrap,需开启(在 OpenCore BootLoader 0.6.5 中被移除) TscSyncTimeout:TSC 同步相关,一般不使用,推荐使用 VoodooTSCSync 等驱动代替
至此,config.plist 配置结束
BIOS 设置 开启-Enabled 关闭-Disabled XHCI Hand Off:开启 Above 4G Recoding:开启 CSM:关闭 Secure Boot:清除默认密钥 启动方式:Windows 8/10 UEFI VT-D:关闭 Fast Boot:关闭 DVMT:128MB-256 MB(如核显设为加速用,可以设为最小值) CFG Lock:关闭 ACPI Alarm:Legacy RTC (以上为演示机 BIOS 设置,其他主板可能有相关调整)
写入映像
如果是从我的帖子里下载的 DMG 安装映像,使用 Etcher(已不推荐 TransMac)写入到 U 盘里,这里不作赘述 这里讲解下另一种写入方式 需要工具: 我们可在这里选择我们想要下载的版本,如 10.15.6,也可以选择 C(Change Catalog)切换开发者版(Big Sur)
下载完成后,我们可以执行 MakeInstall.bat,选择 U 盘并写入(Windows),在 macOS 下我们可以直接使用BuildmacOSInstallApp.command 生成对应版本的安装程序
替换引导文件
在 macOS 下我们可直接使用 OCC 挂载 EFI 分区 在 Windows 下,我们可以使用 DiskGenius 找到我们 U 盘的 EFI 分区,并强制删除 EFI 文件夹,将修改好的 EFI 拖进去并确认(推荐使用 DiskGenius 原版,有些 DiskGenius 和谐版可能阉割了拖拽功能) 替换完成之后,我们就可以进入 OpenCore 尝试引导系统
引导 macOS 重启电脑,我们按下对应主板的引导菜单键(华硕为 F8)选择我们写好的U盘
我们选择 3 回车,等待跑码完成进入安装 进入安装界面后,我们选择磁盘工具 选择我们要格式化安装 macOS 的分区,并选择抹掉(也可直接选择整块硬盘格式化) 格式:APFS(机械硬盘推荐HFS+) 分区名:自己取 分区表:GUID 完成后,我们退出磁盘工具,进入安装 macOS 一路往下,等待安装 进度条走一会后,系统会重启,这时候引导界面会多出来一个启动项,我们选择那个回车即可 多次重启后,引导界面会出现我们在磁盘工具内格式化分区填写的名称的启动项,我们选择它,回车,等待进入系统 进入系统后,自行过开机向导(网络选择不连接网络,待进入系统连接)
安装后
完善驱动 我们需要驱动最基本的三卡(显卡、网卡、声卡),所以我们需要了解我们的设备型号
显卡(核心) 查看你的 CPU 对应的是什么核显 比如 i5-8500 UHD630 打开 config.plist,进入 DeviceProperties 栏,创建项 PciRoot(0x0)/Pci(0x2,0x0),在右处右键,选择预设值,如图
主界面是这样的 选择我们对应的版本,以及 CPU 架构,选择合适的显卡 ID(百度搜索 Intel 核显缓冲帧即有相应结果)并选择添加
如果遇到缓冲帧崩溃(PANIC)将 AAPL,ig-platform-id 内写入 11223344
选择生成补丁,并在左上角文件内选择导出 config.plist(笔记本内屏分辨率超过 1080P 可能需要勾选 DPCD 修补相关) 生成后,桌面上会出现一个 config.plist,我们打开它,进入 DeviceProperties DeviceProperties 选中 PciRoot(0x0)/Pci(0x2,0x0) 右键,复制,并粘贴到你自己的 config.plist 相应位置即可
显卡(AMD,不包括ATI) 专业卡(如 Radeon VII)& Navi(RX55xx-RX57xx)使用 WhateverGreen 驱动即可,并在 boot-args 中加入 agdpmod=pikera(解决 Navi 系显示黑屏,替换 board-id)
显卡(NVIDIA) GTX6xx-7xx 部分显卡免驱(但可能会花屏) 不免驱但可驱动的卡使用 10.13.x(RTX 全系无法驱动,9xx-10xx 可驱动) 可在 Web Driver 内下载到系统对应版本的驱动(一定要对应系统版本)安装驱动后,在 NVRAM 下 7C436110-AB2A-4BBB-A880-FE41995C9F82 处加入 nvda_drv 项,并填写字符值为 1 file:///C:/Users/11960/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg 如图
声卡(Realtek ALC) 瑞昱(Realtek)ALC 系大部分可通过 AppleALC 注入对应 Layout ID 输出声音,笔记本可能需要定制 codec 数据 使用 AppleALC,并在 Layout ID 处找到你主板声卡对应的 Layout ID 并在 boot-args 中加入 alcid=x(如对应的 Layout ID 为 5 则 alcid=5,如果出现多个 ID,一个一个尝试,如果 ID 为 5-10,尝试 5、6、7、8、9、10)
有线网卡(Realtek)
配置改为手动,速度改为路由器速率(如果路由器速率为 1000M,就选 1000M;如果路由器速率为 100M,就选 100M),全双工,保存应用即可联网
有线网卡(Intel)
I225-V 驱动方案:
Intel I225-V 网卡理论在 macOS Catalina 以上免驱,需仿冒为I225-LM以使用系统自带的原生驱动进行驱动
打开Hackintool,选择PCIe选项
选择 Intel I225-V 网卡,右键选择 Copy Device Path
在 config.plist下DeviceProperties 内添加刚刚复制的 Device Path,在对应路径下添加 device-id 项,值为 F2150000,类型为 DATA
完成后保存重启即可
有线网卡(Atheros)
无线网卡(Broadcom) 博通(Broadcom)系苹果拆机网卡无需另外驱动,插上可直接使用 博通(Broadcom)系非苹果拆机网卡(如 DW1820A)则需要 AirportBrcmFixup 驱动(将 4360_Injector 的 MaxKernel 值写为 19.9.9,大陆用户推荐加入 brcmfx-country=#a 到 boot-args 以解锁全部频段)
无线网卡(Intel AC 系 AX 系)
无线网卡(USB 系)
蓝牙(Broadcom) 博通(Broadcom)系苹果拆机网卡的蓝牙无需另外驱动,插上可直接使用 博通(Broadcom)系非苹果拆机网卡(如DW1820A、DW1560)的蓝牙大部分无需另外驱动,如果识别不到蓝牙,则需要 BrcmPatchRAM 驱动
蓝牙(Intel)
USB(推荐定制 USB) 400 系(B460、Z490)需要使用特制的 USBInjectAll 识别所有端口 记得开启 XhciPortLimit!!!!!
PS2(键盘、鼠标、触摸板等)
I2C(触摸板、触摸屏等)
SD 读卡器(Realtek)
少部分可通过使用 Sinetek-rtsx 驱动
附加内容
定制 USB(记得先开启 XhciPortLimit) 前提条件:使用 USBInjectAll 识别全部端口 打开 Hackintool 的 USB 栏,点击清空全部(扫把),再点击刷新 然后分别拿一个 USB3.0 和 2.0 设备插你机箱上的全部 USB 插口,如果插上一个 USB 插口,USB 栏有一个接口绿了,记录即可,如果网卡占用了一个 USB 内置端口(蓝牙)则记为 USB2.0,USB2.0 使用 2.0 设备插,USB3.0 则分别使用一个 2.0 和 3.0 设备插,记录 USB3.0 插口的 HS 和 SS 端口(一般对应)TypeC 如果使用 TypeC 线正反插都只亮一个 HS/SS 端口,则记为 TypeC-SW,反之则记为 Type-C,记录完成后如图所示 记录 点击清空全部(扫把),再点击刷新,将记录的信息分别对应填写对应的 USB 端口里,如图 完成后导出即可,使用 MaciASL 打开生成的 SSDT-UIAC.dsl,查看每个端口的 UsbConnector 是否和你记录的对应,Zero 为 USB2.0;3 为 USB3.0;9 为 TypeC-SW;10 为 TypeC,确认对应后编译为 aml 并放入 EFI/OC/ACPI 中,并在 config.plist 中设置加载
注入 EDID/开启 HIDPI 为了省事,我们直接使用修改好的 one-key-hidpi(适配 Big Sur),下载后执行 hidpi.command,选择开启 HIDPI(注入 EDID),剩下几步自行选择需要的,开启后效果为 IGPU 加载 Apple Guc Firmware WhateverGreen 默认不加载 Apple Guc,如想使用 Apple Guc,在 boot-args 中加入 igfxfw=2
IGPU 加载四项 WhateverGreen 默认不加载四项,如想加载 AppleGraphic 四项,在 boot-args 中加入 agdpmod=ignore
注入白果 SMBIOS 三码 如果手里有白果的 SMBIOS 信息,我们可注入以使用 iMessage 和 Facetime(iServices) 将序列号和 UUID 和 ROM 和 MLB 填写,机型无需更改 屏蔽显示器音频 在 config.plist 的 DeviceProperties 处添加自己显卡的 PCI 路径,并添加 no-hda-gfx,如下图所示 CPU 变频 基本要求:CPU 进行高负载运算时,负载/频率快速上升,CPU 关闭高负载运算程序后,负载/频率快速下降 如果自己的 CPU 是白苹果(苹果原装机)使用过的,直接使用对应的机型(如 8500、8600k--iMac 19,1) 英特尔 2/3 代则不支持原生电源管理,需另外方法变频,这里不讲解
AMD 传感器 由于 SMCProcessor 仅支持英特尔 CPU,并不适用于 AMD CPU,所以我们需要使用 SMCAMDProcessor 驱动传感器,AMDRyzenPowerManagement 加载时将 DummyPowerManagement(config.plist 内 Quick)关闭,仅支持 VirtualSMC,不支持 FakeSMC
核显唤醒黑屏 当遇到这种问题时,我们可以使用 WhateverGreen 的 IGPU 强制在线参数,将 igfxonln=1 添加至 boot-args 中,保存应用即可
网卡仿冒(确保网卡被识别) 在 Big Sur 11.0 中,由于 4360 的驱动被删除,我们需要仿冒网卡以使用 NIC 驱动 进入 Hackintool,PCI 设备一栏找到我们的网卡对应的路径(PciRoot.....)如图 file:///C:/Users/11960/AppData/Local/Temp/msohtmlclip1/01/clip_image062.jpg 使用 OCC 打开 config.plist,在 DeviceProperties 加入网卡对应的 PCI 路径(如 PciRoot(0x0)/Pci(0x1D,0x2))在右侧添加 compatible 项,并填写 pci14e4,43a3,保存应用
睡眠修复(实验性) 内容仅针对:睡眠秒醒、睡眠唤醒重启、无法睡眠进行修补,如遇见睡眠唤醒黑屏,尝试添加(核显唤醒黑屏)内容,如还是同样症状,本内容可能不适用于你
在睡眠唤醒后,在终端中输入 log show --last boot | grep -Ei "Wake Reason" 查看睡眠日志(如果你安装了无线网卡,可能会出现 airportd:systemWokenByWiFi: System Wake Reason not found 字样,忽略即可) 如日志中出现 XDCI CNVW 字样,尝试关闭小怠以及网络唤醒,再尝试睡眠 如日志中出现 EHC1 EHC2 XHC XHCI XHC1 字样,定制 USB,再尝试睡眠 如日志中出现 GLAN IGBE 字样,内建网卡,并关闭节能中此项,再尝试睡眠 在自己的 DSDT 中,搜索 _PRW,查找 Return (GPRW (0x6D, 0x04))、Return (GPRW (0x0D, 0x04)) 等相关关键词(6D 04 6D 03 0D 04 0D 03)结果如图 将 SSDT-GPRW.dsl 编译为 SSDT-GPRW.aml(使用 MaciASL 或 iasl-binary 都可)并放在 EFI/OC/ACPI 下,在 OC 中加载,使用 OCC 打开 config.plist,在 ACPI/补丁下右键 如果 _PRW 下关键词为 6D 04 或 6D 03,则使用6D更名补丁,反之则使用 0D 更名补丁
屏蔽独显(EGPU) 在笔记本上,我们经常因为独立显卡无法驱动的原因而导致无法进入系统,我们可以使用 WhateverGreen 内置的 -wegnoegpu 参数达到禁止独显的效果,使用 OCC 打开 config.plist,在 boot-args 中添加 -wegnoegpu 即可(这种方法可能会导致 S3 睡眠崩溃)
重置 NVRAM 在 OpenCore 引导界面选择 Reset NVRAM 后回车(如没有可能需要按下空格或 Tab,恢复辅助显示,如果没有引导界面,可能需要打开 ShowPicker 选项)
注入 EDID(修正 RGB) 有些显示器会出现色彩偏差或不定时黑屏等问题,这里我们通过修补 EDID 来解决 打开 Hackintool 的显示器栏 我们钩上图中的两个选项,并更改我们需要的分辨率(如果没有,可手动添加分辨率),然后点击添加,再点击导出,将导出的文件放在 Library/Displays/Contents/Resources/Overrides 下,如图 保存应用
RTC 唤醒问题 当我们在唤醒日志中看到 RTC Wake Alarm 相关内容,请尝试启动 Sample.plist 里 Kernel to Patch 自带的 Disable RTC wake 补丁,如图 file:///C:/Users/11960/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif 启用并检查问题是否解决
开启第三方 TRIM 我们可以打开 config.plist 里 Kernel 下的 ThirdPatryDrive 以开启,但这不是最佳的,推荐使用如下方法开启 TRIM 在 config.plist 里 NVRAM 的 7C436110-AB2A-4BBB-A880-FE41995C9F82 中加入 EnableTRIM 参数,如图 EnableTRIM 参数,如图
笔记本核显外接输出(确保笔记本 HDMI 或 Type-C 接口从核显接出)
当笔记本核显 HDMI 或 Type-C 输出不正常(如黑屏)时,尝试在 boot-args 中添加 agdpmod=vit9696 以禁止检测 board-id,同时 SMBIOS 需与笔记本对应
macOS Big Sur 内屏 4K 60Hz 输出
当在 macOS Big Sur 下内屏 4K 60Hz 输出黑屏或崩溃时,尝试在 boot-args 中添加 -igfxmpc,操作后如果还是存在部分问题,再添加 -cdfon
Source: https://github.com/acidanthera https://github.com/Mieze https://github.com/xzhih https://github.com/corpnewt https://github.com/ic005k https://github.com/OpenIntelWireless https://github.com/corpnewt https://github.com/daliansky https://github.com/chris1111 https://github.com/AMD-OSX https://github.com/cholonam
Help: https://blog.xjn819.com https://github.com/IlikemacOS
感谢以上开源项目的付出!(如有遗漏可联系补全)
|