[Hackintosh]如何正确的黑苹果

I. 硬件篇

打算安装黑苹果之前要了解自己的硬件是否得到比较好的支持, 如果打算新装一台电脑, 尽可能的去购买与黑苹果更兼容的电脑配件. 下面我从电脑的各个配件一一说明.

CPU: 任何Intel Core以及Xeon系列CPU, 从第一代的i3-330UM到如今最强的i7-8700K, 从垃圾佬最爱的Xeron E3-1230到E5-2680等都可以很好的支持. 不建议使用奔腾和赛扬的CPU, 一来性能不怎么好, 二来黑起来难度比较高. 不建议使用AMD的CPU, AMD的黑苹果需要黑客提供修改版的macOS内核才可以升级,无法第一时间升级到最新的macOS.

主板: macOS早在2009年左右就采用EFI, 所以建议支持UEFI的主板, 一般来说B75, Z77 之后的都是UEFI的BIOS, 当然如今的Z390更是不在话下. 服务器主板X58, X79, X99, X299 等都支持

显卡:  Intel的集成显卡是被macOS所原生支持的. 独立显卡方面AMD的GCN1代到现在的Vega64显卡都是被macOS所原生支持, 尤其是在macOS 10.14 Mojave上, 基本上无需折腾, 开机即用. nVidia的显卡在macOS 10.13.6以及之前的版本是可以安装Web Drivers来驱动, 但是到了Mojave, 就gg了, 据说是Apple不给支持. 总而言之, Intel和AMD的显卡都是很好的选择. 推荐带DP或者miniDP接口的显卡, 因为白苹果是走DP路线.

声卡: 一般主板上集成的Realtek ALCxxxx 声卡都可以完美驱动, 音频可以走3.5mm口输出, 也可以走显卡的DP以及HDMI接口输出, 两个都连接的话, 还可以在macOS顶部状态栏随便切换.

硬盘: 推荐SSD硬盘, 不推荐机械硬盘, 毕竟8012年了. SSD硬盘有两种接口, 一种是SATA3或者2. 还有一种是目前常见的M.2接口. 另外还可以通过主板上的PCIe 1X,4X 或者16X 接口转接SATA和M.2以及其他规格的SSD. 比如我用的Z77P-D3,因为不带M.2接口也不支持NVME, 为了更快的速度, 我给BIOS刷了NVME驱动, 同时买了M.2的SSD通过PCIe转接卡接到主板的PCIe 4X接口上, 完美支持.  

有线网络: Intel主板上一般都是速度为1Gb的Realtek 8111和intel i219v 等网卡, 这些都是可以通过第三方驱动完美支持的.

Wi-Fi以及蓝牙: 由于白苹果一直以来都是用博通的无线蓝牙模块, 所以推荐黑苹果也使用相同的型号, 我目前用的是一款BCM943602CS的Wi-Fi蓝牙卡, 接在主板的PCIe 1X接口上, 无需任何驱动. 各种功能完美, 包括使用iCloud, iMessage, Handoff, Airdrop, Instant Hotspot. 据说还可以通过Watch解锁黑苹果, 我没有Watch, 所以不得而知. 当然还有其他几个型号也是可以用的例如BCM94360CS, BCM94360CD, BCM94352Z等, 淘宝上都可以找到.

键盘鼠标: USB,蓝牙接口的随意挑选.

附送我的硬件配置:

黑果一号:

  • Gigabyte Brix 5010 准系统, 类似Intel的NUC, i3-5010u
  • 内存: 2 * 4GB 海盗船 DDR3 1600mhz
  • 硬盘: 东芝 MLC mSATA 256GB SSD, 读 510M/s 写 430M/s
  • Wi-Fi蓝牙: DW1560 (芯片为 BCM94352z), 5Ghz 866M/s, 2.4Ghz 300M/s. 需要安装补丁.
  • 显卡: 集成的 HD 5500, 带DP和HDMI, 支持[email protected]显示器
  • 声卡: 集成的ALC283
  • 目前存在的问题: Instant Hotspot 无法使用, 但可以连普通的个人热点. Handoff 不稳定. 其余完美.
  • 支持的功能: Wi-Fi, 蓝牙, 声音, 有线, 显示, iCloud, iMessage, Airdrop,

