i9-9900K + Gigabyte Z390 AORUS ELITE + Vega 64黑苹果

前言

最近心血来潮想要在家里搭一台开发机,毕竟写了这么多年的代码,家里连台能打的电脑都没有实在说不过去了。在获得了家里的领导同意之后,兴冲冲地打开了苹果爸爸的官网,点开了性价比相对高一些的Mac mini,在选择了第八代i7+32G DDR4和512G SSD之后,果断被价格劝退了。

于是只能开始自己折腾Hackintosh了,前后折腾了一个周末加周一晚上三个多小时,中间经历了U盘完全无法启动,开始安装后卡死,第一轮安装进度走完后无限重启,安装完双显示器绿屏,安装完双显示黑屏,装Windows的时候WinPE卡死,一直到昨天晚上终于搞定双系统+双屏完美点亮。

目前看起来基本上都是正常的:USB正常,声音正常,双系统都能正常启动,开关机,重启,休眠唤醒什么的都正常。随便建了个测试工程,Xcode什么的也都正常,另外还用了一个老的电脑上的1T的机械硬盘做TimeMachine。

中间各种曲折,不过回想起来,归根到底还是自己太菜了。赶紧乘着记忆还算清晰,把这些东西都记下来。

好了,放一张效果图镇个楼。

我是图片

电脑配置

  • CPU:i9-9900K
  • 主板:Gigabyte Z390 AORUS ELITE
  • 显卡:公版Vega 64 8G
  • 内存:16G*2 3200MHz
  • 硬盘:
    • SUMSUNG 500GB SSD 970 EVO (NVMe) 用做Mac系统盘
    • SUMSUNG 128GB SSD 850 EVO (SATA) 老电脑拆下来的,用做Win10系统盘
    • SUMSUNG 128GB SSD 850 EVO (SATA) 老电脑拆下来的,暂时闲置,后续准备把一些不常用的数据放上去
    • 1 TB 机械硬盘,老电脑拆下来的,用做TimeMachine
  • 其他:剩下的显示器,音箱,机箱和电源什么的和Hackintosh没什么关系,就不介绍了。

敲黑板硬件上有几个东西需要注意:

  1. 千万千万千万不要买PM981,这玩意是苹果杀手,一开始贪图便宜800块买了个1T的,这玩意会造成Mac内核crash,一开始装的时候系统无限重启就是这玩意搞的鬼。
  2. Gigabyte Z390 AORUS ELITE有两个M2口,1号口靠近CPU,自带散热片,2号口靠近PCI插口。如果只有一个M2口的硬盘,建议插在1号口上,因为插在2号口上会导致2个SATA口不工作。我一开始插在了2号口上,然后死活读不出我另外两个硬盘,导致我一度怀疑自己装的电脑有问题。
  3. 公版的VEGA 64 4个口,分别是1个HDMI和3个DP,因为我那台华硕的显示器是差不多10年前的,只有VGA和DVI口,所以需要买一个DVI转DP的转接头。

开始安装

准备工作

  1. 准备一个16G左右的U盘,不要太大,如果太大的话,建议分一个16G左右的分区,太大的U盘会导致UniBeast制作启动盘的时候认不出来。
  2. 准备一个能看到墙外内容的软件,因为https://www.tonymacx86.com/ 似乎没法直接打开。国内好像也有个叫远景的论坛,但是相对来说,tonymacx86上的内容还是专业很多,我这次也是多亏了它。
  3. 仔细阅读这篇教程,下载好教程上需要的软件,同时对整个过程有个大致的认识。
  4. 在格式化U盘的时候,建议不要用系统的DiskUtility,因为这样你可能格式化的并不是完整的U盘。可以直接用下面的命令来格式化
    1
    diskutil partitionDisk diskX 1 GPT HFS+ newdisk R // 其中diskX 可以用diskutil list来找到想要格式化的U盘的名字

EFI文件

其实整个安装过程最主要的就是在倒腾这个EFI文件夹,这个文件夹一开始会出现在你安装系统的U盘的EFI分区里,用来引导进入系统安装流程。系统安装完了之后,在系统磁盘里也会出现一个EFI分区,这时候可以把U盘EFI分区里的EFI文件夹直接替换掉系统盘的EFI分区里的EFI文件夹,用来引导系统启动。

这里(提取码:68xt)是我备份的EFI文件夹,用了这个文件夹之后,我试过重装了一次系统,整个过程非常顺利,总共花了大约10分钟左右。

如果是相同硬件配置的机器,应该是可以直接使用的,下面我具体说一下整个过程。

安装过程

