禹天 禹天 禹天 禹天
  • 导航首页
  • macOS
  • Windows
  • 学习笔记
  • 推荐好站
  • 用户登录
  • 关于我们
禹天 禹天
  • TAG标签
  • 文章归档
  • 博主推荐
  • 热点排行

黑苹果(Hackintosh)Intel/Ryzen简易上车教程(配置+安装)

2020-08-13 13:35 / in macOS / 阅读量:821 / TAG 配置 黑苹果 安装 教程

引导间存在不同差异,为了及时更进,本教程使用Acidanthera团队开发的OpenCore Bootloader(OC引导)进行主要配置。

演示机(备用机)配置

处理器:英特尔酷睿 i5-8500

主板:华硕 ROG STRIX B360M

内存:科赋雷霆8+8双通道 3200Mhz

显卡:华硕 ROG STRIX RX580 2048SP(由于580 2048SP未被系统识别导致无法驱动,故刷为570使用)

散热:酷冷至尊 T610P

声卡:华硕 ROG SupremeFX ALCS1220A

网卡:英特尔 I219V V7 + BCM94350(拆机卡)

鼠标:罗技 G Pro Wireless

键盘:高斯 ALT-71 双模锂电池 樱桃茶轴

概念

从苹果采用Intel的处理器之后,macOS被黑客破解之后可以安装在PC上,从而出现了一大批未购买苹果机而使用苹果操作系统的机器,这种就被称为黑苹果(Hackintosh)

(转自百科)

引导的选择

目前市面上主要有以下几种引导程式

OpenCore Bootloader(极为先进的引导程式,且目前被大多数人使用)

Clover Bootloader(老牌的引导程式,积累了大多数的快捷补丁)

Chameleon Bootloader(以前被Legacy+MBR的老机型用户青睐,目前逐渐被OpenCore取代)

Ozmosis(具体自己了解)

由于引导程式的多样性,本篇仅围绕目前最潮流的OpenCore引导进行讲解。

了解 OpenCore

我们可以从OpenCore找到引导的源码和已发布内编译完成的压缩包

(演示版本:OpenCore 0.6.0 Release)

下载完成后,解压压缩包,里面是这样的结构


结构

Docs

里面含有OpenCore的更新日志,以及示例的配置文件(也是我们需要用到的),以及示例的SSDT补丁等。

EFI

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

可使用的配置工具:

OpenCore Configurator 2.9.0.0(简称OCC,已完美适配OpenCore 0.6.0正式版,小白强推)

Propertree(Github开源的编辑工具,有一定经验者推荐)

OpenCoreQTEditor(采用Qt渲染开发的一款爱好者自制工具,个人试用后觉得还不错,支持Win/Mac)

Xcode(不讨论)

(这里采用 OpenCore Configurator 进行配置讲解)

我们用OCC打开config.plist



主界面


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用了会无法睡眠

(AMD Ryzen只需要一个SSDT-EC-USBX)


ACPI下删除栏不用管


补丁栏请自行选用需要的

Fix RTC _STA bug:修复华硕/技嘉/华擎等机型的RTC问题

GPRW改名:修复唤醒问题(阻断USB唤醒)

(笔记本可能需要EC改名和_OSI改名)


下面5个Quick基本不用管


Booter

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


AvoidRuntimeDefag:修复主板环境和服务(必须开启)

DevirtualiseMmio:对于内存分配有帮助(Z390和10代笔记本(Icelake)如果遇到问题请开启)

DisableSingleUser:关闭单用户模式,这里忽略

DisableVariableWrite:没有原生NVRAM的可以通过这个模拟NVRAM(nvram.plist)

DiscardHibernateMap:修复睡眠唤醒恢复系统运行时OC注入冲突

EnableSafeModeSlide:在安全模式下使用Slide(一般开启)

EnableWriteUnprotector:开放对UEFI服务的写入权限(一般开启)

ForceExitBootServices:老主板无法使用内存寻址的时候可尝试开启

