麦创网

发表于 20/11/14 16:22:50 |显示全部楼层
OpenCore Bootloader(截止目前被大多数人使用)
首先我们可以从OpenCore找到引导的源码和已发布内编译完成的压缩包
OpenCore 0.6.3 Release 最新
OpenCore下载完成后有三个文件夹分别是 Docs,EFI,Utilities,下面会分别介绍。
Docs
里面含有OpenCore的更新日志,以及示例的配置文件(也是我们需要用到的),以及示例的SSDT补丁等

EFI
OpenCore引导的主结构,也是重中之重

Utilities
一些附加的脚本

我们将Docs里的Sample.plist改名为config.plist,并放在EFI/OC下,这就是EFI的完整结。

OC文件夹

OC文件夹
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
可使用的配置工具:
OpenCore Configurator(简称OCC,已完美适配OpenCore 0.6.0正式版,小白强推)
Propertree(Github开源的编辑工具,有一定经验者推荐)
OpenCoreQTEditor(采用Qt框架开发的一款爱好者自制工具,个人试用后觉得还不错,支持Win/Mac)
Xcode(不做赘述)
(这里采用 OpenCore Configurator 进行配置讲解)
我们用OCC打开config.plist
ACPI.png
ACPI
我们可以看到,ACPI配置加载SSDT补丁的地方,已经为我们预留好了一些补丁的加载位置,我们只需要选择对应补丁的启用框打勾,并把文件放在ACPI目录下即可
简略说明:
SSDT-PLUG:CPU加载X86原生电源管理所需的SSDT补丁,基本都需要,英特尔二三代不需要
SSDT-EC:处理EC用
SSDT-USBX:加载USBX供电用
SSDT-EC-USBX:上面两个的集合
SSDT-PNLF:背光修补
SSDT-AWAC:如果300系及以上的主板BIOS中未含有切换AWAC/Legacy RTC时钟计时的选项,则需要使用该补丁,禁用AWAC,仿冒RTC(华硕一般都有,如果没有,使用这个可能还需要RTC Fix补丁,OCC中在ACPI下补丁处即可找到对应补丁)
SSDT-RTC0:和上面一起
SSDT-PMC:300系加载AppleEFINVRAM用,原生NVRAM
SSDT-SBUS:修复400系SBUS总线管理用,B360用了会无法睡眠
SSDT-DNVMe:屏蔽NVMe设备(如硬盘、网卡)
SSDT-ULAC:USB Port定制
(AMD Ryzen只需要一个SSDT-EC-USBX)

ACPI下删除栏不用管(X系列可能需要Drop一些OEM表)

补丁栏自行选用需要的
Fix RTC _STA bug:修复华硕/技嘉/华擎等机型的RTC问题
GPRW改名:修复唤醒问题(阻断USB唤醒)
(笔记本可能需要EC改名和_OSI改名)
电池改名:匹配BAT0内容
下面5个Quick基本不用管

Booter
MmioWhitelist 处如果Haswell机型遇到PCI问题,可尝试开启,其他机型不用管

AvoidRuntimeDefag:修复主板环境和服务(必须开启)
DevirtualiseMmio:对于内存分配有帮助(Z390、10代机型如果遇到问题尝试开启)
DisableSingleUser:关闭单用户模式
DisableVariableWrite:没有原生NVRAM的可以通过这个模拟NVRAM(nvram.plist)
DiscardHibernateMap:休眠相关
EnableSafeModeSlide:在安全模式下使用Slide(一般开启)
EnableWriteUnprotector:开放对UEFI服务的写入权限(一般开启)
ForceExitBootServices:老主板无法使用内存寻址的时候可尝试开启
ProtectMemoryRegions:老主板用,这里忽略
ProvideCustomSlide:使用随机的不重复的Slide值(一般开启,当OpenCore Debug显示You can disable ProvideCustomSlide可将其关闭)
SetupVirtualMap:将虚拟内存调用修复为虚拟地址(一般开启,10代台式机型(Comet Lake)部分主板需关闭该选项)
ProtectSecureBoot:防止安全启动(Secure Boot)被写入
ProtectUefiServices:防止UEFI服务(UEFI Sevices)被覆盖(一般和DevirtualiseMmio一起开启,Z390需要开启,10代(CometLake)可单独开启)
SignalAppleOS:白果用的,修复IGPU问题
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)
内核.png

仿冒CPU处可仿冒对应的CPU(macOS Big Sur Beta 6 开始支持 Comet Lake,仅为留档,无需理睬)
Cpuid1Data:EB060800 00000000 00000000 00000000
Cpuid1Mask:FFFFFFFF 00000000 00000000 00000000
(来自Bugprogrammer)
DummyPowerManagement:和NullCPUPowerManagement类似,无原生电源管理的机型需使用(Ryzen必须开启)

强制加载
特殊情况可能需要强制加载一些驱动(如SecureBoot值为Default,需强制加载itlwm系驱动)
补丁
内核补丁.png