以下安装过程只能表示对我目前的硬件是能够正确生效的,但是不表示每一个设置都是有必要的,因为有好多设置我也并不理解具体的作用,所以没有仔细看过哪些配置是有意义的,哪些是不必要的。

  1. BIOS设置

    • Save & Exit → Load Optimized Defaults​
    • M.I.T. → Advanced Frequency Settings → Enhanced Multi Core Performance : Disabled​
    • Peripherals → Trusted Computing → Security Device Support : Disable​
    • Peripherals → USB Configuration → Legacy USB Support : Auto​
    • Peripherals → USB Configuration → XHCI Hand-off : Enabled​
    • Chipset → Vt-d : Disabled​
    • Chipset → Internal Graphics : Enabled​
    • Chipset → Above 4G Decoding : Enabled​
    • Chipset → Wake on LAN Enable : Disabled​
  2. 准备安装盘

    • 根据上面的教程准备好安装用的U盘。
    • 去下载一个叫做 Clover Configurato的App,这个App用来修改Clover的config.plist非常方便。
  3. 修改制作好的U盘EFI分区下 EFI/CLOVER/config.plist配置文件

    • 在Clover Configurator​里打开config.plist

      • Mount USB Stick EFI Volume using Clover Configurator → Mount EFI​
      • Open USB Stick EFI Volume, navigate to (your flash drive)/EFI/CLOVER/​
      • Drag config.plist onto Clover Configurator app icon to open​
    • Clover Configurator / Boot Tab​

      • change nv_disable=1 → slide=0​
      • XMPDetection : 2​
      • Debug : False​
    • Clover Configurator / Devices Tab​

      • IntelGFX : blank​
      • Inject : 7​
      • ResetHDA : True​
    • Clover Configurator / Graphics Tab → Inject Intel : False​
    • Clover Configurator / Kernel and Kext Patches Tab​
      • 删除 com.apple.iokit.IOUSBHostFamily​
      • 删除 com.apple.driver.usb.AppleUSBXHCI​
      • 删除 com.apple.iokit.IOUSBHostFamily​
      • 添加 “Black Screen Patch Vega 56/64 …”​
    • Clover Configurator / SMBIOS Tab​
      • Product Name : iMac19,1​
      • Board-ID : Mac-AA95B1DDAB278B95​
      • Board Serial Number : C02909101CDLNV9AD​
      • Serial Number : Generate​
      • SmUUID : EC72EEB3-6498-42E2-8E29-5C31664A8DEC​
      • Trust : -​
    • Clover Configurator / Gui Tab​
      • CsrActiveConfig : 0x67​
      • 点击 Generate​
    • System Parameters → Inject Kexts : Yes​
  • Text Mode​

    • 在config.plist文件里搜索 <key>USB</key> 然后把下面的代码贴在<key>USB</key>上一行

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
        <key>Properties</key>
      <dict>
      <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
      <dict>
      <key>PP_DisableClockStretcher</key>
      <integer>1</integer>
      <key>PP_DisablePowerContainment</key>
      <integer>1</integer>
      <key>PP_DisableULV</key>
      <integer>1</integer>
      <key>PP_EnableUploadFirmware</key>
      <integer>0</integer>
      <key>PP_Falcon_QuickTransition_Enable</key>
      <integer>1</integer>
      <key>PP_GfxOffControl</key>
      <integer>0</integer>
      <key>PP_PhmSoftPowerPlayTable</key>
      <data>
      tgIIAQBcAOEGAADuKwAAGwBIAAAAgKkDAPBJAgCWAAgA
      AAAAAAAAAAAAAAAAAAIBXABPAkYClACeAb4AKAF6AIwA
      vAEAAAAAcgIAAJAAqAJtAUMBlwHwSQIAcQICAgAAAAAA
      AAgAAAAAAAAABQAHAAMABQAAAAAAAAABCCADhAO2A+gD
      GgQaBEwETAQBAUwEAQGEAwAIYOoAAABAGQEAAYA4AQAC
      3EoBAAOQXwEABAB3AQAFkJEBAAZssAEABwEI0EwBAAAA
      gAAAAAAAAByDAQABAAAAAAAAAABwpwEAAgAAAAAAAAAA
      iLwBAAMAAAAAAAAAAJj8AQAEAAAAAAAAAAAwNwIABQAA
      AAABAAAA4G0CAAYAAAAAAQAAALh8AgAHAAAAAAEAAAAA
      BWDqAAAAQBkBAACAOAEAANxKAQAAkF8BAAAACChuAAAA
      LMkAAAH4CwEAAoA4AQADkF8BAAT0kQEABdCwAQAGwNQB
      AAcACGw5AAAAJF4AAAH8hQAAAqy8AAADNNAAAARobgEA
      BQiXAQAG7KMBAAcAAWg8AQAAAQQ8QQAAAAAAUMMAAAAA
      AJBfAQACAACwrQEABAAAAQgAmIUAAEC1AABg6gAAUMMA
      AAGAuwAAYOoAAJQLAQBQwwAAAgDhAACUCwEAQBkBAFDD
      AAADeP8AAEAZAQCIJgEAUMMAAARAGQEAgDgBAIA4AQBQ
      wwAABYA4AQDcSgEA3EoBAFDDAAAGAHcBAAB3AQCQXwEA
      UMMAAAeQkQEAkJEBAAB3AQBQwwAAARgAAAAAAAAAC+QS
      vwOnCEYACgBUA5ABkAGQAZABkAGQAZABAAAAAAACBDEH
      3ADcANwALAEAAFkAaQBKAEoAXwBzAHMAZABAAJCSl2CW
      AJBVAAAAAAAAAAAAAAAAAAAAAAACAtQwAAACEGDqAAAC
      EA==
      </data>
      <key>PP_PhmUseDummyBackEnd</key>
      <integer>0</integer>
      <key>PP_ToolsLogSpaceSize</key>
      <integer>524288</integer>
      </dict>
      <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
      <dict>
      <key>AAPL,ig-platform-id</key>
      <data>
      BwCbPg==
      </data>
      <key>device-id</key>
      <data>
      kj4AAA==
      </data>
      <key>framebuffer-con0-busid</key>
      <data>
      AAAAAA==
      </data>
      <key>framebuffer-con0-enable</key>
      <data>
      AQAAAA==
      </data>
      <key>framebuffer-con0-type</key>
      <data>
      AAgAAA==
      </data>
      <key>framebuffer-con1-busid</key>
      <data>
      AAAAAA==
      </data>
      <key>framebuffer-con1-enable</key>
      <data>
      AQAAAA==
      </data>
      <key>framebuffer-con1-type</key>
      <data>
      AAgAAA==
      </data>
      <key>framebuffer-con2-busid</key>
      <data>
      BAAAAA==
      </data>
      <key>framebuffer-con2-enable</key>
      <data>
      AQAAAA==
      </data>
      <key>framebuffer-con2-type</key>
      <data>
      AAgAAA==
      </data>
      <key>framebuffer-fbmem</key>
      <data>
      AACQAA==
      </data>
      <key>framebuffer-patch-enable</key>
      <data>
      AQAAAA==
      </data>
      <key>framebuffer-stolenmem</key>
      <data>
      AAAwAQ==
      </data>
      <key>framebuffer-unifiedmem</key>
      <data>
      AAAAgA==
      </data>
      </dict>
      </dict>
    • 点击 Synchronize​

  • 关闭Clover Configurator的时候会有一个弹窗,点击OK
  1. 修改EFI Kext文件夹:在安装U盘的EFI分区的/EFI/CLOVER/kexts/Other​ 下
  2. 修改 /EFI/CLOVER/drivers64UEFI/

  3. 增加 SSDT USB3支持

    • 解压 SSDT_USB_blouse.zip(提取码:bb1y),把他们拷贝到/EFI/CLOVER/ACPI/patched/​
      • SSDT-EC.aml​
      • SSDT-UIAC.aml​
      • SSDT-USBX.aml​
  4. 将 Clover Configurator 拷贝到安装U盘中,等装完系统后,需要用到这个App