ProtectMemoryRegions:老主板用,这里忽略

ProvideCustomSlide:使用随机的不重复的Slide值(必须开启)

SetupVirtualMap:将虚拟内存调用修复为虚拟地址(一般开启,10代台式机型(CometLake)与该内容冲突,需关闭)

ProtectSecureBoot:防止安全启动(Secure Boot)被写入

ProtectUefiServices:防止UEFI服务(UEFI Sevices)被覆盖(一般和DevirtualiseMmio一起开启,Z390需要开启,10代(CometLake)可单独开启)

SignalAppleOS:白果用的,修复IGPU问题

RebuildAppleMemoryMap:重构macOS兼容的内存映射,和EnableWriteUnprotector二选一,新机型可使用

SyncRuntimePermissions:对齐MAT表权限(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(Comet Lake如果想使用Big Sur,需仿冒为Coffce Lake)

Cpuid1Data:EB060800 00000000 00000000 00000000

Cpuid1Mask:FFFFFFFF 00000000 00000000 00000000

(来自Bugprogrammer)


补丁

Ryzen可在这里打对应的Ryzen专用内核补丁



AMD系内核补丁

华硕主板遇到重启卡F1 SafeMode问题可尝试以下补丁(推荐使用RTCMemoryFix框定区域修复)




修复华硕卡F1



AppleCpuPmCfgLock:如果CFG Lock状态为开启,必须开启

AppleXcpmCfgLock:和上面一起勾选

AppleXcpmExtraMsrs:无原生电源管理的CPU需开启

AppleXcpmForceBoost:强制让CPU一直满载,部分至强CPU可用

CustomSMBIOSGuid:之前是Dell笔记本使用,不建议开启,会导致无法读取序列号的问题

DisableIoMapper:禁止VT-D

DisableRtcChecksum:禁止RTC的校验和写入(推荐使用其他方法替代该选项)

DummyPowerManagement:和NullCPUPowerManagement类似,无原生电源管理的机型需使用(Ryzen必须开启,或使用同类驱动替代)

ExternalDiskIcons:如果遇到内置变外置,外置变内置的情况可开启,可将外置变为内置,内置变为外置

IncreasePciBarSize:如果BIOS中没有Above 4G Decoding(4G以上解码)的选项可尝试开启,将PCI带宽大小扩充至4GB

LapicKernelPanic:对HP笔记本的修补(HP笔记本必须开启)

PanicNoKextDump:显示驱动崩溃信息(调试用)

PowerTimeoutKernelPanic:遇到睡眠崩溃或重启的问题可尝试开启解决

ThirdPartyDrives:开启第三方SATA的TRIM功能,会导致开机变慢

XhciPortLimit:将USB端口15个的限制解除,定制USB后如果超过15个USB端口则保持开启


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选择默认的启动项


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:双系统遇到问题可尝试开启

请按照以下图片设置



必须的六项

UEFI

APFS

EnableJumpstart:开启内置的APFS驱动,如果Driver中无ApfsDriverLoader.efi则必须开启

HideVerbose:隐藏APFS驱动的日志

JumpstartHotPlug:支持含有APFS分区的USB设备的热插拔

GlobalConnect:默认即可

UEFI 驱动

将我们想加载的驱动的名字写在里面如



加载驱动

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


IgnoreInvalidFlexRatio:Skylake之前的机型如果未解锁CFG请开启此项

ReleaseUsbOwnership:USB控制器相关,笔记本一般开启

RequestBootVarRouting:如果想在macOS下启动磁盘内切换默认系统引导,则开启

UnblockFsConnect:HP机型请开启

DeduplicateBootOrder:如果启动方式选择BootStrap,请开启

TscSyncTimeout:TSC相关,一般不使用,请使用VoodooTSCSync等驱动代替


至此,config配置结束。


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设置,其他主板可能有相关调整)


写入映像


