Apple Silicon M1虚拟机现状

Apple Silicon M1系列芯片,包括M1、M1 Pro、M1 Max、M1 Ultra,采用的都是ARM架构,当前对虚拟机的支持依然不怎么好。

苹果在虚拟化方面有两个框架,对M1芯片和Intel/AMD的具备虚拟化特性的CPU都有支持。一个是low-level的Hypervisor框架,支持macOS 10.10以上的系统;一个是high-level的Virtualization框架,只支持macOS 11.0以后的系统。这两个都是闭源框架,功能也不是完全开放的。从Big Sur 11开始,由于禁用了内核扩展,要开发虚拟机,只能使用Hypervisor或Virtualization框架。

当前时间是2022.3.24,根据本人目前收集到的信息,按虚拟机软件商一个个来说吧。

Parallels Desktop

Parallels是第一个正式支持M1芯片的虚拟机,最早M1发布时,就是拿Parallels做的虚拟化演示。

但是它也只支持ARM版本的操作系统:

  1. Windows 11、10
  2. Ubuntu Linux 21.10, 21.04, 20.10, 20.04
  3. Fedora Workstation 35, 34, 33-1.2
  4. Debian GNU/Linux 11, 10.7
  5. Kali Linux 2021.3, 2021.2, 2021.1
  6. macOS Monterey 12 (通过Parallels下载)

特别说明1:Windows 11/10 通过Windows Insider Preview计划的方式,下载虚拟硬盘启动,可以在其中通过转译运行x86/x64程序(x64只有Win11 ARM版可以,Win10 ARM版不支持)。安装过程参考官方KB Install Windows on a Mac with Apple M1 chip

特别说明2:Parallels虽然支持Monterey,但是问题也很多,比如不支持共享文件夹,不支持快照,不支持动态调整分辨率,USB和摄像头共享也不支持。共享剪贴版倒是可以。安装过程参考官方KB Install macOS Monterey 12 virtual machine on a Mac with Apple M1 chip

另,Parallels一定要用官网上的版本,而不是App Store版本,区别大了去了,详情参见官方KB What is the difference between Parallels Desktop App Store Edition and Standard Edition

VMware

VMware作为一个老牌的虚拟机厂商,在对M1的支持上,显得没那么上心。2021.4发布一篇博客说正在针对M1做开发测试虚拟机软件,预计年底可用,9月份发布了一个技术预览版,但问题颇多。正式版年底有点悬,估计要到明年春天了。

  1. 明确表示不(官方)支持Windows ARM版
  2. 支持Linux系统ARM版
  3. 不支持macOS

技术预览版目前来说免费,在正式版发布之前应该会一直免费。已经正式发布版本的Intel平台的VMware Fusion,对个人用户是免费的,这点倒是比Parallels的订阅付费好太多。

update 2022.3.19

预览版会不定期更新,最新版是 2022.3.10 发布的,修复了若干问题,在测试指导中包含了Windows 11 ARM的安装过程,这么看来正式版也会支持Windows?

UTM

UTM的底层是QEMU,它既是一个虚拟机,也是一个模拟器,既可以在X86下虚拟X86模拟ARM,也可以在ARM下虚拟ARM模拟X86,所以理论上只要可以引导有可用的驱动,所有的操作系统它都支持。

比如:

  1. Windows XP (x64)
  2. Windows 7 (x64)
  3. Windows 10 (x64/ARM64)
  4. Windows 11 (ARM64)
  5. Arch Linux (ARM64)
  6. Debian 10.4 (ARM64)
  7. Ubuntu (x64/ARM64)

此外还有很多就不列出来了,包括一些古董级的操作系统。

UTM之前表示正在进行虚拟化macOS的开发工作,还不能虚拟化Monterey。

事实上在ARM平台下,macOS目前也只有Monterey才能够被虚拟化,就这还是得益于Monterey新版本的新特性,之前的版本包括Big Sur都是不能被虚拟化的。

update 2022.3.24

UTM从3.0.1 Beta版本开始,已经可以虚拟化macOS 12 Monterey,3.0.4版本正式支持,前提是ARM based M1系列芯片 + macOS 12 Monterey主机。

如果你既不想买Parallels,又忍受不了VMware龟速般的开发速度,UTM倒是不错的选择。

附上UTM官网链接 https://mac.getutm.app ,Mac App Store里的版本除了要收68块钱和支持自动更新外,其它跟官网上的版本没有任何区别。

VirtualBox

只做X86平台下的虚拟化,对ARM不感兴趣,直接Pass。

苹果官方

苹果官方出了个教程,如何在Apple Silicon Mac上在虚拟机中运行macOS,链接

https://developer.apple.com/documentation/virtualization/running_macos_in_a_virtual_machine_on_apple_silicon_macs

其它

Github有人在Xcode下建立项目,通过DFU刷机的方式,实现了虚拟化Monterey。

Github上地址:https://github.com/KhaosT/MacVM

具体安装过程可参考此链接:https://mrmacintosh.com/you-can-now-virtualize-macos-on-an-m1-mac-with-macos-monterey

写在最后

针对开发者,有几点建议

  1. 手持Intel Mac者,如果性能尚可且对Windows虚拟机有硬性需求,主力机暂时不要更换M1 Mac。尝鲜测试倒是可以。
  2. 已有M1 Mac者,按目前的开发进度,个人更看好Parallels,当然如果你能接受付费。
  3. UTM(QEMU)可作为补充使用。
  4. 观望VMware。

本文会根据实际进展不定期更新。

Leave a Comment

豫ICP备19001387号-1