华硕主板遇到重启卡F1 SafeMode问题可尝试以下补丁(推荐使用RTCMemoryFix框定区域修复)
230513zqfef3rxbd1wqzxx.png
Ryzen可在这里打对应的Ryzen专用内核补丁
AppleCpuPmCfgLock:如果CFG Lock状态为开启,必须开启
AppleXcpmCfgLock:和上面一起勾选
AppleXcpmExtraMsrs:无原生电源管理的CPU需开启
AppleXcpmForceBoost:强制让CPU一直满载,部分至强CPU可用
CustomSMBIOSGuid:Dell笔记本使用,普通机型不建议使用(Dell笔记本遇到序列号显示问题尝试开启)
DisableIoMapper:禁止VT-D(如在BIOS内开启了VT-D,则勾选)
ExtendBTFeatureFlags:替代BT4LEContinuityFixup驱动
DisableRtcChecksum:禁止RTC的校验和写入
ExternalDiskIcons:如果遇到硬盘反转(内置--->外置,外置--->内置)尝试开启
ForceSecureBootScheme:macOS启动在虚拟机时尝试开启
IncreasePciBarSize:如果BIOS中没有Above 4G Decoding(4G以上解码)的选项可尝试开启,将PCI带宽大小扩充至4GB
LapicKernelPanic:HP笔记本遇到LAPIC中断问题尝试开启(一般开启)
LegacyCommpage:老旧主板使用SSSE3需开启
PanicNoKextDump:显示驱动崩溃信息(调试用)
PowerTimeoutKernelPanic:遇到睡眠崩溃或重启的问题可尝试开启解决
ThirdPartyDrives:开启第三方SATA的TRIM功能,会导致开机变慢
XhciPortLimit:将USB端口15个的限制解除,定制USB后如果超过15个USB端口则保持开启
DisableLinkeditJettison:修复兼容性,解决Big Sur下启动卡PCI的问题,如果在升级B6以上版本的时候遇到卡PCI的问题,勾选此项

Misc
Boot
Picker Mode:
Built In为默认的显示模式
External为外置资源的显示模式(可加载Resources主题)
Apple为白果用

Timeout:
到倒计时结束时进入默认指定到系统
0为不开启
1-Max为开启

ShowPicker:显示引导菜单
HideAuxiliary:隐藏辅助工具(Reset NVRAM、Recovery等,开启后可通过引导菜单内按空格键显示辅助工具)
Hibernate Mode:Ryzen建议设为None,其他原生NVRAM机型可设为Auto

Debug
调试用

Security
Scan Policy:
调整系统扫描规则
0为全部显示

Vault:
如果不使用文件加密选Optional

BootProtect:
None为使用默认的引导启动方式
BootStrap选项设置EFI\OC\Bootstrap\Bootstrap.efi的启动优先级最高,即开机自动接管启动OpenCore

DmgLoading
保持默认即可

AllowNVRAMReset:引导界面开启内置的NVRAM重置工具
AllowSetDefault:允许使用Ctrl+Enter选择默认的启动项
SecureBootModel:选择Disabled即可(使用Nvidia Web Driver、itlwm需设为Default,或强制加载)

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时即开启

LegacyEnable:非原生NVRAM(模拟NVRAM)需开启
LegacyOverwrite:重写变量
WriteFlash:允许把变量写入闪存

SMBIOS
这里不细讲,选自己适合的就行了

AdviseWindows:双系统遇到问题可尝试开启
SpoofVendor:仿冒主板品牌商为Acidanthera
ProcessType:仿冒CPU,默认设为0即可(AMD Ryzen或ES处理器可将其设为Model定义的值以显示具体核心数)

按照以下图片设置(如Dell机型需将UpdateSMBIOSMode设为Custom)
230717ayyyqyfgk3gnl6qv.png

UEFI
APFS
EnableJumpstart:开启内置的APFS驱动,如果Driver中无ApfsDriverLoader.efi则必须开启
HideVerbose:隐藏APFS驱动的日志
JumpstartHotPlug:支持含有APFS分区的USB设备的热插拔
GlobalConnect:默认即可

UEFI 驱动
将我们想加载的驱动的名字写在里面如
230804alpflfvfliill8ls.png

并勾选连接驱动程序(Connect Driver)

IgnoreInvalidFlexRatio:如果MSR 0x194区域被锁定则开启(Skylake之前的机型如果未解锁CFG开启此项)
ReleaseUsbOwnership:USB控制器相关,笔记本一般开启
RequestBootVarRouting:如果想在macOS下启动磁盘内切换默认系统引导,则开启
UnblockFsConnect:HP机型遇到启动项加载问题则开启
DeduplicateBootOrder:如果启动方式选择BootStrap,需开启
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-256MB(如核显设为加速用,可以设为最小值)
CFG Lock:关闭
ACPI Alarm:Legacy RTC
(以上为华硕BIOS设置,其他主板可能有相关调整)

打赏楼主

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

 

发表于 20/11/16 19:25:01 |显示全部楼层
学习了,谢谢分享
 

发表于 20/12/30 10:25:20 |显示全部楼层
别嫌少,心意
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

麦创网 ( 苏ICP备13053101号-1 )

@麦创网 禁止任何未经允许的修改,传播或使用。

Powered by Discuz!

©2012 @ iMac.vip. 用户言论不代表本站立场。

返回顶部