黑果二号:

  • CPU: E3-1230 v2
  • 主板: 技嘉 Z77P-D3
  • 内存: 2 * 8GB 金士顿 DDR3 1600mhz
  • 硬盘: HP EX900 NVME M.2 SSD, 通过PCIe转接卡, 转接在主板的PCIe 4x接口上, 读1500M/s 写 1000M/s
  • Wi-Fi和蓝牙: BCM943602CS, 通过PCIe 1X 连接主板, 5Ghz 1300M/s, 2.4Ghz 300M/s. 原生支持
  • 显卡: 蓝宝石 RX560 OC 4GB, 支持到[email protected], 原生支持
  • 声卡: 集成的ALC887
  • 目前存在的问题: macOS启动的第二阶段会闪1秒, 但无伤大雅.
  • 支持的功能: Wi-Fi, 蓝牙, 声音, 有线, 显示, iCloud, iMessage, Airdrop, Instant Hotspot. 10bit 4K HEVC, H264硬件解码, 8K也可以硬件解码.

II. 软件基础篇

其实在PC上安装并启动一个macOS只需要2个软件: FakeSMC 和 Clover. 前者模拟白苹果的EFI程序, 后者给PC的硬件打补丁, 让macOS可以识别你的各种硬件.  这是一个最小化的环境, 有了这两个, 基本上就可以安装好macOS并启动, 启动后你可能会发现各种问题, 比如没有声音, 显示模糊, 分辨率无法调整, 屏幕卡顿, 这些其实都很好解决. 我的原则就是最小化安装, 然后一个一个问题的解决, 最终趋于完美, 并且在此过程中, 你知道你安装了什么, 也会慢慢的知道如何解决问题, 如何对黑苹果做自定义的微调. 不推荐使用别人的安装包, 不推荐使用Unibeast, Multibeast, 这两者其实就像一个一键安装包, 将所有东西一股脑的塞进你的电脑, 出了问题, 只有靠你自己摸石头过河了.

简要的说明下基本步骤:

  1. 制作macOS的U盘启动盘
  2. 安装Clover到U盘
  3. 修改U盘上的Clover的Config.plist以适配你的电脑
  4. 用U盘启动PC, 安装macOS, 先不要重启, 因为还有善后工作
  5. 安装Clover到你的PC的硬盘上
  6. 将U盘上的刚刚修改过的config.plist覆盖硬盘的Clover的config.plist
  7. 安装相关硬件的驱动和补丁(以kext的形式)
  8. 拔掉U盘, 重启电脑, 从硬盘的macOS启动

2.1 首先你要制作启动盘.

就算是给白苹果重装系统, 你也需要一个启动盘(方法之一), 而黑苹果的启动盘跟白苹果没有两样, 所以这部分就非常的简单, 准备一个16GB的U盘, 然后安照苹果官网的教程来:

https://support.apple.com/zh-cn/HT201372

以上方法的前提是你有一台苹果电脑. 如果你只有Windows系统, 那么推荐在你的电脑上用Vmware虚拟一个macOS(网上有很多vmware的macOS镜像, 可以直接启动进去), 然后在里面按照上面的方法操作. 不推荐使用Transmac之类的工具. Linux用户想必都能找到自己的方法, 这里不做介绍.

2.2 给启动盘安装Clover

你制作的这个启动盘虽然可以启动你的苹果电脑, 但不能启动PC的, 需要安装Clover引导. Clover的官网地址:

https://sourceforge.net/projects/cloverefiboot/files/Installer/ 

下载最新版本(当前是 Clover_v2.4k_r4700), 解压缩, 直接在你的苹果电脑上或者vmware虚拟的macOS上运行:

目标盘:

注意!!!! 选择刚制作的U盘,

然后点 Customize并勾选如下选项:

Clover for UEFI Booting Only
Install Clover in the ESP

展开 UEFI Drivers, 并勾选:

AptioMemoryFix-64 (必选,否则无法启动PC)
ApfsDriverLoader-64 (提供APFS文件系统支持, 请务必勾选)
FSinject-64  (保证Clover/kexts/other下的驱动可以正常加载)
SMChelper-64 (当NVRAM出错可以恢复上次正确启动的NVRAM)
DataHubDxe-64 (非必要, 强迫症可以不选)
VboxHfs-64 (提供HFS Plus 文件系统的支持)

