黑苹果HackintoshOpenCore安装指南

更新时间:2023-06-26 15:01:38 阅读: 评论:0

⿊苹果HackintoshOpenCore安装指南
全⽂参照此⽂档
⽂档版本:2020-07 OC版本:0.5.9
Ps. UEFI引导时,EFI 分区要>= 200 MB,否则安装时⽆法抹去磁盘(⽆法格式化/抹除分区)! 如果是两块硬盘,都需要有esp分区!
OpenCore 不⽌可⽤于⿊苹果,还可以⽤于其他需要模拟EFI的场景。
原理
模拟EFI环境:注⼊驱动并重建 EFI 环境缓存,再缓存传给 MacOS 系统。
重建缓存可⽤于欺骗 MacOS 的验证(,因此PC在不同情况下的ACPI布局不能与Mac很好地配合。为了解决这个问题,我们使⽤WhateverGreen及其配套的Lilu来修补Hackintosh的不同部分,例如重命名设备,协助帧缓冲区连接,修补⾳频连接器,允许通过ACPI修改
四逆汤的功效与作用aty_config,aty_properties,cail_properties等。 )
例如把 AptioMemoryFix 驱动从读取 EFI_GLOBAL_VARIABLE_GUID 变量重定向到读取 OC_VENDOR_VARIABLE_GUID 变量。
Hardware Support
硬件⽀持上,我准备装的机⼦配置是 i3-4150 + + HD 7770
主板搭载 ⽹卡 声卡
GPU
其中核⼼显卡 HD 4400 和独⽴显卡 HD 7770 都是被⽀持的,并且记下了我显卡必须的
# AMD
凰权弈天下radpg=15      //Fixes initilization for HD 7730/7750/7770/R7 250/R7 250X
Wireless
我的主板没有 WIFI 模块,我也没有 USB ⽹卡,跳过
MotherBoard
更多原理解析,如不喜欢请直接跳到 Installation Guides (刻盘)部分:
So if my GPU is natively supported, why do i need Lilu and WhateverGreen?
This is a question comes up quite a bit in the Hackintosh community, and for good reason as to why in the world would the GPUs work out of the box on a mac and not a Hackintosh? Well, the reason being is that PCs and Macs have different internal wiring and so the ACPI layouts in a PC don't work well with Macs in different scenarios. To get around this, we u WhateverGreen and it's companion Lilu to patch different parts of our Hackintosh like renaming devices, assisting in framebuffer connections, patching audio connectors, allowing modifications to aty_config,
aty_properties, cail_properties via ACPI and so much more. With such a large feature t and developed by someone who knows what they're doing, there's no reason not to u it
译:
即使 GPU/显卡 在硬件上原⽣⽀持安装 MACOS,也依然需要 Lilu 和 WhateverGreen
⾸先来看,Mac 的 GPU 和普通 GPU 的区别:
普通GPU和苹果机的GPU有不同的内部布线,所以普通机的 ACPI 布局并不能直接完美⼯作在 MAC 上。PCs and Macs have different internal wiring and so the ACPI layouts in a PC don't work well with Macs in different scenarios.
解决⽅案:
⽤ WhateverGreen 和 Lilu 对两者间的差异部分做⼀些打补丁的⼯作(例如重命名设备、协助帧缓冲连接、修补⾳频连接器,以此允许通过 ACPI等修改 aty_config, aty_properties, cail_properties 之类的属性)
有些事情我必须告诉你:
macOS does not support either SLI, Crossfire or GPUs will multiple main cores(like the Radeon Pro Duo). This may change with the relea of the Radeon Pro Vega II Duo in the Mac Pro
Getting audio through HDMI/DisplayPort may require extra work with both AppleALC.kext and some other IO-REG edits
GPU Overclocking is limited to Vega 10 GPUs with PyVega
Running a supported GPU with an unsupported GPU can have weird conquences as unsupported GPUs run off VESA drivers which have the issue in which it can break sleep and other functions in macOS. Plea refer to the Disabling unsupported GPUs Guide for more info
译:
MacOS 不⽀持 SLI、交⽕(Crossfire),也不⽀持多主核的GPU(如 Radeon Pro Duo )。
当然在搭载 Radeon Pro Vega II Duo 显卡的 Mac Pro 发布后,这些情况可能会有所改善。
通过 HDMI/DisplayPort 获取⾳频可能需要对 AppleALC.kext 和其他⼀些 IO-REG 参数配置进⾏额外的编辑
GPU超频仅限于使⽤PyVega的Vega 10 GPU
在两个显卡(⼀个受⽀持,⼀个不受⽀持)上运⾏时可能会产⽣奇怪的现象
因为不受⽀持的 GPU 也会从 VESA 驱动程序中运⾏,从⽽导致 macOS 的睡眠和其他功能可能会被破坏。
有关更多信息,请参阅禁⽤不⽀持的GPU指南。
Kext(Kernel Extension) 内核拓展,也就是驱动
Kext Inject
at OpenCore's method:
Takes existing prelinked kernel and kexts ready to inject
Rebuilds the cache in the EFI environment with the new kexts
Adds this new cache in
Things to note with OpenCore's method is:
OS Agnostic as the prelinked kernel format as stayed the same since 10.6, far harder to break support.
This also means proper support starts at 10.7, though 10.6 can be ud as well so long as it's already installed(106's installer doesn't have a prelinked kernel)
Far better stability as far less patching
译:
Kext 注⼊
在 OpenCore ⾥是这样⼯作的:
把已有的预链接内核和准备⽤于注⼊的 kexts
利⽤新的 kexts 重建 EFI 环境⾥的缓存
把新缓存加进去
预链接在 10.6 开始被⽀持,10.7+ 被正式⽀持。更多见上⾯英⽂引⽤。
Installation Guides (刻盘)
因为我的是台式机,所以我看的是 Installation Guides 的 OpenCore Desktop Guide 部分
货代英语OpenCore 的⿊苹果教程和⼯具都是三平台通⽤。详见英⽂原⽂
制作安装介质
环境要求:Python 2或3树大招风的意思
下载
右击 gitMacOS.bat 以管理员运⾏,(输⼊字母R回车)选择切换恢复模式即 Toggle Recovery-Only
等程序索引完成,选择你想要的且带 FULL INSTALL 的 MACOS 版本,然后程序会帮你下载500MB左右的恢复包镜像 RecoveryHDMetaDmg.pkg 到软件所在路径 \gibmacos-
master\macOS Downloads\publicrelea\xxx-xxxxx - 10.x.x macOS xxx
注:这是在线恢复盘,安装时必须联⽹,离线下载请见其他教程
刻盘
右击管理员打开 MakeInstall.bat,然后根据列出的U盘序号输⼊数字和字母O(O代表OpenCore)例如输⼊数字1和字母O 1O
此时U盘会被格式化,
格式化完成后会提⽰你提供之前下载的 RecoveryHDMetaDMG.pkg 的完整路径(按住 SHIFT 右击⽂
件,复制路径,再粘贴进去即可),
等待,完成之后,MACOS的恢复镜像就被写⼊到你U盘的另⼀个分区⾥了。然后脚本再⾃动下载 OpenCore 并安装到你 U 盘的EFI分区⾥了。可以看到U盘其中⼀个分区的卷标为 BOOT Ps. 写镜像的过程会解压镜像到c盘⽤户数据⽂件夹的临时⽬录⾥,所以请保证c盘有⼤于3G的空闲空间,避免失败。
添加基本的 OpenCore ⽂件
下载OC并解压到u盘的 EFI 区
这⾥由于 Windows 版的脚本已经⾃动下载 并解压到我们了,所以不⽤⼿动下载
其他平台的⽤户请结合⾃⾏检查。
根据情况删除不适合⾃⼰机⼦的驱动
OC 所在的EFI区,在Drivers 和 Tools ⽬录中附带了⼀堆⽂件,⼤部分都是我们不需要的,所以进⾏挑选删除。以下是⽂件删除的相关建议:
Drivers ⽬录中的:
OpenUsbKbDxe.efi
⽤于在运⾏DuetPkg旧系统上的OpenCore选择器,不建议使⽤,
UsbMouDxe.efi
与OpenUsbKbDxe类似,仅在使⽤DuetPkg的旧系统上才需要
NvmExpressDxe.efi
当固件未内置NVMe驱动程序时才需要,⽤于Haswell(4代u)及更早版本
XhciDxe.efi
⽤于Sandy Bridge(2代u)和更早的版本,当固件未内置XHCI驱动程序时才需要这个驱动
HiiDataba.efi
⽤于修复GUI界⾯⽀持,如Sandy Bridge(2代u)和更早版本上的OpenShell.efi
OpenCanopy.efi
这是 OC 可选的启动GUI图形操作界⾯,教程后⾯会讲到,现在请先删除他。
Ps2KeyboardDxe.efi + Ps2MouDxe.efi
如果你的⿏标键盘是PS2接⼝的请保留这两个驱动⽂件;如果键盘⿏标都是 USB 接⼝的,那么你不需要这个⽂件。
英特尔cpu代号详见
Tools ⽬录中的:
可以删除该⽬录的所有⽂件,但建议⾼级⽤户保留 OpenShell.efi ⽤于排错
我的是4代u,这是去掉不需要的驱动之后的效果图
整合驱动⽂件
请参阅部分,以了解macOS启动需要什么,Clover和OpenCore之间的硬件⽀持⾮常相似。
现在,根据下⽂教程,把必要的固件驱动程序(.efi)放⼊Drivers⽬录,再把Kexts / ACPI放⼊其各⾃对应的⽬录⾥:
⽬录该⽬录应该放置的⽂件
Kexts ⽬录Kexts (.kext⽂件)
Drivers ⽬录Firmware drivers固件驱动 (.efi⽂件)
ACPI ⽬录SSDTs 和⾃定义的DSDTs (.aml⽂件)
注意:如果你是Clover⽤户那么请注意,OpenCore不⽀持Clover的UEFI驱动程序!(EmuVariableUEFI,AptioMemoryFix,OsxAptioFixDrv等)。 参阅,以获取有关⽀持的驱动程序以及已合并到OpenCore中的驱动程序的更多信息。
Firmware Drivers 固件驱动
这些是OpenCore使⽤的驱动程序,对于⼤多数系统,你只需要2个.efi驱动程序就可以启动和运⾏。
请根据需要挑选并放在到 EFI 的 Drivers ⽬录中
对于⽼式设备的⽤户/For legacy urs:
OpenUsbKbDxe.efi
⽤于在运⾏DuetPkg旧系统上的OpenCore选择器,不建议使⽤,
NvmExpressDxe.efi
当固件未内置NVMe驱动程序时,且在使⽤ NVMe 设备(如 NVMe接⼝的SSD)时才需要;⽤于Haswell(4代u)及更早版本
健康饮食搭配XhciDxe.efi
⽤于Sandy Bridge(2代u)和更早的版本;当固件未内置XHCI驱动程序,且你在使⽤ USB3 拓展卡时才需要这个驱动。
HfsPlusLegacy.efi
HfsPlus的旧版变体(Legacy variant),⽤于缺少RDRAND指令⽀持的系统。通常在Sandy Bridge(2代u)和更⽼的平台看到
有关兼容驱动程序的完整列表,请参见中的11.2属性。 这些⽂件将放在EFI的Drivers⽂件夹中
Kexts 内核驱动
kext是内核扩展(kernel extension),你可把它当作macOS的驱动程序,这些⽂件将放在EFI的 Kexts ⽬录中
Linux和Windows⽤户请注意:Kexts在这两个系统中可能会显⽰为⽂件夹,也就是说 xxxxx.kext ⽬录 就是⼀个 kext,所以复制时请复制整个xxxxx.kext⽬录
以下列到的所有 kext ⽂件,都可以在 下载到最新编译好的⽂件(随commit编译)。
必须的⽂件
模拟⽩苹果 macOS 的SMC芯⽚,缺少这个⽂件,macOS将⽆法启动。
还有另⼀种选择是 FakeSMC ,它的⽀持可能更好也可能更差,通常只在旧版硬件上使⽤
⼀个处理很多过程的补丁,是 AppleALC, WhateverGreen, VirtualSMC 以及其他⼀些 Kexts 所必须的。没有 Lilu,它们都⽆法正常⼯作。
VirtualSMC 的插件
SMCProcessor.kext
⽤于监测CPU温度,但不⽀持 AMD CPU 平台。
SMCSuperIO.kext
⽤于检测风扇速度,但不⽀持 AMD CPU 平台。
SMCLightSensor.kext
⽤于笔记本电脑上的环境光传感器,台式机请忽略。
如果你没有环境光传感器请不要⽤,否则会引发其他问题。
SMCBatteryManager.kext
⽤于笔记本电脑的电池读数测量,台式机请忽略。
在正确装好电池之前,请勿使⽤,否则可能导致问题
显卡
⽤于显卡打补丁修补 DRM,boardID,帧缓冲区修复等,所有GPU均可从此 kext 中受益。
注意,仅笔记本电脑和⼀体机才需要附带的SSDT-PNLF.dsl⽂件,请参阅 下⼀节ACPI部分
声卡
⽤于 AppleHDA 修补,以让你使⽤板载⾳频。在 AMD 15h/16h 上可能有问题,⽽ Ryzen/Threadripper 系统很少有麦克风⽀持。
以太⽹⽹卡
是 Intel NICs 必须的。但如果基于I211的芯⽚组则需要下⾯的 SmallTreeIntel82576 kext。 Required for Intel NICs, chipts that are bad off of I211 will need the SmallTreeIntel82576 kext
I211 ⽹卡必需。该驱动已在SmallTree kext基础上打上I211补丁。
适⽤于⼤多数运⾏英特尔⽹卡的 AMD 主板。
适⽤于 Atheros 和 Killer 杀⼿⽹卡
适⽤于 Realtek 千兆⽹卡
适⽤于 Realtek 2.5Gb ⽹卡
USB
⽤于在 ACPI 中没有定义USB端⼝的系统上注⼊ Intel USB 控制器
Skylake 6代及以上平台不需要该补丁(但AsRock很傻,确实需要这个);不⽀持任何 AMD CPU 平台
该补丁是⾮原⽣USB控制器(non-native USB controllers)所必须的
AMD CPU 平台不需要该补丁
⼀般需要该补丁的芯⽚组有:
H370,B360,H310,
Z390 (Mojave 或更新的 macOS 版本都不需要该补丁),
X79,X99,
AsRock boards(特别是在英特尔的主板上,基本上是他们所有的主板)
WiFi ⽆线⽹络和蓝⽛:
⽤于修补⾮苹果机的博通⽆线⽹卡(Broadcom),不⽀持 Intel, Killer, Realtek 等
⽤于固件到博通蓝⽛芯⽚,是所有⾮Apple / Fenvi Airport cards所必需的。 Ud for uploading firmware on Broadcom Bluetooth chipt, required for all non-Apple/Fenvi Airport cards.
To be paired with BrcmFirmwareData.kext
BrcmPatchRAM3 ⽤于 10.14+ (必须和 BrcmBluetoothInjector 搭配使⽤)
BrcmPatchRAM2 ⽤于 10.11-10.14
BrcmPatchRAM ⽤于 10.10或更⽼的版本
Kernel -> Add 的顺序必须是:
BrcmBluetoothInjector
BrcmFirmwareData
残暴瑜伽
BrcmPatchRAM3
AMD CPU Specific kexts
We have a much better solution known as DummyPowerManagement found under Kernel -> Quirks in your config.plist, this will be covered in a later page
USB fix for AMD FX systems, not recommended for Ryzen
Audio for FX systems and front panel Mic+Audio support for Ryzen system, do not mix with AppleALC. Audio quality is noticeably wor than AppleALC on Zen CPUs
其他部分
Uful starting with Catalina to disable the AppleMCEReporter kext which will cau kernel panics on AMD CPUs and dual-socket systems
校园文案
Affected SMBIOS: MacPro6,1MacPro7,1iMacPro1,1
台式麻油鸡Needed for syncing TSC on some of Intel's HEDT and rver motherboards, without this macOS may be extremely slow or even unbootable. Skylake-X should u TSCAdjustRet instead
On Skylake-X, many firmwares including Asus and EVGA won't write the TSC to all cores. So we'll need to ret the TSC on cold boot and wake. Compiled
version can be found here: . Note that you must open up the kext(ShowPackageContents in finder, Contents -> Info.plist) and change the Info.plist -> IOKitPersonalities -> IOPropertyMatch -> IOCPUNumber to the number of CPU threads you have starting from 0(i9 7980xe 18 core would be 35 as it has 36 threads total)
⽤于修补 ⾮Apple NVMe上的电源管理和初始化, macOS 10.14 或更新版本所必需。
笔记本特别的部分 Laptop Specifics
Required for systems with PS2 keyboards and trackpads
Trackpad urs should also pair this with (This must come before VoodooPS2 in your config.plist)
Ud for fixing I2C devices, found with some fancier touchpads and touchscreen machines
To be paired with a plugin:
VoodooI2CHID - Implements the Microsoft HID device specification.
VoodooI2CElan - Implements support for Elan proprietary devices. (does not work on ELAN1200+, u the HID instead)
VoodooI2CSynaptics - Implements support for Synaptic's proprietary devices.
VoodooI2CFTE - Implements support for the FTE1001 touchpad.
VoodooI2CUPDDEngine - Implements Touchba driver support.
To figure out what kind of keyboard and trackpad you have, check Device Manager(设备管理器) in Windows or dmesg |grep input in Linux
Recommended for SMBIOS that include a TouchID nsor to fix auth issues
请参阅 中受⽀持的kext的完整列表
SSDTs
你可以从 Windows/Linux 等操作系统上提取出来
也可以⾃⼰编译 aml 源码⽂件
下载现成的
详情请看下节 ACPI 部分
ACPI 部分
机器翻译:DSDT和SSDTs是什么?
答:
这些表出现在你的固件,概述硬件设备,如USB控制器,CPU线程,嵌⼊式控制器,系统时钟等。
可以将DSDT(差异化系统描述表)看作是主体,其中包含⼤部分信息,另外还有少量信息由SSDT(辅助系统描述表)传递。
您可以将DSDT视为建筑蓝图,⽽SSDTs则是列出项⽬额外细节的便签
名词解析:
ACPI (Advanced Configuration & Power Interface,⾼级配置和电源接⼝) 其编程语⾔为ASL(ACPI Source Language),更多详见
(Differentiated System Description Table, 区分系统描述符表)主要的表,描述了关于PCI IRQ 映射和电源管理等信息。例如操作系统关机时,就必须找到FADT指向的_S5 对象
SSDT (Secondary System Description Table,辅助系统描述表?)
当您的操作系统内核启动时,它应该解析ACPI表的内存。然后找到DSDT(以及其他表,如SSDT),将其解码以获取已安装设备的列表。--- OSDev Wiki
macOS 对于 DSDT 中存在的设备可能会⾮常挑剔,因此我们的⼯作是纠正它。 需要更正以使 macOS 正常运⾏的主要设备:
Embedded controllers(EC 嵌⼊式控制器)
所有的半现代(mi-modern)英特尔机器都有⼀个EC 被记录在 DSDT ⾥⾯(EC ⼀般叫做 H_EC, ECDV, EC0, 等等..) , 且很多 AMD 机也有这个。这些控制器(controllers)⼀般都不兼容 macOS 且会导致严重错误(panics), 所以需要隐藏它们不让 macOS 看到。可是 macOS Catalina 需要⼀个叫做 EC 设备,所以我们创建了⼀个虚拟(dummy) EC。
在笔记本上, 实际上电池和快捷键仍然需要EC,⽽重命名EC⼜可能导致 Winodws 上有问题,所以我们⽤了⽐较好的⽅案:创建⼀个假的EC设备但不禁⽤真EC设备。(the actual embedded controller stil
l needs to be enabled for battery and hotkeys to work, and renaming the EC can additionally cau issues with windows, so creating a fake EC without disabling the real embedded controller is preferable.)
Plugin type (插件类型)
让 XCPM 提供原⽣的 CPU 电源管理,仅限于 Haswell(4代u)及更⾼的平台,SSDT 将连接到CPU的第⼀线程。但不适⽤于AMD
AWAC system clock.
This applies to all 300 ries motherboards including many Z370 boards, the specific issue is that newer boards ship with AWAC clock enabled. This is a problem
becau macOS cannot communicate with AWAC clocks, so this requires us to either force on the legacy RTC clock or if unavailable create a fake one for macOS to play with
NVRAM SSDT
True 300 ries motherboards(non-Z370) don't declare the FW chip as MMIO in ACPI and so the kernel ignores the MMIO region declared by the UEFI memory map.
This SSDT brings back NVRAM support
Backlight SSDT
Ud for fixing backlight control support on laptops
GPIO SSDT
Ud for creating a stub to allow VoodooI2C to connect onto, for laptops only
XOSI SSDT
Ud for rerouting OSI calls to this SSDT, mainly ud for tricking our hardware into thinking its booting Windows so we get better trackpad support. This is a very hacky solution known for breaking Windows boot, u the GPIO SSDT instead. Usage of XOSI will not be covered in this guide

本文发布于:2023-06-26 15:01:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1044511.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:需要   系统   设备
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图