资讯动态

告别VMware!用Quickemu两行命令跑macOS虚拟机

发布时间:2026/9/20 7:20:28 来源:尧图企业网站定制
1. 为什么我放弃了VMware转投Quickemu的怀抱说实话我在虚拟机这块折腾了快十年从最早用VMware Workstation跑Windows XP到后来用VirtualBox装Ubuntu再到Docker容器化几乎主流的方案都摸过一遍。但每次想在自己电脑上跑个macOS虚拟机VMware那套流程总让我血压升高——找镜像、打补丁、解锁器、配置文件改到怀疑人生最后还不一定能启动成功。直到去年在GitHub上闲逛发现了Quickemu这个项目我才意识到原来跑macOS虚拟机可以这么简单。Quickemu是一个基于QEMU的虚拟机管理工具它的核心逻辑就是帮你把QEMU那一大堆复杂的命令行参数封装成了几条简单的指令。你不需要懂什么virtio驱动、不需要手动配置UEFI固件、不需要研究OpenCore引导只需要两行命令它就能帮你把macOS虚拟机跑起来。对你没看错就是两行。这个项目在GitHub上已经拿了好几万星社区活跃度很高更新也频繁关键是它完全开源免费没有任何隐藏收费项目。这篇文章适合谁看如果你是开发者想在本地测试macOS环境下的软件兼容性如果你是设计师想体验一下macOS的界面和生态但不想买Mac或者你只是单纯好奇想看看这个所谓的GitHub神器到底有多神——那这篇内容就是为你准备的。我会从核心原理、实操步骤、参数调优、常见问题四个维度把Quickemu跑macOS这件事彻底讲透。不管你是刚接触虚拟机的小白还是有一定经验的老手都能从中找到可以直接抄作业的内容。2. Quickemu核心机制与方案选型解析2.1 Quickemu到底解决了什么问题传统虚拟机方案跑macOS最大的痛点在于macOS对硬件的挑剔。苹果的系统只允许在自家硬件上运行所以你在普通PC上装macOS本质上是在“欺骗”系统让它以为自己在苹果设备上。VMware的方案是通过一个叫Unlocker的补丁来绕过这个限制但Unlocker的更新往往滞后于VMware和macOS的版本更新导致兼容性问题频发。而且VMware Workstation Pro从被博通收购之后个人版的授权政策也变得模糊很多人开始寻找替代方案。Quickemu的思路完全不同。它底层用的是QEMU这是一个纯软件模拟的虚拟机方案本身就支持模拟各种硬件环境。Quickemu在QEMU之上做了一层封装内置了针对macOS的优化配置包括OpenCore引导加载器、模拟的SMBIOS信息、以及必要的ACPI补丁。换句话说Quickemu已经把“欺骗”macOS的工作提前做好了你只需要告诉它“我要跑macOS”剩下的它自己搞定。这个方案的优势很明显第一完全开源不存在授权风险第二配置简单两行命令就能启动第三社区维护遇到问题可以去GitHub上提Issue作者响应速度很快第四跨平台Linux和Windows都能用Windows下需要WSL2或者MSYS2环境。当然它也有缺点比如性能不如VMware的硬件直通方案图形渲染走的是软件模拟玩大型游戏或者做视频剪辑会比较吃力。但如果你只是日常开发测试、跑跑轻量级应用完全够用。2.2 为什么选择QEMU而不是VirtualBox有人可能会问VirtualBox也能跑macOS为什么不用它我实测下来的感受是VirtualBox对macOS的支持一直不太稳定尤其是macOS 12之后的版本经常出现启动卡死、分辨率无法调整、USB设备识别不了的问题。而且VirtualBox的图形性能比QEMU还差操作延迟明显。Quickemu选择QEMU作为底层一方面是因为QEMU的硬件模拟能力更强另一方面是QEMU支持KVM加速Linux下和HVF加速macOS宿主下性能损耗比VirtualBox小不少。还有一个关键点Quickemu的配置文件是纯文本的所有参数一目了然你想改什么直接编辑conf文件就行。VirtualBox的配置藏在图形界面里有时候想调个参数得翻好几层菜单。对于喜欢折腾的人来说Quickemu这种“配置文件驱动”的方式显然更友好。2.3 两行代码背后的完整流程标题里说的“两行代码”具体是哪两行第一行是安装Quickemu第二行是启动macOS虚拟机。但这里我要说实话安装Quickemu本身可能需要几行命令取决于你的操作系统。比如在Ubuntu上你需要先添加PPA源然后apt install。在Arch上直接yay安装就行。在Windows上你得先装WSL2然后在WSL里面装Quickemu。所以“两行代码”是一个概括性的说法真正操作起来大概是三到五步但每一步都很简单不需要你手动编译或者打补丁。启动虚拟机的命令确实只有一行quickemu --vm macos.conf。这个conf文件是Quickemu自动生成的你只需要在第一次运行时回答几个问题比如分配多少内存、多少CPU核心、磁盘多大它就会帮你写好配置文件。之后每次启动都是这一行命令。3. 手把手实操从零跑起一个macOS虚拟机3.1 环境准备与Quickemu安装先说你需要的硬件条件。CPU方面Intel和AMD都可以但AMD的CPU在某些macOS版本上可能会有兼容性问题建议用Intel或者Apple Silicon如果你是Mac宿主。内存建议至少16GB因为macOS本身就要占4-8GB再加上宿主系统8GB会非常吃力。磁盘空间至少预留40GBmacOS的安装镜像加上系统本身30GB是底线。显卡方面集成显卡就行Quickemu用的是软件渲染独立显卡反而可能带来驱动冲突。安装Quickemu的步骤因系统而异。在Ubuntu 22.04及以上版本你可以这样操作sudo add-apt-repository ppa:flexiondotorg/quickemu sudo apt update sudo apt install quickemu在Arch Linux上yay -S quickemu在Fedora上sudo dnf copr enable flexiondotorg/quickemu sudo dnf install quickemuWindows用户需要先安装WSL2然后在WSL的Ubuntu环境里按照上面的Ubuntu步骤操作。注意WSL2需要开启虚拟化支持在BIOS里把Intel VT-x或者AMD-V打开。安装完成后用quickemu --version检查一下版本号确保是较新的版本。Quickemu更新很频繁新版本往往会修复一些macOS兼容性问题所以建议保持更新。3.2 获取macOS安装镜像的正确姿势Quickemu本身不提供macOS镜像你需要自己准备。这里有个关键点macOS的安装镜像格式和Windows不一样它不是ISO文件而是一个叫做“BaseSystem.img”或者“InstallAssistant.pkg”的东西。Quickemu支持直接使用苹果官方下载的恢复镜像也支持你自己制作的镜像。最省事的方法是让Quickemu自动下载。当你第一次运行quickemu --vm macos.conf时它会检测到你没有镜像然后询问你是否要自动下载。选择“yes”之后它会从苹果的服务器上拉取最新的macOS恢复镜像。这个过程取决于你的网络速度一般需要下载10-15GB的数据。如果你网络不太稳定也可以手动下载然后放到~/.local/share/quickemu/目录下。手动下载的话推荐去苹果官方的开发者下载页面搜索“macOS Recovery Image”找到对应版本的下载链接。下载下来是一个dmg文件你需要用dmg2img工具把它转换成img格式dmg2img -i InstallAssistant.dmg -o macos.img然后把转换好的img文件放到Quickemu的镜像目录里再运行启动命令它就会自动识别。注意不要从非官方渠道下载所谓的“懒人版”镜像那些镜像往往被修改过可能包含恶意软件而且Quickemu对非官方镜像的兼容性也不好。3.3 创建虚拟机配置文件第一次运行Quickemu时它会引导你创建一个配置文件。整个过程是交互式的它会问你几个问题虚拟机名称随便起比如“macos-ventura”操作系统类型选择“macos”内存大小建议4096MB起步8192MB更流畅CPU核心数建议2-4个不要超过宿主物理核心数的一半磁盘大小建议40GB起步如果要做开发建议60GB是否启用EFI选“yes”回答完这些问题后Quickemu会在当前目录下生成一个.conf文件。你可以用文本编辑器打开它里面长这样guest_osmacos disk_imgmacos-ventura/disk.qcow2 macos_releaseventura ram8G cpu_cores4这个配置文件就是虚拟机的“大脑”所有参数都在这里控制。你可以手动修改比如把内存改成16G或者把CPU核心数改成8。改完之后保存下次启动就生效。3.4 启动虚拟机与首次安装配置文件准备好之后启动命令就一行quickemu --vm macos-ventura.conf第一次启动会进入macOS的恢复模式。你会看到一个苹果Logo和进度条这个过程可能需要几分钟取决于你的磁盘速度。进入恢复界面后先选择“磁盘工具”把虚拟磁盘抹掉格式选“APFS”然后退出磁盘工具选择“重新安装macOS”。接下来的安装过程和真机一模一样跟着提示走就行。安装过程中有几个坑要注意。第一安装时间可能很长我实测在NVMe固态上大概用了25分钟如果在机械硬盘上可能要一个小时以上。第二安装过程中虚拟机会自动重启几次这是正常的不要手动干预。第三如果卡在“剩余XX分钟”超过半小时不动可能是镜像有问题建议重新下载。安装完成后你会进入macOS的桌面。这时候第一件事是安装SPICE Guest Tools这个工具能让你在宿主和虚拟机之间复制粘贴文件、调整分辨率、共享剪贴板。Quickemu的配置文件里有一个spice_guest_tools选项把它设成“yes”然后重新启动虚拟机它会自动挂载一个ISO镜像你在macOS里打开这个镜像运行里面的安装程序就行。4. 性能调优与参数配置实战4.1 内存与CPU分配的黄金比例Quickemu默认给虚拟机分配4GB内存和2个CPU核心这个配置跑macOS会有点卡。我的建议是如果你的宿主有16GB内存给虚拟机分8GB宿主32GB分16GB。CPU核心数方面4核是甜点值6核以上提升不明显因为macOS本身对多核的优化有限。这里有个计算公式可以参考虚拟机内存 宿主内存 × 0.5虚拟机CPU核心 宿主物理核心 × 0.5。比如你的电脑是8核16线程、32GB内存那就给虚拟机分16GB内存和4个物理核心8个线程。这样既能保证虚拟机的流畅度又不会让宿主系统卡顿。修改配置的方法很简单打开conf文件找到ram和cpu_cores这两行改成你想要的值就行。注意内存单位要用“G”或者“M”比如ram16G。4.2 磁盘性能优化qcow2 vs rawQuickemu默认使用qcow2格式的磁盘镜像这个格式的好处是支持快照、动态扩容、压缩但性能比raw格式差一些。如果你追求极致性能可以把磁盘格式改成raw。方法是在conf文件里把disk_img的后缀从.qcow2改成.raw然后重新创建磁盘。不过raw格式的缺点是它不支持快照而且文件大小是固定的你分配了60GB它就占60GB不管里面实际用了多少。qcow2则是用多少占多少对磁盘空间比较友好。我的建议是如果你用的是SSDqcow2的性能损失几乎感觉不到没必要折腾raw。如果你用的是机械硬盘那可以考虑raw但机械硬盘本身速度就慢换了raw提升也有限。还有一个技巧是开启磁盘缓存。在conf文件里加上disk_cachewriteback这样宿主会把写入操作先缓存到内存里再批量写入磁盘能明显提升磁盘IO性能。但要注意如果宿主突然断电可能会丢失部分数据。所以这个选项适合对数据安全性要求不高的场景。4.3 图形显示与分辨率调整Quickemu默认使用SPICE协议来传输图形画面这个协议的好处是支持动态分辨率调整和剪贴板共享但性能不如VNC。如果你觉得画面卡顿可以在conf文件里把display选项改成vnc然后通过VNC客户端连接。VNC的性能更好但不支持剪贴板共享和USB重定向。分辨率调整方面安装完SPICE Guest Tools之后你可以在macOS的“系统设置-显示器”里调整分辨率。如果分辨率选项是灰色的说明SPICE工具没装好重新安装一遍就行。另外Quickemu支持“全屏模式”在启动命令后面加上--fullscreen参数虚拟机会自动全屏显示体验更接近真机。4.4 网络配置NAT vs 桥接Quickemu默认使用NAT网络模式虚拟机能上网但宿主无法直接访问虚拟机的服务。如果你需要在虚拟机里跑一个Web服务器然后从宿主访问那就需要改成桥接模式。在conf文件里加上networkbridged然后指定桥接的网卡名称。桥接模式的配置稍微复杂一点需要你在宿主系统里创建一个网桥。在Linux下可以用nmcli命令创建在Windows下需要在“网络适配器”里手动桥接。具体步骤这里不展开Quickemu的官方文档里有详细说明。我的建议是如果你只是日常使用NAT模式足够了没必要折腾桥接。5. 常见问题排查与避坑指南5.1 启动卡在苹果Logo怎么办这是最常见的问题原因通常有三个镜像损坏、内存不足、CPU不支持。首先检查镜像的MD5值确保下载完整。然后检查conf文件里的内存设置如果小于4GBmacOS可能无法启动。最后检查CPU是否支持SSE4.2指令集这是macOS的最低要求老旧的CPU可能不支持。如果以上都没问题尝试在conf文件里加上cpuhost让虚拟机直接使用宿主的CPU特性。有时候QEMU默认的CPU模型和macOS不兼容指定host能解决大部分问题。5.2 安装过程中提示“无法验证安装器”这是macOS的安全机制在作祟。解决方法是在恢复模式的“终端”里运行sudo date -u 010101012024这个命令把系统时间设置成2024年1月1日绕过证书过期的问题。设置完之后重新安装一般就能通过验证。安装完成后再把时间改回来就行。5.3 虚拟机里没有声音Quickemu默认不启用音频设备你需要在conf文件里加上audioyes。然后安装SPICE Guest Tools音频驱动会自动安装。如果还是没有声音检查宿主系统的音频服务是否正常运行有时候宿主静音了虚拟机也跟着没声音。5.4 USB设备无法识别Quickemu支持USB重定向但需要手动配置。在conf文件里加上usb_devicesyes然后在启动命令后面加上--usb-device参数指定要重定向的设备。比如--usb-device 0x1234:0x5678其中0x1234是厂商ID0x5678是产品ID。你可以在Linux下用lsusb命令查看这些ID。5.5 常见问题速查表问题现象可能原因解决方法启动卡在苹果Logo镜像损坏/内存不足/CPU不支持检查MD5、增加内存、确认CPU支持SSE4.2安装时提示无法验证证书过期在终端里修改系统时间没有声音音频未启用conf文件里加audioyesUSB设备不识别未配置重定向加usb_devicesyes并指定设备ID分辨率无法调整SPICE工具未安装安装SPICE Guest Tools网络无法连接NAT配置问题检查conf文件里的网络设置磁盘空间不足动态磁盘未扩容用qemu-img resize命令扩容6. 进阶玩法快照、克隆与自动化6.1 快照管理随时回滚到干净状态Quickemu支持qcow2格式的快照功能你可以在虚拟机运行时创建快照记录当前状态。命令是quickemu --vm macos-ventura.conf --snapshot create clean-install这个命令会创建一个名为“clean-install”的快照。之后如果你把系统搞乱了可以随时回滚quickemu --vm macos-ventura.conf --snapshot apply clean-install快照功能特别适合做软件测试你可以在一个干净的系统上装各种软件测完之后回滚系统又恢复如初。不过要注意快照会占用额外的磁盘空间而且快照越多磁盘性能越差。建议只保留最近的两三个快照。6.2 克隆虚拟机快速复制一个全新环境如果你想基于现有的macOS虚拟机克隆一个全新的环境可以用qemu-img命令qemu-img convert -O qcow2 macos-ventura/disk.qcow2 macos-clone/disk.qcow2然后把conf文件也复制一份改一下虚拟机名称和磁盘路径就得到了一个全新的虚拟机。克隆出来的虚拟机和原虚拟机完全独立互不影响。这个技巧适合团队协作你可以把配置好的虚拟机克隆给同事省去每个人重新安装的时间。6.3 自动化脚本一键启动多个虚拟机如果你需要同时跑多个macOS虚拟机做测试可以写一个简单的Shell脚本#!/bin/bash quickemu --vm macos-ventura.conf --display none quickemu --vm macos-monterey.conf --display none quickemu --vm macos-sonoma.conf --display none wait这个脚本会同时启动三个虚拟机并且不显示图形界面--display none适合在服务器上做自动化测试。你可以通过VNC或者SSH连接到虚拟机里操作。7. 我踩过的坑与独家经验分享第一个坑是镜像下载。我第一次用Quickemu自动下载镜像时下了三次都中断了后来发现是网络不稳定导致的。解决办法是用wget -c命令手动下载支持断点续传。下载地址可以从Quickemu的日志里找到它会打印出完整的下载链接。第二个坑是内存分配。我一开始给虚拟机分了4GB内存结果macOS启动后卡得没法用。后来加到8GB流畅度明显提升。所以如果你的宿主有16GB以上内存千万别吝啬直接给虚拟机分8GB。第三个坑是磁盘扩容。我一开始只分配了40GB磁盘用了两个月就满了。qcow2格式虽然支持动态扩容但需要手动操作。命令是qemu-img resize disk.qcow2 20G然后在macOS里用“磁盘工具”扩展分区。注意扩容前一定要先关机而且最好先做个快照以防万一。第四个坑是SPICE工具。我装完macOS后忘了装SPICE Guest Tools结果分辨率一直是1024x768而且不能复制粘贴。后来在Quickemu的文档里找到说明重新挂载ISO安装了一遍问题解决。所以记住装完系统第一件事就是装SPICE工具。第五个坑是时间同步。macOS虚拟机运行一段时间后时间会漂移导致证书验证失败。解决办法是在conf文件里加上rtclocaltime让虚拟机使用宿主的时间。或者在macOS里开启“自动设置日期和时间”。最后一个经验是Quickemu的GitHub仓库里有一个docs目录里面有很多示例配置文件。如果你不知道某个参数怎么设直接去那里抄就行。社区里也有很多热心人分享自己的配置遇到问题先搜Issue大概率已经有人遇到过了。8. 这个方案还能怎么扩展Quickemu除了跑macOS还支持Windows、Linux、BSD等各种系统。你可以用同样的方法跑一个Windows 11虚拟机或者一个Ubuntu Server做开发环境。配置文件的结构是一样的只是guest_os字段不同。另外Quickemu支持“无头模式”也就是不显示图形界面只跑后台。这个模式适合在服务器上部署你可以通过SSH或者VNC远程连接。如果你有一台闲置的旧电脑装个Linux然后用Quickemu跑几个虚拟机就是一个低成本的家庭实验室。还有一个玩法是结合cloud-init做自动化部署。Quickemu支持在启动时注入cloud-init配置你可以预先定义好用户名、密码、SSH密钥、安装的软件包虚拟机第一次启动就自动完成配置。这个功能适合做批量部署比如你要同时创建十个相同的开发环境用cloud-init就能一键搞定。我个人在实际操作中的体会是Quickemu最大的价值在于它把复杂的事情变简单了。以前跑macOS虚拟机你得懂QEMU命令行、懂OpenCore配置、懂ACPI补丁现在你只需要会改conf文件就行。当然它也不是完美的比如图形性能确实不如VMware但考虑到它免费、开源、跨平台这些小缺点完全可以接受。如果你还在用VMware折腾macOS真的可以试试Quickemu两行命令的事试错成本几乎为零。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价