如果是从黑果小兵或远景下载的DMG映像,请使用Etcher(已不推荐TransMac)写入到U盘里,这里不作赘述,这里讲解下最佳的写入方式

需要工具:

gibMacOS




主界面

我们可在这里选择我们想要下载的版本,如10.15.6,也可以选择C(Change Catalog)切换开发者版(Big Sur)




Big Sur

下载完成后,我们可以执行MakeInstall.bat,选择U盘并写入(Windows),在macOS下我们可以直接使用BuildmacOSInstallApp.command生成对应版本的安装程序


替换引导文件


在macOS下我们可直接使用OCC挂载EFI分区



方便快捷美滋滋

在Windows下,我们可以使用DiskGenius



EFI分区

找到我们U盘的EFI分区,并强制删除EFI文件夹,将修改好的EFI拖进去并确认(推荐使用DiskGenius原版,有些DiskGenius和谐版可能阉割了拖拽功能)

替换完成之后,我们就可以进入OpenCore尝试引导系统


引导 macOS

重启电脑,我们按下对应主板的引导菜单键(华硕为F8)选择我们写好的U盘




OpenCore主界面

我们选择3回车,等待跑马完成进入安装(如果卡在某项代码,请百度下卡着的那行代码,如没有结果,请在交流群内询问)

进入安装界面后,我们选择磁盘工具




磁盘工具

选择我们要格式化安装macOS的分区,并选择抹掉(也可直接选择整块硬盘格式化)

格式:APFS(机械硬盘推荐HFS+)

分区名:自己取

分区表:GUID

完成后,我们退出磁盘工具,进入安装macOS

一路往下,等待安装



安装ing

进度条走一会后,系统会重启,这时候引导界面会多出来一个启动项,我们选择那个回车即可



二次安装

多次重启后,引导界面会出现我们在磁盘工具内格式化分区填写的名称的启动项,我们选择它,回车,等待进入系统

进入系统后,自行过开机向导(网络请选择不连接网络,待进入系统连接)


安装后


完善驱动

我们需要驱动最基本的三卡(显卡、网卡、声卡),所以我们需要了解我们的设备型号

显卡(核心)

查看你的CPU对应的是什么核显

比如i5-8500 UHD630

打开config.plist,进入DeviceProperties栏,创建项PciRoot(0x0)/Pci(0x2,0x0),在右处右键,选择预设值,如图




预设值

主界面是这样的



主界面

选择我们对应的版本,以及CPU架构,选择合适的显卡ID(百度搜索Intel核显缓冲帧即有相应结果)并选择添加

如果遇到缓冲帧崩溃(PANIC)请将AAPL,ig-platform-id内写入11223344,并进入系统,使用Hackintool修补显卡



11223344




缓冲帧修补




相关设置

选择生成补丁,并在左上角文件内选择导出config.plist



config

生成后,桌面上会出现一个config.plist,我们打开它,进入DeviceProperties



DeviceProperties

选中PciRoot(0x0)/Pci(0x2,0x0)右键,复制,并粘贴到你自己的config相应位置即可


显卡(AMD,不包括ATI)

Polaris架构(RX4xx-5xx)使用WhateverGreen驱动即可

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



如图


声卡(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)

请寻找对应瑞昱(Realtek)有线网卡的驱动,如RTL8111,如使用RTL8111测试版驱动(Mieze)则需要更改如下选项,否则无法连接网络



以太网

配置改为手动,速度改为100M,双工自行选择,保存应用即可联网(RTL8111 Mieze测试版)


有线网卡(Intel)

Intel有线网卡请尝试使用IntelMausi,目前由Acidanthera接管该项目IntelMausi,如果无法驱动则不在支持范围内


10代(Comet Lake)部分可能需要仿冒对应网卡设备以驱动,这里不作讲解


无线网卡(Broadcom)

博通(Broadcom)系苹果拆机网卡无需另外驱动,插上可直接使用