接下来如果你打算使用Apple的磁盘加密功能, 勾选:

FileVault2 UEFI Drivers (不需要磁盘加密功能的不用选, 东西越多, 出错几率越大)

附图参考:

Screen+Shot+2018-10-24+at+17.07.03.png
Screen+Shot+2018-10-24+at+17.07.16.png
至此, Clover已经安装到你的U盘上了, 然后你就可以用这个U盘启动你的PC并安装. 为了减少不必要的麻烦, 可以对U盘上的Clover提前做一些设置, 并且这些设置是可以直接用在后面的善后工作中去的

Clover的Config.plist是主设置文件, 在U盘的EFI分区中, 可以使用Clover Configurator来修改, 官方下载地址:

https://mackie100projects.altervista.org/download/ccg/

2.3 预设置config.plist (如下设置遵循最小化原则, 所以尽量不要 乱勾选你不知道的东西)

打开 Clover Configurator, 定位到 Mount EFI, 下半部分列出了当前的设备, 这里我们找到U盘, 然后点 Mount Partition, 输入密码, 然后点Open Partition, 一个EFI文件夹会自动打开, 进入EFI/Clover文件夹, 右键点击config.plist, 选择用 Clover Configurator 打开, 这时候可以看到一系列的设置项:

2.3.1 ACPI

点 list of patches, 选择:

change EHC2 to EH02
change EHC1 to EH01

同时删掉patches 列表里面其他的东西, 这部分是USB2.0的补丁, 可以让macOS正确识别纯USB2.0的端口.
可以考虑选择: (只是装饰作用, 让ioreg里面的SAT0显示为SATA)

change SAT0 to SATA

取消勾选本页面的所有选项, 包括Fixes下面的 1 和  2 两页的选项, 删除Drop Tables里面的东西,

然后勾选:

Plugintype (仅仅用于4代以及之后的CPU, 之前的需要用SSDT解决CPU变频问题)

这部分是让CPU的变频正常工作, 这样从允许的最低频率一直到CPU到 Turbo频率都可以在macOS下正常工作. 附图参考:

Screen+Shot+2018-10-24+at+17.32.39.png

Reset Address 和 Reset Value 可以按图填写, 不填写也没有关系.

2.3.2 Boot 

勾选 

Verbose (-v)

debug=0x100

keepsyms=1

作用: 启动macOS的时候, 能看到文字debug, 方便分析问题, 了解进度.

Custom Flags 也就是 (自定义的启动参数), 填写:

alcid=1

额外的还可以填写:

-lilubeta -wegbeta -alcbeta

作用: alcid=1是声音相关的, 关于这个其实比较复杂,对于我的声卡则是alcid=5, 通常来说alcid=1应该会ok, 追求完美的话, 后面可以自行尝试不同的数字. 

-lilubeta -wegbeta -alcbeta  是让后面要安装的 Lilu.kext whatevergreen.kext applealc.kext 无论在什么版本的macOS下面都保证顺利加载.

启动参数之间用空格隔开, 带参数的启动参数比如alcid=1前面请不要擅自加 “-”, 不带参数的启动参数需要加 “-”

2.3.3 Devices 

取消所有选项, 能留空的就留空.

2.3.4 Graphics 

取消所有选项, 能留空的就留空.

2.3.5 Kernel and Kext Patches, 

取消所有选项, 删除KextstoPatch等等四个tab下面的所有条目, 能留空的就留空.

对于Ivy Bridge 和 Sandy Bridge系列的CPU, 勾选 KernelXCPM, 其余的CPU无需勾选.

对于Sandy Bridge 和 Ivy Bridge的CPU+华硕的主板(比如P8Z77这样的主板), 取消勾选 KernelXCPM 同时勾选AppleIntelCPUPM

KextstoPatch 页, 点左下角的+, 添加如下内容:

Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83FB0F0F 83030500 00
Replace: 83FB0F90 90909090 90
Comment: Disable USB Limit 10.14+ by PMHeart

作用: 此补丁是去掉Mojave的USB端口数量限制(apple限制为15个usb端口), 当你的主板USB接口比较多的时候, 可以被全部识别. 注意⚠️, 仅适用于 10.14. 如果你是10.14.1以及之后的安装文件, 此patch无效

