当前位置: 华文问答 > 数码

UTM:开源的多面手 macOS 虚拟机(更新到 2024.6.6)

2024-06-14数码

(本文禁止一切转载搬运!)

前言

在曾经的一篇文章中,笔者介绍了支持 arm64 平台的 VMware Fusion 13,这篇文章引起了一部分 Apple 芯片机型的 Mac 用户的关注。

其实,从买到 Apple 芯片的 Mac 起,笔者一直在努力地寻找代替 Parallels Desktop 的虚拟机方案——因为实在对它的收费方案感到不满,于是乎找到了两个替代品:UTM 和 VMware Fusion。

之所以笔者以前并未写 UTM,原因是最初发上面文章的时候,UTM 才刚有一些起色,还不能做到成熟;但用到 3.1.5 版本的时候,逐渐发觉它有了很大的改变——操作逻辑从困难逐渐变得容易,增加了 Apple 芯片上对于 macOS 12+ 的虚拟化支持,稳定性得到了提升,还修复了不少的 bug。

这些改变对笔者而言非常可喜,因此,笔者决定再单独出一篇文章介绍 UTM。

重要提示

本文讨论的不是 UTM 推出的 iOS/iPadOS 版。 如果读者在寻找有关 iOS/iPadOS 上的 UTM 的信息,请注意本文中的部分内容可能并不适合你。

②所有内容以自己的 2021 款 MacBook Pro(14-inch, M1 Pro)演示,内容视情况不定期更新,因此当官方推出新的版本时,本文部分文字会有相应的改动,请持续关注。

③目前 UTM 最新的正式版本是 4.5.3,故接下来基于此做介绍。不同版本之间可能会有一些功能上的差异,但大体上是相同的, 请以最新的版本为准。

④笔者只是一个普通的 UTM 用户,并非 UTM 的开发者,与开发 UTM 的 Turing Software, LLC. 也没有任何利益相关。如需使用指南,可参考官方的帮助文档(英文),若读者是程序员,可以去官方的 GitHub 项目页查找或提交 issue,甚至为此贡献代码。

如果对本文有其他的疑问, 可以点击文末的付费咨询卡片, 我会尽可能帮助并解答你的问题。

UTM 是什么?

UTM 是一个完全免费的 iOS 虚拟机,它基于 QEMU,以 Apache 2.0 许可协议开源。最初 UTM 只适配 iPhone 与 iPad,但在 2020 年 M1 芯片的问世后,顺带为 Mac 提供了支持。

UTM 的 macOS 版可在 macOS 11+ 上运行(最新版支持的 macOS 版本 ≥ 11.3),支持 Apple 芯片和 Intel 双架构,可以在其官网下载它的 .dmg 文件:

同时,它在 App Store 上架了一个无内购且买断的付费版,实际上这个付费版是捐赠版,与官网的免费版功能完全相同,目的是让用户更好地支持开发,并通过 App Store 接收最新的 UTM 更新:

此外在官方 GitHub 项目页的 Releases 部分,可以下载 Beta 版本的 UTM(若从正式版切换到 Beta 版,建议对已有的虚拟机文件做个备份):

由于 UTM 以 QEMU 为基础,这让 UTM 拥有 QEMU 的一切特性,无论是 arm64 还是 x64 处理器的 Mac,都可以既能直接虚拟化与本机架构相同的操作系统,又可以模拟运行其他架构的操作系统,所以 UTM 确实称得上是「多面手」的虚拟机。

准备工作

UTM 可支持的操作系统非常多,数也数不完, 但篇幅有限,本文不可能将所有的操作系统都覆盖到。 为了让读者能够快速上手,下面的内容以 Apple 芯片上安装 Windows 8.1 为例,这一步骤也应当适用于绝大多数版本的 Windows,其他的操作系统安装步骤与此有一定的差别。

首先,读者需要准备好操作系统的安装映像。比如对于 Windows 8.1,可以从 MSDN, 我告诉你 - 做一个安静的工具站 或者 NEXT, ITELLYOU 获取。

创建虚拟机

首次打开 UTM 的时候,可以有两种方式创建虚拟机。