安装

安装的具体过程请参照这篇教程

硬盘引导启动

在上面这篇教程做完之后,照道理应该就可以硬盘引导启动了,但是因为我们改了比较多的配置,所以大概率可能没法启动。这时候可以继续使用U盘引导,先进入系统。然后将U盘里的 Clover Configurator 拷贝到电脑中,打开后执行下列操作:

  • Mount EFI → 系统硬盘 → Mount Partition​
  • Mount EFI → 系统硬盘 → Open Partition​
  • Mount EFI → 安装U盘 → Mount Partition​
  • Mount EFI → 安装U盘 → Open Partition​
  • 将安装的U盘EFI分区中的EFI文件加拷贝到系统硬盘的EFI分区下(覆盖老的EFI文件夹)

OK Enjoy !

好了,做到这里之后,基本上你的Hackintosh基本上已经可以正常工作了。如果还是有问题的话,可以按照你的硬件型号到tonymacx86的论坛上找一找,基本上按照上面推荐配置买的硬件的问题大多都能在上面找到一些线索和思路。当然也可以在上面发帖来询问自己的问题。

后记

但是我做完上面的这些操作之后,Mac系统已经可以愉快地玩帅了,但是只能接一个显示器,只要接上两个显示器,系统立刻死机。这个问题困扰了差不多周日一整天,到最后实在身心俱疲,就打算放弃了,毕竟一个显示器也能够愉快玩耍了。

周一到了公司之后,和公司的小伙伴聊起这件事情的时候,他们建议我可以考虑装个Windows看看显卡是不是有问题,毕竟Windows可以直接去官网下载最新的显卡驱动。于是在周一当完加班狗之后,难以按耐内心的骚动,我还是折腾了一波Windows。安装Windows的过程就不细表了,无非就是用U盘做一个CE的系统(请用最新的CE系统,目前应该是CE10,不然可能会出现找不到硬盘的情况),然后把Windows的ISO拷进去,再然后就正常安装就行了。

装完Windows之后,去技嘉官网下一个网卡驱动,连上网之后更新了最新的显卡驱动,然后在Windows下双显就能够正常工作了(确认了显卡没问题),再然后切到Mac系统的时候,双显也能够正常点亮!! 这简直刷新了我的认知,我之前一直以为驱动这玩意应该是和系统强相关的,莫非显卡驱动更新了之后,还顺便更新了显卡的固件?!

好了,到这里位置,这一次的折腾之旅算是告以段落了,虽然中间有点折腾,好在最后结果还不错。