Mac 上用 brew 安装 UTM 与 QEMU(代理配置全记录)

环境

  • 硬件:Apple Mac,芯片 Apple M3(arm64)

  • 系统:macOS 26.6.2(Tahoe 系)

  • 包管理:Homebrew 6.0.21,前缀 /opt/homebrew

  • 网络:本机 socks5 代理 127.0.0.1:7890(Clash 类客户端默认端口)

目标

在 Mac 上安装 UTM 与 QEMU,形成「图形界面 + 命令行」双通道的虚拟化环境,后续由 agent 通过命令行直接创建、启动、停止虚拟机,不依赖 GUI 点击。

前置检查

安装前先确认两个前提:brew 可用、代理端口在监听。

复制代码
which brew

brew --version | head -1

nc -z -w 2 127.0.0.1 7890 && echo "7890 端口开放"

结果:brew 位于 /opt/homebrew/bin/brew,版本 6.0.21;7890 端口开放。

代理设置

关键点:Bash 每次调用是独立 shell 进程,环境变量不跨调用保留。因此每一条需要联网的命令都要重新 export 代理变量,不要指望第一次设置后一直生效。

复制代码
export ALL\_PROXY="socks5h://127.0.0.1:7890"

export HTTPS\_PROXY="socks5h://127.0.0.1:7890"

export HTTP\_PROXY="socks5h://127.0.0.1:7890"
  • 使用 socks5h 而非 socks5:DNS 解析也走代理,避免本地 DNS 污染导致 brew 解析失败

  • brew 内部走 curl 下载,读取上述环境变量

安装 UTM

UTM 是免费开源的虚拟化管理前端,基于 QEMU,以 cask 形式安装为 GUI 应用。

复制代码
export ALL\_PROXY="socks5h://127.0.0.1:7890"

export HTTPS\_PROXY="socks5h://127.0.0.1:7890"

export HTTP\_PROXY="socks5h://127.0.0.1:7890"

brew install --cask utm

安装结果:/Applications/UTM.app。cask 装的是 GUI app,不需要 sudo。

安装 QEMU

QEMU 本体提供全部命令行工具:qemu-system-aarch64、qemu-img 等。UTM 内部自带 QEMU 运行时,但装在 PATH 里的独立 QEMU 让命令行操作更直接。

复制代码
export ALL\_PROXY="socks5h://127.0.0.1:7890"

export HTTPS\_PROXY="socks5h://127.0.0.1:7890"

export HTTP\_PROXY="socks5h://127.0.0.1:7890"

brew install qemu

安装结果:qemu 11.1.1,自动装好依赖 p11-kit、libslirp、libusb、vde。

注意事项:

  • brew 有进程锁,两个 install 不能并行执行,必须串行

  • qemu 本体 bottle 约 729MB,加依赖下载量不小,建议放后台执行并等待完成

  • 安装完成后 brew 会自动清理旧缓存,属正常行为

验证结果

复制代码
ls -d /Applications/UTM.app

/Applications/UTM.app/Contents/MacOS/utmctl list

/opt/homebrew/bin/qemu-system-aarch64 --version

/opt/homebrew/bin/qemu-img --version

预期输出:

  • /Applications/UTM.app 存在

  • utmctl 输出 VM 列表(空列表正常),注意 utmctl 不支持 --version 参数

  • QEMU emulator version 11.1.1

  • qemu-img version 11.1.1

给 agent 的注意事项

  • utmctl 不在 PATH 里,完整路径是 /Applications/UTM.app/Contents/MacOS/utmctl,建议直接用绝对路径或建软链

  • utmctl 常用子命令:list、start、stop、clone,覆盖启停与复制

  • 首次使用 UTM 前需要手动打开一次 UTM.app 完成初始化(申请虚拟化权限),agent 无法代点

  • UTM 的 .utm 虚拟机包本质是 plist 配置加镜像文件,可用脚本生成,创建虚拟机不强制开 GUI

  • 裸 QEMU 与 UTM 分工:UTM 管虚拟机生命周期,QEMU 提供底层全部参数自由度

  • 系统架构是 arm64,安装 qemu 会得到 aarch64 系列工具,创建 ARM 客户机时走硬件虚拟化(Apple Hypervisor),性能接近原生

相关推荐
千码君20165 小时前
提词器项目V1.0功能分析
ide·macos·xcode
承渊政道7 小时前
星空组网真实体验:Mac远程访问Ubuntu,SSH与HTTP全流程验证
ubuntu·http·macos·ssh·服务器管理·星空组网
深念Y8 小时前
黑苹果P400-直通显示折腾全记录-20260907
macos·ios·系统·黑苹果·苹果·英伟达·p400
DevLoom_11 小时前
MacBook 256GB到底够不够用,日常怎么清理空间?
macos·mac空间清理·mac磁盘空间不足
编程的一拳超人1 天前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
时凌云.1 天前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
HackTwoHub1 天前
BurpSuite2026.8专业(稳定版)下载Windows/Linux/Mac支持Java21以上(新增Burp AT智能体)
linux·运维·服务器·安全·macos·网络安全·自动化
海鸥两三1 天前
Mac电脑使用 Tabby 部署前端项目到阿里云服务器完整教程
前端·macos·阿里云
阿沐沐,1 天前
Claude Code 安装教程:Windows、WSL 2 与 macOS
windows·macos