第一种是按照预设方式,前往虚拟机资源库,下载现有的虚拟机模板(UTM 官网提供了一些操作系统的预配置,部分甚至直接预装了操作系统),根据需要下载文件并解压出一个 .utm 扩展名的虚拟机包,然后双击打开。如果日后需要复用该虚拟机,可以右击该虚拟机,选择「克隆」。这种方式虽然便利,但某些虚拟机仍需手动配置后才能使用(可见「常见问题解答」部分的 Q8)。

若无法下载,建议使用第二种方式,即从头开始,通过如下图所示的开始页面,点击「创建一个新虚拟机」,来创建虚拟机(这里我已经创建好几个虚拟机了)。

在新建虚拟机的第一步,UTM 首先会询问用户需要「虚拟化」还是「模拟」。

「虚拟化」采用原生的虚拟化引擎,运行速度更快,但要求操作系统支持的处理器架构与电脑一致;而「模拟」速度较慢,但架构不受限制。

⚠️注意: 这一步的选择直接关系到虚拟机是否正常启动,如果选错,虚拟机会出现异常!

请先了解自己的 Mac 属于何种的机型(不知道的可以点击屏幕左上角的苹果菜单  > 关于本机 查看),然后参照如下的表格选择:

要安装的操作系统架构 Apple 芯片机型的选择 Intel 机型的选择
arm64(或者叫 aarch64,注意不是 arm/arm32) 虚拟化 模拟
x86_64 模拟 虚拟化
i386 模拟 模拟/虚拟化均可(视操作系统而定,可能前者比后者的性能更佳)
既非 arm64 也非 i386、x86_64(例如 PowerPC、RISC 和 MIPS) 模拟 模拟

由于这里的例子是 Windows 8.1/Server 2012 R2,此操作系统与我的 Mac 处理器(Apple M1 Pro)架构不相同,因此选择「模拟」。

接下来选取操作系统,UTM 已经对一些操作系统有了一定的预配置,因此可以无脑选择,当然如果对 QEMU 很熟悉的话,可以选择「其它」来自定义设置。

对于 Windows 8.1 的安装,这里显然选择「Windows」。

然后需要勾掉「安装 Windows 10 或更高版本」,同时勾掉「UEFI 启动」。

接着选择操作系统映像,点击「浏览」按钮,选取下载好的 .iso,完成后,点击「下一步」。

然后设定硬件与 CPU 核心数,CPU 核心数目可留空,内存可设定为 8192 MB(如果你的 Mac 内存没那么大,可以保持在 4 GB,也就是 4096 MB)。

下面设定存储驱动器大小,如果希望在虚拟机里多装一些软件,可以调的更大一些。

提示: 这个数字只决定了虚拟磁盘的占用空间上限,并非虚拟机实际占据的大小(但 macOS 虚拟机除外)。

接下来进入「文件共享」的设置,可以点击「浏览」选取文件夹,设定一个路径,用于虚拟机与实体机的文件交换,这个功能只有部分操作系统支持,对于 Windows,待安装 SPICE 客户机工具后,会在资源管理器中以网络驱动器的形式显示。

我习惯设定这个路径为自己的桌面,当然你可以设定为别的文件夹,然后点击「下一步」。

最后进入「总结」页面,可以设定虚拟机的名称,方便区分多个虚拟机。

当然这里的例子是 Windows 8.1,还需要在运行前再做一些设定,所以应勾选「打开虚拟机设置」(对于 Windows 11 arm64,虚拟机绝大多数的设置是不需要动的,点击「保存」即可直接创建)。

此时 UTM 会创建虚拟机(它会出现在左侧的虚拟机列表里),并弹出虚拟机的设置。

提示: 对于虚拟机的「系统」、「QEMU」、「输入」、「显示」和「声音」设置,笔者对于 Apple 芯片的 Mac 用户整理出来了 Windows 的推荐配置,请参考文末的「常见问题解答」部分的 Q8。

在「基本信息」部分,可以设定虚拟机的名称和备注,修改虚拟机的图标以作区分:

在「系统」部分,可以设定架构与系统,同时也可以设定模拟的 CPU 型号和 CPU 核心数,建议开启「强制多核」以提升虚拟机的运行速度:

