Professional Documents
Culture Documents
PHP
JAVA
FLUTTER
前端
其他
随笔
文档
首页 > 我的博客 > 前端
opencore 详解《转载》
建议原站阅读,排版更好,此处为防丢失
简介
阅读
Opencore Vanilla Desktop Guide
精解 OpenCore
软件下载
OpenCore(官方稳定版本)
Hackintool
MaciASL
宪武大大 oc 部件
gfxutil
更新日记
点击查询帖子最近更新
0.0 BIOS 设置
直接抄袭 @BAT 了
禁用:
英文 中文
CFG Lock (MSR 0xE2 write protection) CFG 锁 (MSR 0xE2 写入保
VT-d VT-d
CSM 兼容性支持模块
启用:
英文 中文
VT-x VT-x
1.0 整理 OPENCORE 目录
Applealc.kext 声卡驱动
VirtualSMC.kext 传感器驱动依赖
SMCSuperIO.kext IO 传感器
WhateverGreen.kext 显卡驱动
打开 EFI--Drives,里面的驱动介绍如下:
OpenCanopy.efi 加载第三方开机主题。
OpenRuntime.efi 内存运用等必要的插件,必须加载。
Ps2MouseDxe.efi PS2 鼠标所需插件。
2.0 Config.plist 修改
2.1.1 Config–ACPI–Add
Item 0
Item 1
Comment String Thunderbolt3
2.1.2 Config–ACPI–Delete
2.1.3 Config–ACPI–Patch
这里我们需要填写一下热补丁。
Count: 0
Enabled: YES
Find: <4543305F>
Limit: 0
Mask: <>
OemTable: <>
Replace: <45435F5F>
ReplaceMask: <>
Skip: 0
TableLength: 0
TableSignature: <>
Count: 0
Enabled: YES
Limit: 0
Mask: <>
OemTable: <>
ReplaceMask: <>
Skip: 0
TableLength: 0
TableSignature: <>
2.1.4 Config–ACPI–Quirks
此目录下有五项,选择与解释如下:
FadtEnableReset: NO
旧的主板需要对 FADT 进行标记来激活电脑的开机和关机功能,这里
我们不许要启动它
NormalizeHeaders: NO
清理 ACPI 头,一些主板的 ACPI 表需要打开这个修复 10.13 系统的启
动。
RebaseRegions: YES
尝试试探性地重新定位 ACPI 内存区域, 使用自定义 DSDT 则必须开启
ResetHwSig: NO
存在重新启动后因无法维持硬件签名而导致从休眠中唤醒的问题的
硬件需要开启
ResetLogoStatus: NO
无法在有 BGRT 表的系统上显示 OEM Windows 标志的硬件需要开
启
2.2 Config–Booter
内存相关选项设置。
2.2.1 Config–Booter–MmioWhitelist
默认第二项是开机卡 PCI Configuration 这里。ACPI、PCI device 同时释
放到内存时发生 0x1000 内存地址被占用而卡在 PCI Configration,
如果碰到此类问题,请开启它。
2.2.2 Config–Booter–Patch
2.2.3 Config–Booter–Quirks
AllowRelocationBlock: NO
DevirtualiseMmio: YES
是更加高效的内存注入方式,但不代表每台机器都能
KASLR
使用这种方案,这里我提供两种关于内存的设置:
DisableSingleUser: NO
这里关乎主机是否能开启单用户模式。什么是单用户模式,请看此文
章。
DisableVariableWrite: YES
DiscardHibernateMap: NO
电脑从休眠(hibernation)中唤醒时,硬盘里的资料会恢复到内存中去,
但这个时候 OC 的内核以及内核缓存等也会写入,这样可能导致冲
突,这个选项是帮助我们解决这个问题的。而目前来看,除了原生
NVRAM 都无法进行休眠(注意睡眠 sleep 和休眠 hibernation 是
两个概念),台式机的话就更不需要休眠功能了,这里我选择 NO。
这里我们也不讨论如何休眠。
EnableSafeModeSlide: YES
安全模式下是否启用连续性的内存注入方式。我就选择 YES,与正
常情况下保持一致。
EnableWriteUnprotector: YES
ForceExitBootServices: NO
这个选项是让那些非常老旧的主板也能使用内存寻址,正常情况下
选 NO。
ProtectMemoryRegions: NO
ProtectSecureBoot: NO
保护安全启动,除非你开启安全启动,不然我们选择 NO。
ProtectUefiServices: NO
解决 Z390 系列主板卡开机卡++++的问题,这个功能从字面意思是与
我提供的 memoryallocation.efi 功能类似。
ProvideCustomSlide: YES
ProvideMaxSlide: 0
RebuildAppleMemoryMap: NO
重新生成内存地图来匹配苹果系统。苹果的内核有很多缺陷,比如单
张的内存地图不能超过 4K,一旦超过就可能无法开机;又比如一些
硬件会直接把读写权限写进内存里,而苹果却不能给与写入权限。如
果你遇到此类的问题,请尝试开启它。注意此项目与 EnableWriteU
nprotector 存在冲突关系,确保开启这个的时候,另一个是关闭的。
另外,此项又需要与 SyncRuntimePermissions 项搭配使用。一般情
况下请选择 NO。
SetupVirtualMap: YES
是否建立虚拟内存并对物理内存进行映射。我们在开机时,OC 的程
序需要一块连续性的内存进行存放内核等东西,而实际的物理内存
一般都是分散的。因此,我们通过虚拟内存建立连续性内存供 OC 使
用,并映射到分散的物理内存中。这里我们选择 YES。
SignalAppleOS: NO
2.3 Config–DeviceProperties
此项是用来注入你的设备的,主要是显卡和声卡两部分。同样你也可以定
制一些设备到你的 关于本机--系统报告--PCI 列表中,尽管没有多大的意义。
2.3.1 声卡
这里首先我们需要确认自己的声卡驱动已经被加载,终端下输入:
我们会得到被加载的驱动,请确保 as.vit9696.Lilu;
as.vit9696.AppleALC;com.apple.driver.AppleHDAController;
com.apple.driver.AppleHDA 已经被加载。
后面一段我们看到预先填写的声卡 ID 为 <01000000>,这里我们需要把它
换成合适自己声卡的 ID,输入以下命令得到自己声卡的 CodecID。
PciRoot(0x0)/Pci(0x1f,0x3)
如果你测试的 ID 都无效,请确保你的操作过程正确、并测试用万能声卡
(VoodooHDA)补丁来替换 AppleALC 这个补丁。如果都不行,你可能需要自
行编译声卡补丁。
2.3.2 核心显卡
打开 PciRoot(0x0)/Pci(0x2,0x0) 这项,此项为驱动核心显卡。驱动核心
显卡我们要分情况讨论:
2.3.2.2 没核心显卡的用户
带 f 的 cpu (e.g. 9100f 9900kf), Xeon 等不带核心显卡的用户不需要管这项,
直接把 AAPL,ig-platform-id 选项卡删了。
2.3.2.3 有核心显卡并用独显做主力的用户
这种情况我们一般把核心显卡作为加速用,而显示则用独立显卡。这样,
我们填一个作为加速用的核显 ID 即可了,8 代 9 代 10 代除外的 cpu 请搜
索黑果小兵的博客:
2.3.3 Delete
这里是禁用一些设备的,我们按默认就行了,不需要任何修改。
2.4 Config–Kernel
这里是内核相关选项。
2.4.1 Config–Kernel–Add
这里默认情况下很多我们需要的补丁已经被加载里面了,但是 enabled
那块我们要手动改成 yes 去开启它,把一些不用的删了:
Item 0
............ ...........
............ ...........
Item 7
Comment String
MaxKernel String
MinKernel String
............ ...........
............ ...........
2.4.2 Config–Kernel–Block
禁用一些 kexts,这里好像没啥用,不用理会。
2.4.3 Config–Kernel–Emulate
2.4.4 Config–Kernel–Force
2.4.5 Config–Kernel–Patch
这里是为内核打补丁用的,我会在进阶教程中详细写一下这一块。尤其是
rtc 相关的内容,我都会写进第三章的进阶教程。
2.4.6 Config–Kernel–Quirks
这里是内核相关的快捷选项,比较重要。
AppleCpuPmCfgLock: YES
AppleXcpmCfgLock: YES
AppleXcpmExtraMsrs: NO
AppleXcpmForceBoost: NO
戴尔笔记本专用项。
DisableIoMapper NO
禁用 vt-d。
DisableLinkeditJettison YES
提 升 lilu 等 插 件 在 MACOS 11 系 统 的 表 现 , 用 来 替
代 keepsyms=1。
DisableRtcChecksum NO
ExtendBTFeatureFlags NO
代替 BT4LEContinuityFixup.kext 来实现 continuity。
ExternalDiskIcons NO
修复苹果系统把内部硬盘识别为外置硬盘时(黄色图标的硬盘)开
启。
ForceSecureBootScheme NO
IncreasePciBarSize NO
LapicKernelPanic NO
适用于 HP 笔记本的内核奔溃选项。
LegacyCommpage NO
PanicNoKextDump YES
PowerTimeoutKernelPanic YES
一些设备自身的电源管理无法让系统进入睡眠而超时,导致内核奔
溃,如果有这个问题请选择 YES。
ThirdPartyDrives NO
XhciPortLimit YES
解除 15 个 USB 端口限制
2.4.7 Config–Kernel–Scheme
FuzzyMatch NO
此选项是给 10.6 以及更早的系统使用,我们不做探讨。
KernelArch NO
KernelCache Auto
选择更加合适的内核缓存方式以提升启动速度。
2.5 Config–Misc
这里都是一些开机引导类的设置。
2.5.1 Config–Misc–BlessOverride
▼ Misc <Dictionary>
2.5.2 Config–Misc–Boot
ConsoleAttributes 0
设置开机选择界面的颜色,默认直接填 0。使用方法为填入字体颜色
和 背景颜 色的 值的 16 进制之和 。 例如 蓝色字 (0x01) + 红色背
景 (0x40) = 0x41。色彩选择如下:
字体颜色
0x00 — 黑
0x01 — 蓝
0x02 — 绿
0x03 — 青
0x04 — 红
0x05 — 艳红
0x06 — 棕
0x07 — 淡灰
0x08 — 深灰
0x09 — 淡蓝
0x0A — 淡绿
0x0B — 淡青
0x0C — 淡红
0x0D — 淡艳红
0x0E — 黄
0x0F — 白(这里是白色)
背景颜色
0x00 — 黑
0x10 — 蓝
0x20 — 绿
0x30 — 青
0x40 — 红
0x50 — 艳红
0x60 — 棕
0x70 — 淡灰
HibernateMode None
None: 关闭休眠支持
RTC: RTC 模式
PickerAttributes 17
当你使用 OC 主题时,你可以通过计算以下数值之和来配合使用 OC
主题,建议使用数字 17
0x0002: 在图标下显示渲染的文字指示。
0x0004: 使用默认的图标。
0x0008: 使用老式的图标。
0x0010: 在主题界面中允许使用鼠标。
使用 17 这个值意味着是 1+2+4+10
PickerAudioAssist NO
是否开启开机朗读文字功能,一般选择 NO,如果你要开启,请同时
阅读章节 2.8.2 和 2.8.7 的相关音频设置。
PickerMode Builtin
PollAppleHotKeys YES
是否开启一些热键功能,包括 ?+K,?+S
ShowPicker YES
是否显示开机启动盘选项。
TakeoffDelay 0
Timeout 5
倒计时进入指定硬盘,这里我们按需求填写,我填写 5,代表 5 秒
钟进入指定硬盘。
2.5.3 Config–Misc–Debug
2.5.4 Config–Misc–Entries
这里是帮助我们添加一些你希望的引导路径,这个会在之后的进阶教程中
讲,这里暂时略过不填写。
2.5.5 Config–Misc–Security
AllowNvramReset YES
AllowSetDefault YES
ApECID 0
一般按默认的 0 填写,如果要开启安全启动的身份认证,请随便填
写一串数字,比如手机号。
AuthRestart NO
BlacklistAppleUpdate YES
BootProtect None
DmgLoading Any
如果你没有开启安全启动,请填写 Any;如果使用安全启动,请填
写 Signed(注意大小写)。
EnablePassword NO
此选项正在开发。
ExposeSensitiveData 2
HaltLevel 2147483648
按默认设置即可。
PasswordHash 留空
PasswordSalt 留空
ScanPolicy 0
填 0。我们也许会碰到开机的时候默认进入的系统永远是
WINDOWS,并无法更改,之后我们在进阶教程中讲述,如何让 MAC
盘排在第一个,让 WIN 排在后面。
SecureBootModel Disabled
Vault Optional
是否开启保险箱功能,我们选择 Optional 不开启它。
2.5.6 Config–Misc–Tools
Arguments
传递的参数
Auxiliary: NO
NO 默认不隐藏
OpenCore 启动项中显示的名称
Enabled YES/NO
启用或禁用
Path 文件名称(如 openshell.efi)
Tools 文件夹下的文件名
2.6 Config–NVRAM
2.6.1 Config–NVRAM–Add
4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
7C436110-AB2A-4BBB-A880-FE41995C9F82
2.6.2 Config–NVRAM–Delete
NVRAM 的数据不可被覆盖,必须先被删除再添加,我们这里按默认设置
不必理会。
2.6.3 Config–NVRAM–LegacySchema
2.6.4 Config–NVRAM–LegacyEnable
2.6.6 Config–NVRAM–LegacyOverwrite
2.7 Config–PlatformInfo
这里我们填合适的机型。对于最近一代的主板来说,一般的原则,只有核
显的机器我们选 Macmini8,1;只有独显的机器我们选择 iMac Pro 1,1;有核
显和独显的我们选择 iMac 19,1。笔记本请按照对应的 cpu 型号来选择。
2.7.1 Config–PlatformInfo–Automatic
是否自动补全系统信息。这里我选 YES,不重要的信息让它自动填。
2.7.2 Config–PlatformInfo–CustomMemory
自定义内存选项,请选择 NO
2.7.3 Config–PlatformInfo–Generic
这里是我们需要填写的三码部分。
重启后,请再在终端下输入:
AdviseWindows YES
SystemMemoryStatus Auto
一些机型本身是可以升级内存,但在关于本机选项卡中不显示内存
选项时需要开启,一般选择 Auto。
SpoofVendor YES
ProcessorType 0
UpdateDataHub YES
更新 DataHub。
UpdateNVRAM YES
更新 NVRAM。
UpdateSMBIOS YES
更新 BIOS
UpdateSMBIOSMode Create
2.8 Config—-UEFI
2.8.1 Config–UEFI–APFS
EnableJumpstart YES
GlobalConnect NO
是否隐藏啰嗦模式,一般我们需要看日志的时候才开启,所以我们
选择隐藏,选择 YES。
JumpstartHotPlug YES
MinDate 0
MinVersion 0
2.8.2 Config–UEFI–Audio
此项的内容是帮助你在开机阶段驱动板载音频,此项对 DP 等数字音频无
效。
AudioCodec 0
AudioDevice 0
AudioOut 0
AudioSupport NO
是否开启黑苹果的提示音支持。
MinimumVolume 20
PlayChime Auto
是否开启开机提示音;如果需要开启请填入 Enabled。
2.8.3 Config–UEFI–ConnectDrivers
是否加载补丁,我们选择 YES。
2.8.4 Config–UEFI–Drivers
Drivers
item0 String
0 .................... MemoryAllocation.efi
1 .................... OpenRuntime.efi
2 .................... HFSPlus.efi
3 .................... OpenCanopy.efi
2.8.5 Config–UEFI–Input
2.8.6 Config–UEFI–Output
ClearScreenOnModeSwitch NO
消除开机时从图形模式转换到文本时出现残影的问题,如果没有这
个问题我们选择 NO。
ConsoleMode MAX
主机的输出方式,一般情况下填 MAX,或者留空。
DirectGopRendering NO
是否使用内置显卡直接渲染开机画面。
ForceResolution NO
IgnoreTextInGraphics NO
修复在不使用 -v 跑马模式时候,开机日志导致的苹果 LOGO 显示
不正确的问题。
ProvideConsoleGop YES
调用显卡 GOP。
ReconnectOnResChange NO
ReplaceTabWithSpace NO
Resolution 留空
修复 4K 及以上显示器的输出问题。
TextRenderer BuiltinGraphics
OC 开机代码字体渲染方式
UgaPassThrough NO
2.8.7 Config–UEFI–ProtocolOverrides
AppleAudio NO
如果你想要开启如同白苹果一样的开机音效,请开启它,并且还需
要配合 UEFI--Audio 的正确设置。
AppleBootPolicy NO
AppleDebugLog NO
重新安装苹果错误日志界面。
AppleEvent NO
AppleFramebufferInfo NO
为虚拟机使用,不是虚拟机选择 NO。
AppleImageConversion NO
重建 Apple 图标。
AppleImg4Verification NO
当开启安全启动时必须开启它。
AppleKeyMap NO
重建苹果功能键。
AppleRtcRam NO
重装 AppleRtc 协议。
AppleSecureBoot NO
苹果安全启动协议。
AppleSmcIo NO
AppleUserInterfaceTheme NO
DataHub NO
重建 Datahub。
DeviceProperties NO
FirmwareVolume NO
HashServices NO
Vault 相关项。
OSInfo NO
UnicodeCollation NO
旧的主板需要,我们选 NO。
2.8.8 Config–UEFI–Quirks
DeduplicateBootOrder YES
当 RequestBootVarRouting 选项为开启时,一些其他的操作系统
(e.g.windows)可能在某些主板(e.g.ASUS)中会找不到自己的引导而
重新创建,最终导致黑果在没有清理 NVRAM 的情况下是无法进入系
统,或者产生多个 OpenCore 引导项,请选择 YES。
ExitBootServicesDelay 0
旧主板需要给予主板退出时间(单位为微秒),较新的主板直接填
0。旧的主板比如 Z87pro,填 3000000-5000000。
IgnoreInvalidFlexRatio NO
ReleaseUsbOwnership NO
RequestBootVarRouting YES
增加 启动磁盘 的可靠性。
TscSyncTimeout 0
帮助一些 X99、X299 的主板开启全核同步功能。此选项旨在代
替 TSCAdjustReset.kext 等类似补丁,推荐的值是 500000。但是
此选项并不能在睡眠唤醒后生效,所以请填写默认值 0,并使用
TSCAdjustReset.kext 来做全核同步。
UnblockFsConnect NO
2.8.9 Config—-UEFI—-ReservedMemory
Properties
3.0 OpenCore 完善
3.1 模拟 NVRAM
对 OC 而言,NVRAM 是非常核心的一环,不管是原生还是模拟的。如果你是
原生 nvram 的主板,请不必理会这章节。
首先打开我们之前下载好的 OpenCore,进入目录下
的 Utilities/LogoutHook 文件夹,你会看到 LogoutHook.command 文
件。
打开 Terminal(终端)并输入 cd ~ 返回到用户根目录,输入 mv 和
一个空格,然后鼠标拖动 LogoutHook.command 文件到 Terminal(终
端),再在终端输入 ~/.LogoutHook.command
例如(不要直接复制这条命令行)
mv /Users/xjn/Downloads/OpenCore-0.6.2-RELEASE/Utilities/LogoutHook/LogoutHook.command ~/.LogoutHook.
最后在 Terminal(终端)中,输入以下命令按回车:
终端会提示要求你输入密码(密码打进去不会显示)。
3.2 建立自己的开机选择系统目录
因此部分需求太小众且繁琐,我折叠起来了,点击展开
3.3 提取 DSDT
分区表类型:GUID
不要创建新的 ESP 分区
不要创建新的 MSR 分区
分区格式为 FAT32
重新通过 OC 引导进入系统,我们打开 U 盘,EFI/Clover/ACPI/Orgin 下,
有我们的原始 ACPI 内容,我们只需要 DSDT.aml 这个就行了,保存到安
全的地方。
3.4 加载原生电源管理
If ((CLOD == 0x00))
Return (0x00)
}
Else
Local1 -= 0x01
Local1 = 0x00
Local1 *= 0x02
If ((Local0 == 0x01))
Local1 += 0x01
Return (Local1)
ACPI
Add
Item 0
加载后,重启,并清理一次 nvram,我们看到偏好设置–节能中,原生
电源管理已经被加载了。
3.4.1 节能五项
节能五项是白果台式机中,系统偏好设置—节能 中的五个选项。在加载原生
电源管理后,一般有 4 项节能出现,而第五项“断电后重启”这项还需要
加载 PPMC 以及 LPCB 下的 PMCR 才能出现。虽然没啥鸟用,但对于强迫
者而言,少一个一定很难受吧。如果你是笔记本,不需要看这章,白果笔
记本本身没有。如果你没有机械硬盘,也不会出现 Put hard disks to
sleep when possible。
bugprogrammer 给出了一个一劳永逸的解决方案:
解锁 macOS10.15 的系统分区
3.6 关于 EC 控制器
Scope (_SB.PCI0.LPCB)
Device (H_EC)
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
^^^GFX0.CLID = 0x03
Return (Zero)
}
那么什么样的情况是需要我们去屏蔽的呢?我发现基本上华硕的台式机主
板都会启用这个 EC 控制器,下面代码是华硕主板的 EC 部件,搜索 PNP0
C09,我们看到这种情况下,这个叫 EC0 的 EC 控制器是开启的,注意他
没有 return (Zero) 这个语句,我们需要通过 SSDT 去屏蔽它。
Device (EC0)
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
IO (Decode16,
0x00, // Alignment
0x01, // Length
IO (Decode16,
0x0066, // Range Minimum
0x00, // Alignment
0x01, // Length
})
这里我提供了一个禁用 EC 的补丁,请直接下载,打开后左上角另存为
(save as), 其中文件格式(file format)必须选择 ACPI Machine Language
Binary,文件名字随便写吧,我就叫 ssdt-no-EC.aml,记住后缀为 .am
l。将 ssdt-no-EC.aml 放入 EFI/OC/ACPI 目录下,并在 config.plist
中加载此 aml 文件。
Scope (\_SB.PCI0.LPCB.H_EC)
If (_OSI ("Darwin"))
Return (0)
Else
Return (0x0F)
Comment: H_EC to EC
Count: 0
Enabled: YES
Find: <485F4543>
Limit: 0
Mask: <>
OemTable: <>
Replace: <45435F5F>
ReplaceMask: <>
Skip: 0
TableLength: 0
TableSignature: <>
3.6.3 仿冒 EC 及 USBX 供电
禁用 EC 后你需要创建仿冒 EC 来进入系统,同时开启 USB 的快速供电技术
(需设备支持)。你可以比较下面两张图,第二张是功能正确开启的。
这部分内容是仿冒 EC,注意不是每一个 DSDT 的路径都
在 SB.PCI0.LPCB,请搜索 0x001F0000 来确定实际位置和名称。比如我
的主板是在 SB.PC00.LPC0。
Scope (\_SB.PCI0.LPCB)
Device (EC)
If (_OSI ("Darwin"))
Return (0x0F)
Else
Return (Zero)
}
}
3.7 睡眠即醒的相关问题
0d/6d补丁是阻止一些部件参与唤醒工作,这其中包括了
xhc 部件,意味着你无法使用鼠标键盘唤醒,只能用电源键
唤醒。但若你有一组除了 xhc 之外的 usb 控制器,那把键盘
鼠标插在那两个控制器上,可以在使用强制睡眠的情况下用
键盘鼠标唤醒电脑。
3.7.1 分辨 0D/06
主板一般有 5 个部件是直接参与唤醒工作的,这五个部件分别是
XHC(USB 控制器)、CNVW(CNVI 网卡,如果你的主板自带的话) 、
GLAN(有线网卡)、XDCI(USB 相关)、HDEF(音频)。旧的一些主板可能
会有不同的命名,比如 XHC 有叫 EH01,HDEF 叫做 HDAS 等,这里不做讨
论。而这些设备往往会直接影响睡眠,比如你输入:
log show --last 1d | grep "Wake reason"
我们会看到类似的输出结果
全局重命名会导致其他系统无法通过 OC 引导开机,不建议
使用。
Find 5F505257 //hex 转 text 的含义即是:_PRW Replace 58505257 //hex 转 text 的含义即是:XPRW TgtBridge 58
转 text 的含义即是:XHC_
Count Number 1
Limit Number 0
Skip Number 52
TableLength Number 0
oc 不提倡用户直接全局重命名,如果真的要用重命名,也一定是搭配 ssdt
去做重命名,所以这个方法也是宪武大大和我最推荐的一种方法。
// Find: 47505257 02
//
External(XPRW, MethodObj) //寻找 dsdt 表中叫做 XPRW 的内容,这是要你在 config 中先把 gprw 改名成 xprw 才会生
什么这个补丁的重命名必须是这个 ssdt 和重命名一起用的原因,你第一个重命名不生效,这个 ssdt 也不会生效。
Return (Package ()
{ 0x6D,
Zero
})
Return (Package ()
{ 0x0D,
Zero
})
Return (XPRW (Arg0, Arg1)) //当运行 mac 系统时,如果你的 dsdt 中 XPRW 为 6d,或者 0d 时返回为 0,即屏蔽。
Count:0
Enabled:YES
Find:<4750525702>
Limit:0
Mask:<>
OemTable:<>
Replace:<5850525702>
ReplaceMask:<>
Skip:0
TableLength:0
TableSignature:<>
3.8 OC 官方内核补丁集介绍
这里会长期更新 OC 官方提供的 Kernel Patch。
3.8.1 华硕等机型开机卡 F1
Kernel
Patch
Item 0
Base String
Count Number 1
Limit Number 0
Mask Data
MaxKernel String
MinKernel String
ReplaceMask Data
Skip Number 0
Kernel
Patch
Item 2
Count Number 1
Find Data
Limit Number 0
Mask Data
MaxKernel String
MinKernel String
Replace Data c3
ReplaceMask Data
Skip Number 0
如果你之前模拟过 nvram,请执行以下命令删除相关模拟内容:
# 删除文件 LogoutHook.command
# 清空 LogoutHook 的触发设置
删除 EFI 下的 nvram.plist。
NVRAM–LegacyEnable 选择 No
NVRAM–LegacyOverwrite 选择 No
Booter–Quirks—-DisableVariableWrite 选择 no
你也许要打开 NVRAM—WriteFlash 选择 YES(请尽可能不要选!)
此博客有很多疏漏,你可能会碰到很多奇怪的问题而无法解决。一般来说,
一张开机-v 的截图只能解决一些很简单的问题,一些帮助者可能通过经验
判断你的错误所在,但这样的图无法定位错误,而 Acidanthera 提供了非
常非常强大的排错功能,我们可以利用它收集错误报告,在网络上获得帮
助。
EFI/BOOT/
BOOTx64.efi
EFI/OC/Bootstrap/
Bootstrap.efi
EFI/OC/Drivers/
OpenRuntime.efi
EFI/OC/
OpenCore.efi
下载所有 Acidanthera 的 debug 版本 kexts,并替换到 EFI/OC/kexts
修改 config.plist 中的如下内容:
AppleDebug YES
ApplePanic YES
DisableWatchdog YES
Target 67
DisplayLevel 2147483714
PickerMode Builtin
在 Config.plist/NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args
栏目中增加
-liludbgall liludump=30
保存后重启,你会得到:
如果无法进入系统,则只需要第一份日志。
你可以通过这两份日志快速定位错误,或者在网路上寻求帮助。
4.0 OpenCore 进阶
以下内容对你正常使用黑苹果已经无关了,如果你追求更好的黑果表现,
可以看下去,但这部分内容也需要你自己有更好的能力与耐心。如果你不
具备足够的条件,我不建议你看下去;如果你的失误导致硬件的损坏,我
也不会、也没能力负责。
此章节对你的要求会相对高一点,并且请你具备如下条件:
有耐心
CFG 已经解锁(这也许不是必要条件)
已经打开原生电源管理。
此章节只适用于 4 代之后的 CPU。
在调整 CPU 变频时,出现失误导致 CPU 温度过高,能有正确的处理能
力保证 CPU 不烧毁,我对极端的后果不负责任。
此教程对无核显用户不友好,需要自己更多的领悟。
如果你不同意第五条,请不要看下去。
同时我要说的是,我在论坛上看到很多所谓的“变频”,有的甚至加载了
50 多个档位的变频,其实这种是完全没有意义的。我认为,变频是能在你
需要的高频的时候快速进入高频状态,在关闭程序后又能很快回到低档位,
换句话说,其实只需要三个档位就高了:睿频档,正常频率,以及低频档。
你需要搞清楚自己的 cpu 型号,并找到、换成与自己 cpu 型号最接近或
者一样的白苹果型号,并且此型号必须带有 HWP。一般新的笔记本机型
都具有,台式机的话推荐 iMac19.1 以及 Macmini8.1。可查询此帖选取适
合的机型。
执行如下命令:
cd ~/desktop
mkdir cpu
cd cpu
CpuFriendFriend/CPUFriendFriend.command
你会看到如图的命令行,这里 1 of 4 代表第一段睿频的设置,以此类推,
数值越大睿频越高,下面要求你填写的是最低的频率值,你想要低一
点的 800MHZ 就填 08,高一点的 1300MHZ 就填 0D(注意大小写)
cp ~/Desktop/cpu/CpuFriendFriend/Results/*.* ~/Desktop/cpu
cd ~/Desktop/cpu
感谢 @请叫我官人 的帮助。完成,自行测试。
此教程已经发于 pcbeta:点此直达