拓冰建站拓冰建站
首页 / 资讯中心 / 正文

UTM 虚拟机完全指南:Apple Silicon 上跑 Windows/Linux 的开源多面手

UTM 这个名字在 macOS 虚拟机圈子里越来越常见了。如果你手头是一台 Apple Silicon 芯片的 Mac想免费跑个 Windows、Linux或者旧版 macOS 做测试UTM 几乎是绕不开的选择。它本质上是一个开源虚拟机前端底层靠 QEMU 提供模拟能力同时接入了 Apple 自家的 Virtualization.framework所以在 M 系列芯片上既能用原生虚拟化也能做跨架构模拟。标题里写的“多面手”三个字我认为很准确它确实解决了 Mac 上虚拟机选择少、收费贵、折腾门槛高这几个老大难问题。这篇文章我结合自己实际折腾的经历把 UTM 的核心原理、选型逻辑、安装流程、性能调优和排错心得一次讲透。1. UTM 是什么凭什么成为 macOS 最实用的开源虚拟机1.1 技术底座QEMU 内核与 Apple 原生虚拟化框架很多朋友第一次打开 UTM会看到新建虚拟机时有“模拟”和“虚拟化”两个明显不同的入口。这两个选项背后就是 UTM 的两套技术路线理解了这个后面所有配置就都不难了。先说“虚拟化”。在 Apple Silicon 芯片的 Mac 上UTM 会调用苹果官方的 Virtualization.framework。这个框架是 macOS 系统级的能力允许虚拟机直接利用 CPU 的硬件虚拟化扩展让虚拟机里的系统几乎以原生速度运行。也就是说当你在 M 系列 Mac 上跑一个 ARM64 版本的 Linux 或 Windows 11指令不需要经过翻译CPU 直接执行性能和跑在真机上非常接近。这也是 UTM 在 Apple Silicon 时代被频繁推荐的根本原因它吃到了苹果原生虚拟化框架的红利。再说“模拟”。模拟模式走的是 QEMU 的路子QEMU 相当于一个“指令翻译官”它会把一套 CPU 架构的指令实时翻译成另一套 CPU 架构能执行的指令。比如你在 M 系列 Mac 上跑 x86_64 版的 WindowsQEMU 会逐条把 x86 指令翻译成 ARM 指令再执行这个过程叫动态二进制翻译开销很大性能自然要打个折扣。但它的价值在于“什么都能跑”只要 QEMU 支持的系统架构理论上 UTM 都能帮你模拟出来包括老旧的 x86 Mac 系统、各种非 ARM 的 Linux 发行版甚至一些嵌入式系统。我经常用一个类比来解释这两个模式虚拟化是请了个母语翻译在旁边交流效率极高模拟是拿一本词典边查边翻译能沟通但速度慢、费精力。UTM 把这两种能力整合进一个图形界面里这就是它“多面手”的根基。1.2 和 Parallels、VMware、VirtualBox 横向对比用了这么多年虚拟机各种产品我都试过。简单说说为什么最终留在 UTM 上也给正在纠结选型的朋友一个参考。虚拟机工具是否免费开源Apple Silicon 支持易用程度适合人群UTM免费开源Apache 2.0原生支持虚拟化模拟双模式中等配置项很多但默认值合理开发者、折腾党、预算有限的用户Parallels Desktop商业付费原生支持性能优化极好很高开箱即用追求极致体验、愿意付费的用户VMware Fusion个人版免费商业付费新版支持但免费版功能受限较高习惯 VMware 生态的企业用户VirtualBox免费开源Apple Silicon 上至今没有正式稳定版中等Intel Mac 用户或跨平台使用习惯Parallels 我承认它体验确实好尤其和 macOS 的桌面集成、文件互通做得非常顺但年度订阅价格不便宜。VMware Fusion 个人版虽然免费了但很多高级功能被收到付费版里而且它对 Apple Silicon 的适配力度明显不如 Parallels 和 UTM。VirtualBox 在 Intel 时代是神但在 M 系列芯片上一直没拿出让人满意的解决方案。UTM 的定位很巧妙它不说自己要取代谁而是把“免费开源”和“架构全吃”这两点做到位了。网上有些评测说 UTM 比 Parallels 慢这个我不否认特别是在图形性能上差距明显。但对于跑开发环境、测试服务器、学习 LinuxUTM 的性能完全够用。更关键的是它给了你完全没有掏钱的自由。2. 虚拟化还是模拟先想清楚你要跑什么2.1 虚拟化模式只给 ARM 生态用虚拟化模式在 Apple Silicon Mac 上只能安装 ARM64 架构的系统。这不是 UTM 的限制而是 Apple Virtualization.framework 的限制它只支持虚拟化 ARM64 客户机。很多朋友第一次用 UTM拿着 x86_64 的 Windows ISO 直接选了“虚拟化”结果启动黑屏或者直接报错就是这个原因。虚拟化模式适合跑三类系统。第一类是 ARM64 版 Linux比如 Ubuntu Server ARM、Fedora ARM、Debian ARM 等。我日常会在虚拟化模式里跑几个 Ubuntu 容器做开发测试编译速度非常接近裸机简直可以用“丝滑”来形容。第二类是 Windows 11 on ARM。微软官方提供 ARM 版 Windows 11 镜像在 UTM 里用虚拟化模式安装日常办公、跑一些 ARM 原生软件问题不大。不过 Windows 11 要求在较新的 UTM 版本里才能顺利安装具体原因后面排错部分会讲。第三类是旧版 macOS 的 ARM 版本比如 macOS 12 Monterey 的 ARM 恢复镜像在 UTM 里可以跑出来做界面测试。有一点要提醒虚拟化模式里你选完系统UTM 会自动帮你勾选“使用 Apple Virtualization 框架”此时如果强制加载一个 x86_64 的 ISO后果就是虚拟机起不来。所以新建虚拟机的第一道选择题先想清楚你手里镜像的架构是 ARM64 就选虚拟化是 x86_64 就老老实实去选“模拟”。2.2 模拟模式跨架构运行的“翻译官”模拟模式算是 UTM 的兜底能力。无论你是 Intel Mac 还是 Apple Silicon Mac只要 QEMU 支持的架构你都能模拟出来。举几个实际场景一是在 Apple Silicon Mac 上安装 x86_64 版的 Windows 10/11。很多人想跑一些只有 x86 版才能用的老软件或者国内某些网银插件、企业办公系统非得 x86 环境不可。这种情况下UTM 模拟模式就是唯一免费选择。二是运行旧版 macOS。比如想在 M 系列上复现 macOS Catalina、Mojave 的界面或测试老软件兼容性用模拟模式装 x86_64 的 macOS 镜像可以做到。三是折腾各类冷门系统FreeBSD、OpenBSD、Haiku OS、ReactOS甚至 DOS 都能在 UTM 里跑起来对系统爱好者来说这是个游乐园。模拟模式的代价就是性能。以我的 M1 MacBook Air 为例模拟 x86_64 的 Windows 11开机大约需要一到两分钟进入系统后打开设置面板都会有明显的迟滞感。如果是 CPU 密集型任务比如安装大型软件或跑编译器基本可以放弃。但拿来做一些轻量办公、跑个旧软件、测试某个软件的行为还是能用的。心态放平把它当作“备用应急环境”而不是“主力系统”体验就合理很多。2.3 一句话选型指南我总结了一个非常简单的判断逻辑分享给新手朋友镜像架构是 ARM64且你用的是 Apple Silicon Mac优先选虚拟化追求原生性能。镜像是 x86_64或者你想跑的软件必须跑在 x86 环境里选模拟并且做好性能打折的心理准备。不确定自己镜像是什么架构打开系统信息里的“体系结构”看一下。Mac 上常见 ISO 镜像的架构可以在苹果官网或系统镜像站查到。你用的是 Intel Mac那虚拟化和模拟都能跑 x86 系统不过从性能角度考虑Intel Mac 建议优先用模拟模式装 x86_64 系统虚拟化模式在 Intel 上反而没太大优势。这个选择直接决定你后面所有配置是否成立别急着下一步先花一分钟确认一下。3. 从零到一UTM 安装和建机的完整流程3.1 获取 UTM 的三种方式UTM 的安装方式有三种各有优劣我分别说下实际体验。第一种是官网下载按钮也就是从 utm.app 官网下载 DMG 包手动拖入 Applications 文件夹。这是我推荐的默认方式优点是最新版功能完整更新及时没有沙盒限制能访问所有高级功能。缺点是每次更新要自己手动下载替换稍微麻烦一点。第二种是用 Homebrew 安装终端里执行一行命令brew install --cask utm如果你已经在用 Homebrew这种方式最省心以后升级直接brew upgrade utm就搞定。本质上和第一种下载的是同一个包没有区别。第三种是从 Mac App Store 下载。好处是自动更新、沙盒安全坏处是苹果商店版有部分功能阉割比如某些网络模式和自定义 QEMU 参数入口会被隐藏。对于只想简单跑个系统的普通用户商店版够用但既然玩开源虚拟机我建议直接装官网版或 brew 版保留所有能力。版本的问题顺便说一句。UTM 的维护节奏一直很快标题里写“更新到 2026.1.8”意思是最新版发布到了 2026 年 1 月 8 日。新版通常意味着对最新版 macOS 的兼容、QEMU 上游修复的同步、以及新 CPU 型号的适配。如果你遇到系统装不上、虚拟化选项莫名的 bug先看一眼版本是不是太老优先升级到最新版再试。3.2 新建虚拟机的关键参数怎么填打开 UTM 后点“新建虚拟机”会看到四个入口“模拟”“虚拟化”“导入虚拟机”“从配置创建”。前两个就是上面说的模式。后两个一个用来导入现成的镜像文件一个用来手动编辑 QEMU 参数属于进阶玩法先不管。以最常见的“模拟”模式为例创建流程大概是这样的第一步选择操作系统类型。UTM 会根据你选的系统类型给出不同的默认参数比如选 Windows 会自动开启 TPM可信平台模块相关的开关选 Linux 会帮你把显存调大。这个默认值方向是对的但后面还是要手动检查一下。第二步配置系统参数。重点是内存和 CPU 数量。我建议内存至少给 4GB跑 Windows 11 建议 8GB如果只是跑轻量 Linux2GB 也能启动但 4GB 才舒服。CPU 核数按你 Mac 的核准来比如 8 核芯片给 4 核就行给太多会让宿主机变卡。注意这里的 CPU 核数在模拟模式下是指“模拟几颗逻辑 CPU”不是直通物理核心。第三步创建磁盘。UTM 默认会生成一个动态增长的磁盘文件也就是你实际用了多少文件就占多少空间。大小建议至少 20GBWindows 系统建议 40GB 起步。格式默认选 qcow2 就行它支持快照以后能后悔。如果你想追求极限性能可以选 raw 格式但 raw 不支持快照建议新手还是 qcow2。第四步选择安装镜像。找到你下载好的 ISO 文件UTM 会把它当作光驱挂载到虚拟机里。这一步有个小坑如果你后面改动了 ISO 文件路径虚拟机会找不到光驱启动时会卡在“未找到启动设备”。解决办法是重新编辑虚拟机配置把镜像路径重新指一下。第五步启动前检查高级设置。这里我一般会检查两项“网络”是否启用“显示”里的显卡类型是什么。默认值通常没问题但如果是跑老旧系统可能需要手动把显存调小否则系统内会花屏。一般来说默认参数能应对 80% 的场景剩下的问题后面排错章节慢慢讲。3.3 实操案例装一个国内常用 Linux 发行版最近很多朋友问我怎么在 UTM 里装麒麟桌面系统也就是那个由国内团队开发的 Linux 发行版。其实流程和装 Ubuntu 几乎一样我拿它做个完整演示顺带把 Linux 安装的通用步骤捋一遍。第一步去官网下载麒麟桌面的镜像。麒麟桌面提供的是通用 ISO 镜像不是专门给 ARM 或 x86 哪个架构定制的所以下载前一定要确认你下载的是 ARM64 版本还是 AMD64 版本。Apple Silicon Mac 上想要更好的性能就下载 ARM64 版然后按上面说的流程新建虚拟机时选择“虚拟化”模式。如果你的镜像下成了 AMD64那就只能选“模拟”模式性能会差不少但也能安装。第二步在 UTM 里新建虚拟机系统类型选 Linux架构和镜像保持一致。内存给 4GB磁盘给 25GB镜像路径指向下载的 ISO。启动虚拟机后系统会进入 GRUB 引导界面选择第一项“Install 麒麟”然后进入图形化安装界面。第三步安装过程中语言、时区、键盘布局按提示选就行。分区默认“使用整个磁盘”最简单新手别去手动分区容易把自己绕晕。装完重启时UTM 会提示“移除安装介质”直接把“光盘”选项卡里的 ISO 勾掉再点启动就行。第四步进入桌面后安装增强工具。这个非常关键否则分辨率会固定在一个很小的值而且剪贴板不能共享。在 UTM 的菜单栏找到“设备”选择“安装 SPICE Guest Tools”或“插入 Guest Tools CD”然后按系统提示安装。装完重启分辨率自动适配剪贴板也能共享了。麒麟桌面的安装流程基本就是标准 Linux 的变体搞清楚 UTM 的架构选择和虚拟化/模拟区分其他发行版照葫芦画瓢就行。Ubuntu、Debian、Fedora 的流程几乎一致。4. 装上系统只是开始性能调优与日常使用技巧4.1 磁盘和网络驱动VirtIO 为什么是默认最优选很多新手装完系统能用就再也不看设置了其实 UTM 默认的磁盘和网络模型并不一定是最优的尤其在模拟模式下。这里要引入一个概念VirtIO。在 QEMU 的世界里VirtIO 是一套专门为虚拟机设计的半虚拟化驱动协议。简单说它不是模拟一个真实的物理硬件而是让客户机系统和宿主机之间直接通过协议通信省掉了一层硬件模拟的开销。效果就是磁盘读写速度大幅提升、网络吞吐明显改善、CPU 占用下降。UTM 里创建一个 Linux 虚拟机时默认磁盘接口选的就是 VirtIO。如果你发现安装过程中系统不认盘说明那个 Linux 发行版的内核没内置 VirtIO 驱动需要在安装时额外加载驱动模块或者在创建虚拟机时临时把磁盘接口改成 IDE装完系统后再装驱动切回 VirtIO。这个操作属于进阶教程新手直接认准默认 VirtIO 就好。网络方面UTM 的默认网络模式是 usermode 网络也就是虚拟机通过宿主机的地址转换上网。这种方式配置简单、开箱即用虚拟机和宿主机之间的通信也能通。但如果你想要虚拟机被局域网内其他设备访问或者虚拟机之间互相组网就需要改用桥接模式。桥接模式在 UTM 里叫“桥接接口Bridge”新建虚拟机时可选或者建完后在配置里切换。不过要注意桥接模式在某些 Wi-Fi 环境下会失败原因是无线网卡通常不支持真正的桥接。有线网络下最稳。4.2 图形体验SPICE 协议和 Guest Tools图形性能是 UTM 比较薄弱的环节特别是模拟模式下别指望它能流畅跑 3D 游戏。但日常桌面使用如果也卡顿打字的延迟感明显大概率是没装 Guest Tools。这里我要重点说一下 SPICE。SPICE 原本是一个面向虚拟桌面的远程显示协议QEMU 生态把它移植到了本地虚拟机里用来提供更高质量的显示、剪贴板共享、声音重定向、USB 重定向等能力。UTM 在显示设置里默认用的就是 SPICE 相关的显视器virtio-gpu或qxl只是客户机里如果没有对应驱动SPICE 的这些增强功能就全部发挥不出来。对 Windows 客户机去 UTM 官网的“Guest Tools”页面下载 Windows 版驱动包然后在虚拟机里安装。装完重启后你会发现分辨率能自动调整了、剪贴板能互通了、文件拖拽也能用了。对 Linux 客户机安装spice-vdagent这个包即可。以 Ubuntu 为例sudo apt install spice-vdagent装完重启或者手动启动服务systemctl start spice-vdagent动态分辨率和剪贴板共享就生效了。关于显卡模式还有一个“virtio-ramfb”和“virtio-gpu”的选择。默认的显卡一般问题不大但如果你遇到屏幕撕裂、花屏可以试试切换显卡模式。UTM 的显示设置里有对应的下拉菜单改完重启虚拟机即可。4.3 共享文件夹、剪贴板和自适应分辨率我实际用得最多的是共享文件夹因为虚拟机里的代码、日志文件经常要拷回宿主机。在 macOS 宿主机上设置共享文件夹有两种方式。一种是 UTM 自带的“共享目录”功能在虚拟机配置的“共享”选项卡里添加一个宿主机目录客户机里会自动挂载成一个网络共享分区。前提是客户机里装了 SPICE Guest Tools 或者至少支持 WebDAV 挂载。另一种是走 QEMU 的 virtio-9p 文件系统虚拟机配置里选择“文件系统共享”客户机里通过命令挂载。9p 在 Linux 客户机下体验更好挂载命令类似sudo mount -t 9p -o transvirtio,version9p2000.L sharename /mnt/shared这里的sharename是你在 UTM 配置里定义的共享名称。Windows 客户机直接装好 Guest Tools 后共享目录会自动分配盘符不需要手动命令。剪贴板共享这块最直观的标志是宿主机复制一段文字鼠标切到虚拟机里CtrlV 能直接粘贴。前面说了Linux 装spice-vdagentWindows 装 Guest Tools基本就能用了。如果还是不行检查一下虚拟机的“输入”设置里的“启用剪贴板共享”把开关打开。分辨率自适应是个很提升幸福感的功能。装好增强工具后窗口拉伸虚拟机桌面分辨率会自动跟随变化不用进系统设置手动调整。这个功能在模拟模式下偶尔会失灵原因是 SPICE 的桌面代理没跑起来。Linux 下手动执行一下spice-vdagent服务重启就能恢复。4.4 快照折腾前一定要学会的保命技能我见过太多朋友在虚拟机里装软件装到一半系统坏了然后重头再装一遍系统白白浪费一下午。实际上 UTM 有快照功能而且在模拟模式下非常好用。快照的底层原理是 QEMU 的 qcow2 镜像支持多级快照。它相当于给虚拟机硬盘拍了一张“状态照片”你随时可以一键回滚到拍摄时的状态。具体操作是先关闭虚拟机也可以在运行时拍但为了数据一致性建议关机拍然后点虚拟机窗口右上角的“快照”按钮新建一个快照取个名字比如“装完系统干净状态”。以后不管怎么折腾系统出了问题回到快照列表一键还原虚拟机就变回刚装完系统的样子。有一点要特别提醒快照不是无限的。快照拍得越多磁盘镜像文件就越大而且一旦拍过快照原始镜像就和快照形成了依赖关系不能轻易删除原始磁盘文件。所以在折腾重要项目前拍一个快照折腾完成后如果确认稳定了可以把之前的快照清理掉保留当前的干净状态。这个习惯能让你在虚拟机的世界里大大提高容错率。5. 老司机也会踩的坑常见问题与排错实录5.1 启动黑屏、卡在 UEFI Shell 的排查思路UEFI Shell 恐怕是 UTM 新手遇到最多的“拦路虎”。具体表现是虚拟机启动后屏幕上出现一个类似命令行的界面上面印着UEFI Interactive Shell之类的字样就是不进系统安装界面。这个问题的根源一般是虚拟机的启动顺序不对或者安装镜像没有正确挂载。UEFI Shell 实际上就是一个“没有找到可启动设备”的提示和 Windows 蓝屏、Mac 的问号文件夹是一样的道理。排查顺序是这样的先看虚拟机的“光盘”选项卡确认 ISO 文件路径没有被改动、没有丢失。再看 UTM 配置的“引导”顺序确保 CD/USB 排在硬盘前面尤其是第一次安装系统时必须让虚拟机组从光盘启动。最后检查镜像本身是否能引导有些精简版系统镜像缺少 EFI 引导文件换个官方原版镜像问题就消失了。还有一种情况虚拟机里已经装了系统但重启后进不了系统也是 UEFI Shell。这时说明硬盘上有系统但 UEFI 固件找不到引导项。解决办法是在 UEFI 启动菜单里手动选择硬盘。UTM 在启动时按 ESC 可以进入 UEFI 设置界面里面能调整启动顺序。5.2 性能不达预期的五个检查点虚拟机一卡朋友第一反应就是怪 UTM其实很多时候是配置没到位。我给出五个性能检查点按顺序排查基本能解决 80% 的卡顿问题。第一内存是不是给少了。系统最小需求 2GB但你跑个桌面环境加上浏览器4GB 是及格线8GB 才舒服。打开 UTM 配置看看内存滑块别舍不得模拟模式内存越大越流畅。第二CPU 核数是不是被限制得太狠。模拟模式下不要只给 1 核给 4 核跑桌面系统体感会好非常多。但也要注意别给满给满会让宿主机卡顿得不偿失。第三磁盘接口是不是用了 IDE 或 SATA。如果系统装完没改磁盘接口默认可能是 IDE这种接口模拟效率低。能切到 VirtIO 就切到 VirtIO切换前先在系统里装好 VirtIO 驱动否则重启后可能认不出盘。第四显卡模式是不是匹配。老系统用新的 virtio-gpu 反而可能出问题改成 vga 或 qxl 试试。显卡模式在 UTM 配置的“显示”选项里。第五宿主机是不是在偷跑。开着大量浏览器标签页、后台编译任务、满负载导出视频虚拟机自然抢不到资源。关掉 CPU 占用高的 App虚拟机立刻“满血复活”。5.3 常见问题速查表把这几年的经验整理成一张表遇到问题先对照自查一遍能省不少折腾时间。问题现象可能原因解决方法启动卡在 UEFI Shell不进入安装界面启动顺序错误或 ISO 未挂载在配置里调整引导顺序确认 ISO 路径有效启动黑屏只有鼠标光标显卡驱动不兼容切换显卡模式如从 virtio-gpu 改为 vga/qxl分辨率固定不能变窗口缩放无效没装 SPICE Guest Tools 或 spice-vdagent客户机里安装对应增强工具剪贴板不能双向复制SPICE 代理未运行重启 spice-vdagent 服务或重装 Guest Tools虚拟机看不到共享文件夹挂载方式不对或未装工具检查共享配置客户机里手动挂载验证虚拟机网络不通网络模式选错检查是否处于桥接模式且网卡驱动正常Windows 高频报错、系统异常关闭UEFI 固件或 TPM 配置问题确认 Windows 11 需要启用 TPM 2.0老系统关闭安全启动安装 Linux 时找不到磁盘内核缺 VirtIO 驱动临时改用 IDE 接口装完系统再切回 VirtIO虚拟机整体卡顿内存/CPU 分配不足或宿主机繁忙加大内存 CPU 分配关闭宿主机高占用进程这张表的适用范围几乎覆盖了 UTM 日常使用的所有高频故障。有问题先查表解决不了的再去翻 UTM 官方的 GitHub Issues基本上别人也踩过同一片泥坑。6. 进阶玩法命令行与自动化6.1 utmctl用命令控制虚拟机用顺手以后你会发现点鼠标启动虚拟机还是有点慢。UTM 其实自带了命令行工具utmctl能让你用终端直接控制虚拟机。utmctl在 UTM 安装后会一起装上打开终端试一下utmctl list它会列出所有你创建过的虚拟机以及它们的 UUID 和当前状态。然后你就可以用这些命令来控制虚拟机了utmctl start Ubuntu utmctl stop Ubuntu utmctl suspend Ubuntu utmctl resume Ubuntu这里的Ubuntu是虚拟机名字如果名字带空格就要加引号。utmctl的好处是能写进脚本配合 cron 或 launchd 实现定时开机、定时关机非常方便。比如我经常在测试环境里写一个脚本一次启动三个虚拟机跑完批量停止全程无人值守。要查看utmctl的完整用法直接输入utmctl help注意utmctl只能控制通过 UTM 图形界面创建的虚拟机和 UTM 图形界面是共享状态的不能脱离 UTM 单独运行。所以挂机做自动化时UTM 主程序要保持运行。6.2 从录到脚本自动化启动与停止用utmctl配合脚本可以把日常测试流程串成一条龙。举个例子我经常要在三个 Linux 虚拟机里跑集成测试脚本大致是这样#!/bin/bash # 启动三个虚拟机 utmctl start test-node-1 utmctl start test-node-2 utmctl start test-node-3 # 等待 30 秒让系统完成启动 sleep 30 # 在宿主机上执行测试命令直接把结果写到宿主机文件 ssh userlocalhost -p 2222 cd /project ./run-tests.sh test-result.log # 测试完成停止虚拟机 utmctl stop test-node-1 utmctl stop test-node-2 utmctl stop test-node-3当然这个例子假设你已经配置好了 SSH 端口转发让宿主机能通过 localhost 的某个端口访问到虚拟机的 SSH 服务。UTM 的网络设置里可以很方便地做端口转发在虚拟机配置的“网络”选项卡里添加一条规则把宿主机的某个端口映射到虚拟机的 22 端口即可。对于更进阶的玩法UTM 还支持从配置文件启动虚拟机utmctl boot /path/to/config.utm。.utm文件本质上是一个包含配置的 XML 格式文档你可以用它来批量预置虚拟机环境、快速复制测试环境。我通常在 CI 流程里用一个配置文件模板每次跑测试前通过脚本生成一个新的.utm文件再启动从而实现“每次测试都从干净环境开始”的愿望直接把踩过的环境脏坑全部绕过去。utmctl的功能虽然不能和 VMware 的完整命令行 API 相比但在免费开源这个前提下已经算是非常良心了。喜欢折腾自动化的朋友值得好好研究一下。我和 UTM 打交道这几年最大的体会是它不是一个开箱即用、处处帮你做决定的商业软件而是一个给你充分自由、同时也需要你花点心思去理解和配置的工具。但这份“麻烦”恰恰是它最有魅力的地方——你越懂它的原理它能为你做的事情就越多。如果你刚开始接触虚拟机我的建议是先别去碰那些花哨的参数按最小配置跑一个 Ubuntu把基础流程走通再慢慢去试快照、共享目录、命令行这些进阶能力。多跑几次、多踩几个坑你也能让这台“多面手”虚拟机真正变成自己工作流里离不开的伙伴。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门