- 积分
- 173
- 最后登录
- 2022-8-22
- 精华
- 0
- 阅读权限
- 20
- 主题
- 14
- UID
- 4699402
- 帖子
- 373
- PB币
- 376
- 威望
- 4
- 贡献
- 0
- 技术
- 0
- 活跃
- 472
- UID
- 4699402
- 帖子
- 373
- PB币
- 376
- 贡献
- 0
- 技术
- 0
- 活跃
- 472
|
本帖最后由 cheneyveron 于 2019-4-24 23:40 编辑
前言:(可跳过)
一直以来,主流AMD黑苹果的方案都是修改macOS/OS X的内核以使用AMD的处理器。但是这会导致一些无法克服的困难:
1. 不可能变频
2. 不可能通过苹果的iMessage与FaceTime验证
3. 不可能通过App Store在线升级系统
4. 专业软件无法运行
甚至安全更新也无法直接安装。
也正因此,折腾AMD黑苹果也是非常劳神费心的,主要功夫都花在与这破解内核和大量不兼容的软件斗智斗勇上。一次偶然的机会,我发现了KVM这个神器,因此就有了第二个选择:虚拟化CPU以适应macOS。
实践证明,把CPU模拟成Penryn后运行macOS完全没有以上的缺点:
1. 可以变频
2. 可使用iMessage与FaceTime
3. 可用App Store在线升级
4. PhotoShop等Adobe软件无须修改 均可完美运行
各位AMD黑苹果童鞋们,与其把时间花在折腾内核上面,不如把时间花在Qemu+KVM,只要配置好了外层虚拟化环境,在其中即可完美运行macOS了!归根结底,还是Intel的处理器相比于AMD过于昂贵。如今AMD的性价比甚至大大超过了X79洋垃圾,尤其是一代Ryzen,真香。
(前言结束)
我的配置是:
主板:Asrock x370 Taichi
CPU:Ryzen 7 1700x @ 3.8GHz
散热器:千石船
显卡:Onda GTX1050Ti(分配给Windows 打游戏) + 蓝宝石 RX570 4G(分配给macOS)
内存:科赋雷霆3000 16G @ 2933MHz+海盗船复仇者3000 16G @ 2933MHz
硬盘:西数蓝盘SSD 500G
性能测试(GeekBench):
Windows下裸机跑分:https://browser.geekbench.com/v4/cpu/12893803
单核:4503 多核:26849
macOS下跑分:https://browser.geekbench.com/v4/cpu/12893704
单核:4413 多核:27114
这两个跑分时CPU的频率是一样的,并且macOS虚拟机只分配了8GB内存。可以看到,Windows下虽然单核分数领先了2%,多核下反而被macOS反超1%。
系统:unRAID 6.6.6(baidu云有破解)
推荐的硬件:
如果到这里激发出了你的兴趣,那么这是我的一点建议:
1. 主板使用x370/x470系列,而非b350/b450系列。入门级x370与高级x370的iommu组数量几乎一致,而b350系列iommu组极少,硬件直通很困难。这里入门级x370我测试了MSI x370 Gaming Plus,高级x370测试了Asrock x370 Taichi。B350我试的经典的Asus B350-plus。
2. 宿主系统需要预留1.5G左右的内存,因此内存建议大于4G。
3. 为了最佳的Mac体验——使用HandOff与其他Mac/iPhone/iPad无缝对接——建议购买一张BCM94360系列的蓝牙网卡。
推荐的软件与教程(英文,需科学上网):
选择0:自行在Ubuntu上搭建Qemu+KVM(免费,极其折腾,不推荐):https://github.com/kholia/OSX-KVM
选择1:Proxmox(免费,较为折腾,推荐):https://www.nicksherlock.com/201 ... -mojave-on-proxmox/
选择2:unRAID(收费,轻松得多,能找到6.6.6版本破解,推荐):https://www.youtube.com/watch?v=YWT4oOz2VK8
可能遇到的坑与解法:
由于硬件虚拟化涉及的内容与可能遇到的问题众多,无法一一列举,我就简单说一下我遇到的问题,供各位有兴趣的童鞋参考。
1. 硬件直通的问题
1) 在同一个iommu组下的硬件必须同时全部直通 或 全不直通,不能只直通某一个硬件。
2) 在grub引导项中,添加pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1能尝试软件分割iommu组,如果这样都无法把想直通给虚拟机的硬件分到单独的iommu组,那就没戏了。
3) Qemu的USB接口只支持5个,可以考虑直通某个USB总线给虚拟机,不受接口数量限制,并且性能更好。
2. GPU硬件直通的问题:
1) N卡用UEFI模式时只有HDMI口有输出
2) A卡用UEFI模式时只有DP口有输出
3) 如果宿主系统在UEFI模式下启动,则需要手动禁用efifb模块
4) 如果需要直通当前启动时使用的GPU,会有Shadow vbios的问题,用GPU-Z或任何工具提取的vbios都会受干扰,只能将显卡放到第二个pci槽后,用其他显卡放在第一个槽后,启动某个linux系统使用以下命令来提取vbios:
echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
cat /sys/devices/pci0000:00/0000:00:02.0/rom > vbios.dump
echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom
然后禁用efifb模块,并且直通时指定ROM为vbios文件,即可正常输出post信息。
5) 如果使用了上面软件分割iommu组的方法,建议手动将显卡与其HDMI设备的pci通道调整为虚拟机上的同一个通道,以避免HDMI无声音的问题
3. Clover的问题:
不能使用高于4843的版本,否则无法在KVM上使用OVMF固件启动。
|
-
1
查看全部评分
-
|