Screen+Shot+2018-10-24+at+19.05.26.png

2.3.6 SMBIOS

选择一个与你的CPU最接近的型号, 点击那个 “上下小箭头”

Screen+Shot+2018-10-24+at+17.40.20.png

举例: 我的Z77电脑是E3-1230v2 + RX560, 没有集成显卡, 所以我的选择是 MacPro6,1

举例: 我的Brix电脑是i3-5010u, 我选择Macbookair7,1

举例: 如果你的CPU是8代的如 8400, 8100, 8700K等... 选择 Macmini8,1 (什么你没有看到? 那么请下载最新的clover configurator)

举例:如果你CPU是7700K 6700K等, 选择 imac17,1 到 imac18,3 都行..

总之, 在里面找和你的CPU最接近的SMBIOS型号.

至此 config.plist设置完毕, 这个设置可以满足大部分的新电脑. 先不要急着拔掉U盘去启动你的电脑, 接下来还要做一些通用的补充

III. 软件进阶篇

注意以下所有的kext都有Debug和Release版本, 只需要下Release版本, 在Release版本解压后, 只需要里面的 xxxx.kext, 请勿使用 xxxx..kext.dSYM. (本以为这个是常识问题, 但是貌似... 有人并没有常识)

接下来需要安装一些通用的补丁(kext), 解决一些通用的问题.

FakeSMC (Or VirtualSMC)

下载地址: 

https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/

解压, 将 fakesmc.kext 放到: (压缩包里面其他的几个kext作用是提供CPU, 显卡, 硬盘等传感器信息, 让一些系统监控app可以读取, 属于可选项)

EFI/Clover/Kexts/other/

作用: 毫无疑问, 没有这个玩意, 就别黑苹果啦.

++++ 2018年10月29日更新++++
可以用VirtualSMC替代FakeSMC, 提供MMIO支持, 我也不知道这是什么东西, 但据说前者是SMC2代, 后者是SMC初代, 方法如下:
下载地址:

https://github.com/acidanthera/VirtualSMC/releases

将下载的 VirtualSMC.kext 替换掉 Clover/kexts/other/FakeSMC.kext
将下载的 VirtualSMC.efi  替换掉 Clover/drivers64UEFI/SMCHelper-64.efi

USBInjectAll

下载地址: 

https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/

解压, 将 USBInjectAll.kext 放到

EFI/Clover/Kexts/other/

作用: 将主板上的所有USB2.0, 3.0等接口完全暴露给macOS, 让你的USB设备工作舒畅 (后期可能需要做USB端口自定义, 更精确的定位USB端口, 那是一件比较麻烦的事情, 需要一定的动手能力)

 Lilu 和AppleALC

下载地址:

https://github.com/acidanthera/Lilu/releases
https://github.com/acidanthera/AppleALC/releases

解压, 将 AppleALC.kext 和 Lilu.kext 放到

EFI/Clover/Kexts/other/

作用: 提供声音支持, 前面的alcid=1的设置需要这个两个kext的支撑

WhateverGreen

下载地址:

https://github.com/acidanthera/WhateverGreen/releases

解压, 将 WhateverGreen.kext 放到

EFI/Clover/Kexts/other/

作用: 解决Intel AMD 以及 nVidia 的显卡各种问题.  如果安装完成后你的Intel显卡在关于本机(About This Mac)上只显示 7M 显存, 或者是睡眠唤醒不了等黑屏问题, 或者是连安装界面都进不去, 请看下一篇关于Intel FrameBuffer的文章:

