AMD Ryzen黑苹果新姿势:借助KVM实现CPU变频、随意升级

发布于 2019-02-17  50.05k 次阅读


一、传统AMD黑苹果:修改macOS以适应CPU

自从Apple开源了macOS内核,人们就想办法通过重新编译内核,让macOS运行在非Intel处理器上。但是修改内核法目前还有以下问题:

  • 只能使用固定版本的macOS,不能平滑升级;
  • 不稳定:修改的内核与驱动会导致不定期死机或驱动失效;
  • 专业软件崩溃:一些软件需要用到Intel专用的指令集,因此完全无法运行或需要阉割功能模块,如PhotoShop;
  • FaceTime与iMessage无法使用;

一个随时可能死机的系统是无法作为生产力工具的。因此用了两周后我把目光转向了虚拟化。

二、新姿势总结:虚拟化CPU以适应macOS

经过又两周的使用,在Proxmox中使用KVM虚拟化的macOS表现完全超乎我的想象:

  • CPU性能:与直接安装相比损失5%左右;
  • GPU(GTX 1050Ti):未观察到性能损失;
  • 电源管理:处理器可正常变频!
  • 兼容性:原版macOS、Photoshop均可完美使用,随意升级;
  • 稳定:尚未出现过macOS崩溃的事;
  • FaceTime与iMessage均可使用;

由于新购的RX560还在路上,因此还未升级Mojave。下面是我的系统信息:

系统信息

下面是我的Cinebench R15跑分:

Cinebench R15跑分

三、虚拟化之路

为了性能考虑,首先我把目光放在了硬件虚拟化上:

  1. VMware vSphere / ESXi:无法仿冒CPU,仍需修改内核;
  2. Hyper-V:无法随意进行GPU Passthrough;
  3. RHEV:收费;
  4. Xen
  5. KVM

还剩Xen与KVM。我Google一下,便搜到了Kohlia的这个repo,即基于KVM来虚拟化macOS。

使用KVM虚拟化有以下方式:

  • Ubuntu等发行版自带KVM
  • Proxmox
  • unRaid(收费)

但是经过自己体验,并不推荐自行安装Linux来配置,因为:

  • 配置复杂:安装Linux、配置Qemu与KVM、PCI Passthrough相当的繁琐,涉及内核模块修改等,很容易搞崩系统;
  • 新技术体验困难:想体验lvm与自动备份等技术需要花大量时间琢磨。
  • 维护困难:配置好PCI Passthrough后主机就无输出了,只能用另一台设备ssh到上面,对linux命令行操作要求较高;

所以,当我接触到Proxmox以后一下就爱上了它:

  • 免费
  • 各种技术开箱即用:LVM、自动备份、防火墙、NAS、Qemu虚拟机、LXC容器...
  • Nicholas Sherlock已经写了一个在Proxmox中安装macOS的教程
  • 提供Web界面与JavaScript API进行监控与管理!
  • 基于Debian,便于安装各种软件

但是与网上已经封装好的AMD黑苹果系统镜像相比,自行安装Proxmox并配置macOS还是要麻烦的多,至少需要对Linux较为熟悉才行。

四、可能存在的问题

  1. 虚拟化软件无法运行:VMware Fusion、Parellels Desktop、Docker for Mac等均无法运行。但是我们直接用Proxmox来运行和管理虚拟机与容器显然更好,所以无妨:)
  2. 百度网盘无法运行:Mac版百度网盘会监控当前是否在虚拟机中,目前我在另一个Windows虚拟机中运行百度网盘;
  3. USB数量限制在5个,如需更多USB设备,恐怕要直通整个USB总线;
  4. 开关机慢:关机需要先关macOS再关Proxmox;
  5. HandOff无法使用:购买的BCM94360 CS2直通进macOS后,可以识别到USB总线中有Bluetooth设备但无法使用蓝牙,暂未解决;
  6. IOMMU组太少:有些主板的IOMMU组很少,甚至PCIe槽与各种总线分在同一组中,先用这里的方法试试,如果无法解决,那就无法进行PCI直通了。我一开始购买的Asus B350 plus显卡就没有单独的分组,后来购买的MSI x370 gaming plus就有很多分组;

五、总结

由于工作繁忙,时间有限,就不做详细教程了,参考上面Nicholas Sherlock的教程即可。此方法技术门槛较高,不适合对linux完全陌生的同学们。但是倘若有琢磨的兴趣,并且英文还可以的话,装好了以后除了一个流畅稳定的macOS,你还会收获到多得多的东西,因为只用Proxmox装个macOS的话,属实是有些浪费了,LVM、防火墙、NAS这些新技术就在眼前,何不一并琢磨一番?

法律风险提醒:在非Apple的硬件上安装macOS系统可能违反其使用协议,本文仅提供技术上的交流与探究,还请读者们自行遵守相关条例。