如何在 iPhone 和 Mac 上免费运行 Windows 与 Linux:UTM 虚拟机完整指南 如何在 iPhone 和 Mac 上免费运行 Windows 与 LinuxUTM 虚拟机完整指南【免费下载链接】UTMVirtual machines for iOS and macOS项目地址: https://gitcode.com/gh_mirrors/ut/UTM手上有个只支持 Windows 的老软件或者想在手机上重温一套 x86 经典游戏但设备本身装不了——这类事以前只能放着不管。UTM 虚拟机 解决的就是这个问题它是一个跑在 iOS 和 macOS 上的免费开源虚拟机基于 QEMU 完整模拟整个系统Windows、Linux、甚至 macOS 客户机都能跑iPhone、iPad、MacBook 都支持。它是什么一个基于 QEMU 的跨 Apple 平台虚拟机UTM 的定位一句话能说清把 QEMU 的整机模拟能力装进原生 Apple 应用里。它用 QEMU含一个针对 Darwin 平台定制的 fork做模拟引擎前端用 SwiftUI 重新实现所以 macOS 12 以上和 iOS 15 以上都能用同一套界面管理虚拟机。和同类工具放在一起看差异比较直观对比对象UTM 的差异点Parallels / VMware 等桌面虚拟化软件它们只覆盖 Mac 一侧UTM 同一套界面同时覆盖 iPhone、iPad 和 MacDocker 等容器方案容器共享宿主内核、只跑单一架构UTM 模拟完整系统x86_64、ARM64、RISC-V 等 30 多种处理器架构都能开早期手机上的模拟器 App多数只能跑单款老系统UTM 是通用模拟器什么 ISO 都能装另外两点值得提macOS 版可以调用 Hypervisor.framework 做同架构硬件加速还能用 Virtualization.framework 启动 macOS 客户机整个项目免费开源没有订阅和付费解锁功能。第一次跑起来从克隆仓库到启动第一台虚拟机整个流程分三步。第一步拿到项目源码。仓库带有 QEMU 等子模块克隆时加--recursive一次拉全git clone --recursive https://gitcode.com/gh_mirrors/ut/UTM第二步构建出可安装的应用。仓库自带 Xcode 工程macOS 上的依赖可以用scripts/目录下的build_dependencies.sh生成或直接用预编译产物解压到仓库根目录构建完成后运行scripts/package_mac.sh即可打包成 DMG 安装文件详细说明见 Documentation/MacDevelopment.md。第三步在应用里开第一台虚拟机。启动 UTM 后点新建虚拟机向导会按选操作系统 → 分配 CPU/内存 → 创建磁盘 → 导入 ISO 并启动的顺序走每步都是下拉框和滑块基本不需要手工改参数。创建出来的虚拟机是一个.utm文件夹整个拷贝走就能迁移。核心能力怎么用跨架构模拟想在 ARM 设备上跑 x86 系统这是 UTM 最核心的能力。QEMU 的 CPU 模拟部分会模拟完整的 MMU 和设备所以你在 Apple Silicon 的 iPhone 上完全可以创建一台 x86_64 的虚拟机装 Windows XP 或老版本 Linux。做法是在新建向导里把操作系统和架构选好比如 Windows x86_64再挂载对应的 ISO 即可。跨架构走的是 QEMU 的 TCG 动态编译加速可用但不快同架构Apple Silicon 上跑 ARM Linux/Windows on ARM则明显更快。Mac 上的硬件加速性能从能跑到流畅在 Mac 上创建同架构虚拟机时UTM 会自动接入 Hypervisor.framework即 QEMU 的hvfaccelerator把模拟开销压到接近原生Apple Silicon Mac 上跑 macOS 客户机则直接走 Virtualization.framework这是目前移动端/桌面端都罕见的组合。不需要额外配置只要选对架构创建完成后速度差距一眼可见。网络与外设虚拟机不只是个孤岛网络在 Configuration/UTMQemuConfigurationNetwork.swift 里对应四种模式界面上直接选共享NAT模式默认虚拟机出网上网最简单宿主通过端口转发访问虚拟机里的服务桥接模式虚拟机获得局域网独立 IP适合要跑服务给别人访问的场景主机模式宿主与虚拟机间隔离的私网只走虚拟网卡通信。图形和剪贴板走的是 SPICE 协议QXL 显卡 SPICE agent所以宿主机和虚拟机之间可以互相复制粘贴、文件拖放USB 设备也能重定向进虚拟机这些在设置页里逐项开关就行。几类典型用法办公与怀旧跑只有 Windows 版本的老软件在 Mac 上开一台 x86_64 Windows 虚拟机装上那个不再更新的行业软件日常主力系统不动。手机上玩经典游戏iOS 设备创建一台 x86 虚拟机装 Windows XP装好游戏后用手指操作性能要求高的游戏建议换到 iPad 或 Mac 上跑。临时环境不想在主力系统里装的东西扔进虚拟机用完销毁。开发与学习跨架构测试Apple Silicon Mac 上同时开 x86_64 和 ARM64 两台 Linux对比同一套代码在两种架构下的行为。操作系统实验学 OS 原理时在虚拟机里自由装系统、改内核、做快照回滚搞坏了直接恢复。多系统并行一台 Mac 同时挂 macOS 客户机Virtualization.framework 路径和 Linux 虚拟机配合共享文件夹同步代码。常见问题与调优建议为什么 iPhone 上比 Mac 上慢很多原因是 iOS 系统限制应用动态生成代码JITQEMU 最关键的 TCG 加速在越狱前的 iOS 上无法完整启用。应对办法有三档能越狱就开 JIT不行就装 UTM SE 版本它用线程化解释器替代 JIT速度低于 JIT 但免越狱支持 ARM/PPC/RISC-V/x86 架构最求性能就换 Mac 跑。为什么虚拟机没有外网现象是装上系统后 ping 不通、打不开网页。原因是网络模式选成了主机模式或 NAT 模式下客户系统网络服务没起。先到设置里确认网络模式是共享NAT再回虚拟机内检查网卡是否启用。为什么磁盘占用越用越大用动态分配磁盘时写过的空间不会自动缩回且关机不等于清理。解决办法定期在虚拟机内部清理临时文件对不再需要的时间点删掉快照重要虚拟机可以导出后重新导入以整理碎片。配置上的几条建议内存别贪多轻量 Linux 给 1–2GB 就够Windows 给 2–4GB留足给宿主本身分配过多反而互相拖累。磁盘选 qcow2 动态分配实际占用随写入增长比预分配的裸镜像省空间。同架构优先能在 ARM 设备上跑 ARM 客户系统就别选 x86_64这是性能上差距最大的一项设置。虚拟机文件夹放高速存储上磁盘 IO 是虚拟机的常见瓶颈外部存储要选快的。从哪开始别先追求能跑 Windows先做一件最小的事打开 UTM 新建向导选一个 32 位的轻量 Linux ISO比如 Alpine给 1 个 CPU、1GB 内存、20GB 动态磁盘点启动看引导过程完整走一遍。跑通之后再按 Configuration/ 里的配置项逐项去调你会发现这台手机里的电脑能做的事比预期多得多。【免费下载链接】UTMVirtual machines for iOS and macOS项目地址: https://gitcode.com/gh_mirrors/ut/UTM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考