之前一直用博客,然鹅现在用RSS的伙伴越来越少了,公众号这种主动推送机制对读者和作者都很好用,所以欢迎大家关注我的微信公众号:IT漫步。主要分享自己折腾的各类技术和一些观点。扫码关注:
一、传统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跑分:
三、虚拟化之路
为了性能考虑,首先我把目光放在了硬件虚拟化上:
- VMware vSphere / ESXi:无法仿冒CPU,仍需修改内核;
- Hyper-V:无法随意进行GPU Passthrough;
- RHEV:收费;
- Xen
- 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较为熟悉才行。
四、可能存在的问题
- 虚拟化软件无法运行:VMware Fusion、Parellels Desktop、Docker for Mac等均无法运行。但是我们直接用Proxmox来运行和管理虚拟机与容器显然更好,所以无妨:)
- 百度网盘无法运行:Mac版百度网盘会监控当前是否在虚拟机中,目前我在另一个Windows虚拟机中运行百度网盘;
- USB数量限制在5个,如需更多USB设备,恐怕要直通整个USB总线;
- 开关机慢:关机需要先关macOS再关Proxmox;
- HandOff无法使用:购买的BCM94360 CS2直通进macOS后,可以识别到USB总线中有Bluetooth设备但无法使用蓝牙,暂未解决;
- IOMMU组太少:有些主板的IOMMU组很少,甚至PCIe槽与各种总线分在同一组中,先用这里的方法试试,如果无法解决,那就无法进行PCI直通了。我一开始购买的Asus B350 plus显卡就没有单独的分组,后来购买的MSI x370 gaming plus就有很多分组;
五、总结
由于工作繁忙,时间有限,就不做详细教程了,参考上面Nicholas Sherlock的教程即可。此方法技术门槛较高,不适合对linux完全陌生的同学们。但是倘若有琢磨的兴趣,并且英文还可以的话,装好了以后除了一个流畅稳定的macOS,你还会收获到多得多的东西,因为只用Proxmox装个macOS的话,属实是有些浪费了,LVM、防火墙、NAS这些新技术就在眼前,何不一并琢磨一番?
法律风险提醒:在非Apple的硬件上安装macOS系统可能违反其使用协议,本文仅提供技术上的交流与探究,还请读者们自行遵守相关条例。