[[搬运/翻译工]正确驱动Intel显卡的Framebuffer[黑苹果]](http://catty-house.blogspot.com/2018/10/intelframebuffer.html)

可选:
有线网卡的驱动:

https://bitbucket.org/RehabMan/os-x-intel-network/downloads/ (针对板载Intel网卡)
https://bitbucket.org/RehabMan/os-x-realtek-network/downloads/  (针对板载Realtek网卡)

需要什么就装什么, 不要同时都装.

Wi-Fi和蓝牙:

如果你购买的是BCM943602CS这款, 无需任何设置, 插上就可以用, 如果不能免驱动, 则需要以下2个kexts:

Wi-Fi:

https://github.com/acidanthera/AirportBrcmFixup/releases 

蓝牙:

https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads/(BrcmFirmwareRepo.kext 和 BrcmPatchRAM2.kext 当然, 还是装在老地方 kexts/other/)

IV. 安装macOS

经过上述的修改和添加, 现在这个U盘可以启动电脑了

4.1  BIOS的一些推荐设置:

  • USB方面的选项, 开启XHCI和XHCI Handoff, 同时开启EHCI和EHCI Handoff. 前者启用USB3.0, 后者启用USB2.0
  • SATA方面, 启用AHCI
  • 如果有CSM设置, 开启CSM, 让UEFI和传统的BIOS并存, 方便使用Linux/Windows/DOS
  • 看到有独立显卡(或者PCIE接口) UEFI的选项, 选择UEFI Only. 这样可以解决很多开机黑屏, 唤醒黑屏, 重启黑屏, 断电再开机黑屏的一系列问题. 或者干脆关闭CSM(Never)
  • 如果你的BIOS有 CFG Lock, 关闭此选项, 否则启动会出现 ++++++
  • 如果你的BIOS有 Execute Disable Bit, 开启此选项
  • 如果主板有ErP选项, 开启. 这个可以解决睡眠自动唤醒的问题,尤其是装有Wi-Fi和蓝牙的电脑. ErP能让连接主板的设备进入更深层次的睡眠. 
  • 如果主板有网络唤醒功能, 关闭.
  • VT-D和VT-X这两个CPU虚拟化相关的选项, 可以开启, 也可以关闭,如果出问题, 就选择关闭.

4.2 用U盘启动电脑

BIOS选择U盘启动, 会出现Clover的界面, 在整个安装过程中, 电脑会重启几次.

第一次启动的时候选择

Boot Install macOS from ....(类似的带 Install 这个关键字的)

然后安装安装程序的提示进行, 这部分跟安装macOS到白苹果是一样的. 文件系统推荐APFS格式.

之后会重启2~3次, 每一次看到Clover的启动界面, 请都选择:

Boot macOS from ... (不带Install关键字的, 如果选错了, 就变成循环安装)

直到进入macOS的桌面.

整个过程请不要选择带Preboot的选项... 那是在开启了磁盘加密功能的时候使用的启动项.

4.3 善后工作

4.3.1 安装Clover到硬盘, 参考上文 2.2, 只不过此处目标盘要选择硬盘
4.3.2 将前面修改好的U盘的EFI/Clover/config.plist复制到硬盘的EFI/Clover/config.plist, 挂载硬盘的EFI同前面挂载U盘的方法.

4.3.3 将U盘的EFI/Clover/Kexts/other/的所有内容拷贝到硬盘的 EFI/Clover/Kexts/other/ 下面

4.3.4 如果你前面用了VirtualSMC代替了FakeSMC, 请按照 III 软件进阶篇 对硬盘的EFI操作一遍替换.

4.3.5 重启电脑, 拔掉U盘, 此时就可以从电脑的硬盘启动电脑.

至此安装完毕.

本文转载自Life Is Beautiful

Last modification:December 15th, 2018 at 11:48 am
If you think my article is useful to you, please feel free to appreciate

12 comments

  1. snowtank

    好文章和我的配置好像!学习一下

  2. 支持你

    找遍全网也不知道,显示屏到底接主板还是接显卡。OωO

  3. 李建

    还有,接显示器时,可以用HDMI接吗?

    1. 涟漪
      @李建

      可以,没问题。

  4. 李建

    你好,一旦在WIN10的基础上,装macos,怎么引导呢?

    1. 涟漪
      @李建

      用四叶草引导,建议和windows安装在不同的盘上。

  5. 严昊洋
    该评论仅登录用户及评论双方可见
  6. 严昊洋
    该评论仅登录用户及评论双方可见
    1. 涟漪
      @严昊洋

      硬RAID卡一般需要特定的驱动配合,MAC一般来说没有这种驱动,所以不建议在RAID下安装黑苹果。

      1. 严昊洋
        @涟漪
        该评论仅登录用户及评论双方可见
        1. 严昊洋
          @严昊洋
          该评论仅登录用户及评论双方可见
  7. 严昊洋

    楼主,请问,在BIOS设置方面,可不可以RAID模式吗?

Leave a Comment