博通(Broadcom)系非苹果拆机网卡(如DW1820A DW1560)则需要AirportBrcmFixup驱动


无线网卡(Intel)

英特尔(Intel)AC系 AX系可尝试使用itlwm进行驱动(由国人开发),并使用HeliPort连接网络


蓝牙(Broadcom)

博通(Broadcom)系苹果拆机网卡的蓝牙无需另外驱动,插上可直接使用

博通(Broadcom)系非苹果拆机网卡(如DW1820A DW1560)的蓝牙大部分无需驱动,如果识别不到蓝牙,则需要BrcmPatchRAM驱动


蓝牙(Intel)

英特尔(Intel)AC系 AX系的蓝牙默认系统可直接识别,但不能用,可以尝试使用IntelBluetoothFirmware驱动


USB(推荐定制USB)

大部分USB可直接使用USBInjectAll识别所有端口(RehabMan永远滴神!)

400系(B460 Z490)需要使用特制的USBInjectAll识别所有端口

这里下载(访问码:6jr6)

记得开启XhciPortLimit!!!!!


PS2(键盘/鼠标)

使用VoodooPS2即可


定制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,确认对应后放入EFI/OC/ACPI中,并在config中设置加载(不想影响到Windows,可以写个规则,这里不作赘述)


注入EDID/开启HIDPI

为了省事,我们直接使用修改好的one-key-hidpi(适配Big Sur),下载后执行hidpi.command,选择开启HIDPI(注入EDID),剩下几步请自行选择需要的,开启后效果为



HIDPI


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)

如果自己的CPU不在白苹果(苹果原装机)范围内,则使用CPUFriend进行频率/调度调节(使用CPUFriendFriend辅助工具更加方便)

英特尔2/3代则不支持原生电源管理,需另外方法变频,这里不讲解


AMD传感器

由于SMCProcessor仅支持英特尔CPU,并不适用于AMD CPU,所以我们需要使用SMCAMDProcessor驱动传感器,AMDRyzenPowerManagement加载时请将DummyPowerManagement(config内Quick)关闭,仅支持VirtualSMC,不支持FakeSMC



Credit:

https://github.com/acidanthera/OpenCorePkg

https://github.com/acidanthera/VirtualSMC

https://github.com/acidanthera/IntelMausi

https://github.com/acidanthera/MaciASL

https://github.com/acidanthera/Lilu

https://github.com/acidanthera/AirportBrcmFixup

https://github.com/acidanthera/BrcmPatchRAM

https://github.com/acidanthera/VoodooPS2

https://github.com/Mieze/RTL8111_driver_for_OS_X

https://github.com/Mieze/IntelMausiEthernet

https://github.com/mlch911/one-key-hidpi

https://github.com/corpnewt/gibMacOS

https://github.com/corpnewt/ProperTree

https://github.com/ic005k/QtOpenCoreConfig

https://github.com/OpenIntelWireless/HeliPort

https://github.com/OpenIntelWireless/itlwm

https://github.com/OpenIntelWireless/IntelBluetoothFirmware

https://github.com/acidanthera/WhateverGreen

https://github.com/OpenIntelWireless/IntelBluetoothFirmware

https://github.com/acidanthera/AppleALC

https://github.com/acidanthera/CPUFriend

https://github.com/corpnewt/CPUFriendFriend

感谢以上开源项目的付出!

本文转载地址

https://zhuanlan.zhihu.com/p/181584011

支付宝 微信
猜你喜欢
我自己的本本thinkpad t470p 黑苹果EFI文件
Mac应用程序无法打开或文件损坏的处理方法
2020年黑苹果硬件配置推荐 (写个小白6月2日)
黑苹果老主板P8B75-V尝鲜EFI文件
评论 (0)
您只有登录后才可以评论~立即登录
暂无评论
Copyright @2019-2099 禹天的博客.All Rights Reserved 京ICP备12013512号-1 京公网安备11011502004272.
搜索
您将离开本站并访问