接下来是「QEMU」部分,可以设定 QEMU 的行为:

在「输入」部分,设定 USB 兼容性,以及是否与宿主机自动共享 USB 设备:

在「显示」部分,可设定虚拟机的虚拟显卡:

⚠️注意: 不兼容或不完全兼容的虚拟显卡会导致虚拟机显示不正常,甚至使虚拟机无法正常启动!

在「网络」部分,建议将虚拟机网络模式设定为「模拟 VLAN」,MAC 地址会由 UTM 自动生成,如有需要,可以自行修改,或者点击「随机」换一个:

提示: 对于 Windows 10 x64,你可能需要先设置网络模式为「仅主机」来实现无网络连接安装,请参阅「常见问题解答」的 Q10,由于微软 OOBE 的 bug,使得在进入桌面前 OOBE 阶段可能会莫名重启陷入循环,从而进不了桌面。

在「声音」部分,设定虚拟机的模拟声卡:

至于」Arguments(参数)「、」共享「部分直接跳过,如果读者为高级用户,可以视情况自行修改设置。

另外,对于「驱动器」部分, 绝大部分情况下不需要修改, 只有特殊需求下可以修改设置(比如参见「常见问题解答」部分的 Q6)。

在完成设置后,别忘了点击「保存」按钮!

运行虚拟机

点击虚拟机名称旁边的「运行」按钮即可运行虚拟机,此时开始安装操作系统。

⚠️注意: 对于 Windows,若虚拟机设置了 UEFI 启动,首次出现「Press any key to boot from CD or DVD...」时,请在虚拟机内 立即按键盘上的任意键 进入安装界面,读者如果不慎错过的话,请点击工具栏上的「重启」按钮,重新启动虚拟机再试。
但若系统初步完成安装后重启, 则无需再做这一步骤, 等这一画面自动跳过就够了,否则如果再按下任意键,又要从 CD/DVD 启动,陷入回到安装程序的循环!

接下来的安装步骤完全省略,因为这并不属于本文的重点。

提示:若你安装的是 Windows Server,选择「带有 GUI 的服务器」后,安装后才会有图形界面。

在完成安装之后,经过 OOBE(Out-Of-Box Experience,又称系统全新体验、开箱体验、首次使用引导)的设置,即可进入熟悉的桌面。

为虚拟机安装 SPICE 客户机工具(限部分操作系统支持特定功能)

和 Parallels Desktop 的 Parallels Tools、VMware 的 VMware Tools、VirtualBox 的 VirtualBox 客户机增强功能一样,UTM 也有相应的 SPICE 客户机工具(SPICE Guest Tools,来自于开源的项目 SPICE,旨在为 QEMU 提供开源的虚拟机驱动方案),它包含一套完整的虚拟机驱动程序,可以更好地提升虚拟机的体验,并实现剪贴板与文件夹共享。

SPICE 客户机工具目前支持的操作系统有 Windows 和 Linux,后者在帮助文档中有说明。

对于前者,SPICE 客户机工具支持 XP 及以后的所有 Windows 版本,但只有 Windows 7 及以上才能实现文件共享、根据窗口自适应调整分辨率,Windows 11 arm64 还支持剪贴板共享。

对于 Windows,UTM 提供了一套比较便捷安装的方式。如果此前事先勾选了「安装驱动和 SPICE 工具」,那么桌面上会自动弹出 SPICE 客户机工具的安装程序窗口。如果没有,可以点击工具栏上的光驱图标按钮,选择「安装 Windows 客户机工具...」。

若电脑上无 SPICE 客户机工具,则 UTM 会自动下载它的 .iso 映像,下载后 UTM 将尝试挂载。注意应确保所有虚拟机的光驱内没有加载任何映像,否则会弹出提示,要求预留空光驱(解决方法是点击工具栏上的光驱图标按钮,选择「CD / DVD(ISO)映像」 > 「弹出」,弹出所有虚拟光盘),然后从虚拟机的 CD 驱动器运行 SPICE 客户机工具安装程序。

在打开 SPICE 客户机工具的安装程序时,请点击「Next >」按钮下一步。

接下来点击「I Agree」同意用户许可协议。

然后就开始安装 SPICE 客户机工具,请耐心等待安装完成。

若出现了下图所示的驱动安装警告,其原因是 SPICE 客户机工具的驱动程序的数字签名不被 Windows 完全信任,需要勾选「始终信任来自 'Red Hat, Inc.' 的软件」,再点击「安装」。

(对于 Windows 7 及以前版本,你可能需要多次点击「始终安装此驱动程序软件」或「仍然安装」)

最后是安装完成的界面,请点击「Finish」按钮。

⚠️注意: 对于 Windows 11 arm64,请务必选择「Reboot now」并点击「Finish」按钮,重启 Windows 以使安装的 SPICE 客户机工具生效。

在虚拟机重启后,之前设置的共享文件夹可以在资源管理器里查看,甚至 USB 的使用也正常。

最后放一张全屏使用虚拟机的效果图:

常见问题解答(FAQ)

Q1:使用 UTM 虚拟机时,我应该注意目前有哪些功能限制?

A:UTM 是独立开发者 osy 开发的应用。根据官方叙述和笔者使用的情况,可以整理出如下的客观限制,这其中的一部分可能会在以后的版本中得到解决:

  • 不支持快照存储功能(但允许用户克隆虚拟机)
  • Apple 芯片的 Mac 下无摄像头和虚拟蓝牙设备支持
  • Windows 下无类似 Parallels Desktop 或 VMware Workstation 的融合模式/Unity 模式功能,Windows 与 Linux 无法拖放文件和数据,SPICE 客户机工具仅支持剪贴板和单个文件夹的共享,且支持的版本为 Windows 7 及以后
  • 部分版本的 Windows 支持有限的 GPU 加速,Linux 则提供实验性的 OpenGL 加速支持,虚拟显卡驱动有待完善,WDDM 驱动不支持 Windows Vista 和 Windows 7(因此对于 Windows Vista 和 Windows 7 无法正常显示 Aero 特效),部分游戏在 Windows 下可能无法正常运行
  • 只能在 Apple 芯片的 Mac 下以虚拟化形式运行 macOS,且版本为 Monterey 及以后(以往版本的 macOS 及 Mac OS X 不支持运行,不过 UTM 倒是可以模拟苹果更古早的 classic Mac OS)
  • macOS 虚拟机尚不支持 USB,不能共享剪贴板和文件,也无法动态调整分辨率,在与 Mac 共享网络连接时尚无「模拟 VLAN」选项
  • 由于苹果对虚拟化框架的限制,macOS 虚拟机无法全局登录 Apple ID 及相关服务(本问题会在 macOS Sequoia 中得到解决,但前提是虚拟机与 Mac 都需要安装 macOS Sequoia)
  • 对于 Apple 芯片的 Mac,只能在 macOS Ventura 及更高版本中使用「带有 Rosetta 的 Linux」功能
  • Q2:为何通过 UTM 安装 arm64 版的 Windows 10 会出现蓝屏?

    A:这可能是因为安装了正式版的 Windows 10 arm64,但开启了虚拟化。

    微软只在版本号大于等于 21390 的 Insider 版 Windows 10 arm64 上加入了对虚拟机的 arm64 虚拟化引擎支持, 这意味着对于 QEMU/UTM 而言,要想运行正式版的 Windows 10 arm64,只能 关闭虚拟化引擎 (然而这样做,通过模拟运行的 Windows 10 arm64 会卡到死)!

    相反,21390 及以后的 Insider 版 Windows 10 arm64 则完全不需要关闭虚拟化引擎,运行速度更快,但读者需注意,此版的 Windows 10 已过期很久,不再受微软支持(这也导致 Insider 版本身也有很多 bug,比如不能安装语言包等可选组件,Windows Defender 无法工作)。

    因此,如非必要,笔者更建议读者切换到 Windows 11。

    Q3:如何查看虚拟机所在的目录?

    A:在虚拟机列表右击选择」在访达中显示「,即可看到虚拟机存放的目录。

    更进一步可知,虚拟机存放在如下的路径:

    ~/Library/Containers/com.utmapp.UTM/Data/Documents/

    Q4:在 Windows 虚拟机中,与共享文件夹之间复制文件时出现「错误 0x80070021:另一个程序已锁定文件的一部分,进程无法访问」的错误提示(类似下图)而无法复制,如何解决该问题?

    A:因为共享文件夹是通过 WebDAV 的网络驱动器实现的。然而,微软出于对 WebDAV 服务的安全考虑,早在 Windows XP Service Pack 2 就对 Windows 做了一定的限制,若文件超出一定大小,则不予执行复制或移动操作,以防止未经授权的服务器对于客户端计算机进行大流量的攻击。

    当然,我们可以通过修改注册表来适当提高这个限制。

    首先打开注册表编辑器,通过左侧的树形图或直接通过地址栏输入,定位到如下路径:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters

    然后在右侧双击 FileSizeLimitInBytes 项,将其键值改为 ffffffff (基数为十六进制) 。

    重新启动计算机使改变生效,再复制就可以了。

    注意:Windows 注册表有自己的局限性,上述键值不允许大于十六进制的 FFFFFFFF (转换为十进制数是 4294967295),这意味着在虚拟机与共享文件夹之间,移动或复制文件最高的限制约为 4.29 GB。

    对于大多数情况下的文件移动和复制,这个大小是足够的,但对于超出 4.29 GB 的文件,目前 UTM 还未突破,读者可以考虑如下几个解决方案,具体不做展开:

  • 通过优盘在宿主机与虚拟机之间转移,对于文件夹可以拆分文件夹移动
  • 将文件压缩为分卷
  • 在 Windows 设定共享文件夹,通过 SMB 服务共享将 Windows 共享文件到 macOS
  • 使用远程桌面软件(对于 Windows 可使用 Microsoft Remote Desktop)
  • 使用 WinSCP 或 PuTTY
  • 借助第三方即时通讯软件或网络存储服务(网盘)
  • Q5:为何通过 UTM 下载 Windows 版 SPICE 客户机工具很慢(甚至失败)?

    A:请确保能顺畅访问 GitHub,因为 UTM 下载 SPICE 客户机工具是通过 GitHub 来拉取资源的。

    若无法自动下载 SPICE 客户机工具,也可以通过官方文档手动下载 .iso 文件:

    或者从下面下载(此分享链接会随着官方更新):

    Q6:我安装了 SPICE 客户机工具,为何无法正常使用文件共享?

    A:SPICE 客户机工具 只支持 Windows 7 及以后的文件共享, 因此 Vista 及以前版本的 Windows 是无法使用该功能的。正常情况下,若使用的版本为 Windows 7 及以后,在最新的 UTM 上,(重新)安装 SPICE 客户机工具后即可直接使用文件共享。

    若你使用了旧版的 SPICE 客户机工具甚至 UTM,可按如下方式操作——

    1. 首先需要确保启用了「网络发现和文件共享」(在 Windows 资源管理器的「网络」中,如果没有打开,会出现一个信息条,请点击它并选择「启用网络发现和文件共享」)。

    2. 对于 Windows 7,请通过更新 VirtIO 驱动的方式实现 SPICE WebDAV 的正常工作:

    ①通过如下的链接,下载 QEMU 和 KVM 的 VirtIO 驱动的 .iso 文件 virtio-win.iso (由 RedHat 的 Fedora 团队开发):

    ②下载完成后,运行「设备管理器」(或者「计算机管理」下的「设备管理器」),此时可以看到「VirtIO RNG Device」和「VirtIO Serial Driver」均为不正常工作的状态(图标有黄色的感叹号标志)。

    点击工具栏上的光驱图标按钮,选择「CD / DVD(ISO)映像」 > 更改,将下载好的 virtio-win.iso 装入虚拟机的光驱。

    ③接下来为「VirtIO RNG Device」和「VirtIO Serial Driver」两个设备更新驱动程序。

    右击「VirtIO RNG Device」,选择「更新驱动程序软件」:

    然后选择「浏览计算机以查找驱动程序软件」:

    接下来将要扫描的驱动程序目录定位到 CD 驱动器,然后单击「下一步」:

    此时 Windows 会自动扫描到驱动程序,并且会提示是否安装此软件,弹出该窗口的原因在前文已有解释。

    请勾选「始终信任来自‘Red Hat, Inc.’的软件」,然后点击安装:

    安装成功后,请根据 Windows 的提示重启计算机,然后用同样的方法对「VirtIO Serial Driver」进行更新,在更新完毕后,请弹出光盘。

    ④最后重启一下虚拟机,待系统进入桌面一段时间后,打开资源管理器,就可以看到共享文件夹以网络驱动器的形式出现在资源管理器内了。

    提示: 上述方法也适用于大多数版本 Windows 中需要补上缺少驱动的情况。

    3. 对于 Windows 8 及以后版本,请打开资源管理器,转到如下路径:

    "C:\Program Files\SPICE webdavd"

    右击批处理文件 map-drive.cmd ,选择「以管理员身份运行」:

    在执行完毕后,即可在资源管理器内看到恢复的共享文件夹(必要时请重启 Windows)。

    若此方法不起作用,请重新安装 SPICE 客户机工具。

    Q7:如何关闭 macOS 菜单栏的 UTM 图标?可以在 UTM 中设置反转鼠标的滚动方向吗?

    A:执行菜单命令 UTM > 设置…,在「应用程序」下取消勾选「显示菜单栏图标」,即可关闭 macOS 菜单栏的 UTM 图标。

    同样,在设置窗口的「输入」下勾选「反转滚动」,即可全局设置反转鼠标的滚动方向。

    但是,macOS 虚拟机是个例外,不受此设置的约束。 请在系统(偏好)设置内单独设置鼠标,关闭「自然滚动」这一功能。

    以图中的 macOS 为例
    ⚠️注意: 如果你没有在 macOS 的系统(偏好)设置里看到「鼠标」的设置,需要关闭虚拟机,在虚拟机设置的「虚拟化」里修改「鼠标指针」为「通用鼠标」(旧版本 UTM 则是不勾选「使用触控板」)。

    完成此设置后,重新开启虚拟机即可生效。

    此外需要说明:若将「键盘」和「鼠标指针」设为「已禁用」,可能会引起键盘和鼠标失效。

    特别地,对于 macOS Monterey,若不慎设置 Pointer 选项为「Mac 触控板 (macOS 14+)」,在首次使用 macOS 虚拟机时,虚拟机可能会如下图所示,卡在鼠标和键盘的检测环节!

    Q8:我下载了一个 .qcow2 磁盘映像,怎么在 UTM 上使用它呢?

    A:由于 UTM 是在 QEMU 的基础上开发的,因此 .qcow2 映像也可以在 UTM 上使用,前提是读者必须对该 .qcow2 映像内含的操作系统有所了解。

    在创建虚拟机的步骤中,可以先在操作系统中选择「其他」,创建好虚拟机后,再编辑虚拟机的设置,找到「驱动器」下方的「新建…」,此时会弹出一个浮动的窗口,然后选择「导入」来导入 .qcow2 映像,最后把原先创建的磁盘删除。

    此方法也可以添加驱动器,比如添加硬盘的话,可以直接设置大小:

    若是添加一个光驱,可以勾选「可移除」:

    ⚠️注意: 无论添加的是何种类型的驱动器,「接口」与「可移除」选项不能选错,更不能搞混, 否则驱动器不会正常工作!

    Q9:在 Apple 芯片的 Mac,如何让 macOS 虚拟机的字体显示不那么「糊」?

    A:由于 Apple 虚拟化引擎的特殊性,macOS 虚拟机不需要设置虚拟显卡,但可以编辑虚拟机设置的「显示」部分,将分辨率适合自己 Mac 全屏的大小,并勾选「HiDPI (Retina)」,使得显示效果更佳。

    Q10:我对 UTM 的默认处理器配置不够满意,有什么办法可以提升虚拟机的运行速度?

    A:UTM 的模拟不可能接近原生的运行速度,但也有一些办法来让虚拟机的运行速度更快一些,比如可以在虚拟机的设置中提升虚拟机的内存,勾选「强制多核」来提高模拟速度。

    笔者独立摸索了一些 Apple 芯片 Mac 上 Windows 系列操作系统的推荐配置,将其整理在下表。若安装的是 Server 版 Windows,则其配置与同内核的消费者版 Windows 的配置相同。

    ⚠️注意: 这些配置 仅作参考用途, 不属于 UTM 官方认可的配置,也不应过分依赖。

    若读者所用的 Mac 为 Intel 机型,可参阅 QEMU 的官方文档(英文):

    操作系统名称 架构 系统 CPU 名称 CPU 核心数 内存大小(MB) UEFI 启动 Ballon 设备
    Windows XP x86_64 Standard PC (i440Fx + PIX, 1996) (alias of pc-i4 40fx-7.2) (pc) Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (core2duo-v1) 默认(留空) 2048
    Windows Vista (x86) x86_64 Standard PC (i440Fx + PIX, 1996) (alias of pc-i4 40fx-7.2) (pc) QEMU Virtual CPU version 2.5+ (qemu32-v1) 2 4096
    Windows Vista (x64) x86_64 Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2) (935) QEMU Virtual CPU version 2.5+ (qemu64-v1) 2 4096
    Windows 7 至 Windows 8.1 (x86) x86_64 Standard PC (i440Fx + PIX, 1996) (alias of pc-i4 40fx-7.2) (pc) QEMU Virtual CPU version 2.5+ (qemu32-v1) 4 4096 ✔ (Windows 7 除外,因为该设备驱动不兼容)
    Windows 7 至 Windows 8.1 (x64) x86_64 Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2) (935) Intel Core Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, no TSX] (Skylake-Client-v4) 或者 Intel Xeon Processor (Icelake) [5-level EPT] (Icelake-Server-v6) 4 8192 ✔ (Windows 7 除外,因为该设备驱动不兼容)
    Windows 10 1507-1809 (x64) x86_64 Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2) (935) AMD EPYC Processor (EPYC-v3) 4 8192
    Windows 10 1903+ (x64) x86_64 Standard PC (Q35 + ICH9, 2009) (alias of pc-q35-7.2) (935) 默认 4 8192
    Windows 10/11 (arm64) ARM64 (aarch64) QEMU 8.0 ARM Virtual Machine (alias of virt-8.0) (virt) max 4 8192

    (续表)

    操作系统名称 TPM 2.0 设备 PS/2 控制器 USB 版本 虚拟显卡 虚拟声卡
    Windows XP 2.0 vmware-svga Intel 82801AA AC97 Audio (AC97)
    Windows Vista (x86) 2.0 vmware-svga usb-audio
    Windows Vista (x64) 2.0 vmware-svga usb-audio
    Windows 7 至 Windows 8.1 (x86) 3.0 (XHCI)(Windows 7 可选 2.0) vmware-svga Intel HD Audio Controller (ich6) (intel-hda)
    Windows 7 至 Windows 8.1 (x64) 3.0 (XHCI)(Windows 7 可选 2.0) virtio-vga-gI (GPU Supported) Intel HD Audio Controller (ich6) (intel-hda)
    Windows 10 1507-1809 (x64) 3.0 (XHCI) vmware-svga Intel HD Audio Controller (ich9) (ich9-intel-da)
    Windows 10 1903+ (x64) 3.0 (XHCI) virtio-vga-gI (GPU Supported) 或 vmware-svga Intel HD Audio Controller (ich9) (ich9-intel-da)
    Windows 10/11 (arm64) 3.0 (XHCI) virtio-ramfb-gl (GPU Supported) Intel HD Audio Controller (ich9) (ich9-intel-da)

    补充:

    1. 若 Mac 的内存不大于 8 GB,请调整为 4 GB(4096 MB)。
    2. 除此之外,均应并将本地时间用作基准时钟,Windows 7 及以上均应开启 RNG 设备,只有 x86_64 架构下才应(且推荐)开启强制多核,ARM64 (aarch64) 则不需要强制多核,但必须勾选「使用虚拟化」。
    3. Windows 10 arm64 只能安装版本号大于等于 21390 的 Insider 版本(具体原因在「常见问题解答」的 Q2 已有解释)。
    4. 不建议读者尝试 Windows 10 x86(因为虚拟机启动后,显示要么卡住要么出现花屏)。
    5. 笔者尚不能通过原版映像成功安装并使用 Windows 11 x64,尽管用民间修改/精简的版本可以安装成功,但实际体验很差,故此对应的虚拟机配置不在此列出。
    6. 假如读者知道有比上述表格更好的配置,请记得留言告诉我。

    受限于篇幅,其他的操作系统在此不做列举,请自行尝试。

    不过需要注意, 强制多核并不适用于与 Mac 本机处理器相同架构的操作系统, 另外,某些操作系统限定了运行配置,或者某些模拟的硬件存在一定的内存和 CPU 核心数限制,若设置不当,虚拟机反而不能正常运行。

    因此,除上面已经列举的 Windows 版本外, 在对操作系统不熟悉的情况下,这部分不应当擅自修改。

    Q11:为何有些操作系统不能识别键盘/鼠标?

    A:请确保鼠标在虚拟机内,对于某些操作系统,需要设置虚拟机的输入设备为「强制使用 PS/2 控制器」才能使用,甚至要禁用 USB(比如 Windows 95/98),若在设置后依然出问题,则属于无解的情况了。

    Q12:如何关闭虚拟机的网络连接?

    A:UTM 虚拟机不能彻底删除/停用网络设备,也不能在虚拟机运行时关闭网络,但可以让虚拟机关机,接着编辑虚拟机的设置,选择「网络」,在「网络模式」下,选择「仅主机」,这样再次开启虚拟机后,即达到虚拟机不能联网的效果。

    如需恢复网络, 用同样的方法换回原先的设置即可。

    Q13:为何在安装 Windows 10 的时候,提示「Windows 找不到 Microsoft 软件许可条款。请确保安装源有效,然后重新启动安装」?

    A:这种情况只会出现在定制(如被第三方魔改过)的 Windows 安装映像,标准的 Windows 安装映像不存在此问题。

    SPICE 客户机工具内含可被 Windows 安装程序识别的无人值守应答文件 Autounattend.xml ,作用是 Windows 安装成功后自动打开 SPICE 客户机工具的安装程序,但如果 Windows 映像「不够官方」,包含的 Windows 版本并非与 Autounattend.xml 指定的一致,就会出现此问题。

    如果遇到此问题,解决方法是将 SPICE 客户机工具的映像从虚拟机的光驱中弹出,重启虚拟机以正常进入 Windows 安装程序,待安装好 Windows 后,再通过手动方式安装 SPICE 客户机工具。

    总结

    UTM 是一个根植于开源项目 QEMU 的虚拟机,以前一直支持 iOS 与 iPadOS,自苹果在 2020 年的 WWDC 宣布 macOS 的软件生态由 x64 向 arm64 转型起,它也顺带适配了 macOS,特别是 Apple 芯片的 Mac。

    UTM 致力于给复杂的 QEMU 「做减法」,在为用户提供 QEMU 的灵活性的同时,让界面风格不断接近系统的自带应用,操作更加简便,因此,对 QEMU 比较熟悉的用户,使用 UTM 不会感到困难;对于初次使用 UTM 的用户而言,也可以通过 UTM 来深入学习 QEMU 的使用。

    作为虚拟机,UTM 可以虚拟化 macOS(限 Apple 芯片)与 Linux,甚至一些过时的系统也同样可以模拟运行。由于支持模拟的 CPU 种类多样,因此对于古董系统爱好者和需要 QEMU 开发的开发者来说,也是一个非常有益的补充。

    与其他虚拟机应用相比,UTM 有一个独特的「一次性模式(Disposable Mode)」功能,右击已经创建好的虚拟机,选择「运行而不保存更改」,即可让虚拟机在「一次性模式」下运行。在此模式下,所有对虚拟机的更改在关机后不会保存,这可以让用户临时测试软件,而不会将更改应用到虚拟机。

    就 Apple 芯片而言,虽说 UTM 跨架构的模拟表现对于部分操作系统尚可,主流的 x86_64 上还有很长的路要走,但它在 macOS 的适配进度上早已甩开了同样开源的 Oracle VirtualBox,足以让笔者咋舌。

    希望 UTM 能够不断彰显开源软件的优势所在,在 Mac 和 Apple 芯片向未来发展的道路上注入新的活力。

    感谢阅读~