0

0

怎么在Mac上使用QEMU虚拟机安装Windows【开源虚拟化】

月夜之吻

月夜之吻

发布时间:2026-01-12 02:15:36

|

356人浏览过

|

来源于php中文网

原创

在Mac上运行Windows系统可选UTM(图形化入门)、ACVM(命令行+GUI混合)或纯QEMU命令行三种QEMU生态方案,均支持Apple Silicon芯片,需配合Windows ARM64镜像、QCOW2转换、SPICE工具及UEFI配置。

怎么在mac上使用qemu虚拟机安装windows【开源虚拟化】

如果您希望在Mac上通过开源虚拟化方案运行Windows系统,QEMU作为底层核心引擎可提供完整硬件模拟能力,尤其适配Apple Silicon(M1/M2/M3)芯片的ARM64架构。以下是基于QEMU生态的多种可行安装路径:

一、使用UTM(推荐入门方案)

UTM是基于QEMU构建的图形化开源虚拟机应用,专为macOS优化,无需命令行操作即可完成Windows ARM版部署,适合首次接触QEMU生态的用户。

1、通过Homebrew安装UTM:执行brew install --cask utm;或直接从mac.getutm.app官网下载最新版安装包。

2、下载Windows 11 ARM64官方VHDX镜像:注册微软Windows Insider计划后,访问Insider Preview下载页,获取名称形如Windows11_InsiderPreview_Client_ARM64_en-us_XXXXX.VHDX的文件。

3、将VHDX转换为QCOW2格式:在终端中执行qemu-img convert -O qcow2 ~/Downloads/Windows11*.vhdx ~/Desktop/win11.qcow2

4、下载SPICE Guest Tools:从mac.getutm.app/support/获取spice-guest-tools-0.164.3.iso,用于提升显示、音频与剪贴板集成能力。

5、打开UTM,点击“新建虚拟机”,选择“虚拟化”类型 → “Windows” → 勾选“导入磁盘镜像”,指定转换后的win11.qcow2文件,并挂载spice-guest-tools.iso作为光驱。

6、在“硬件”设置中启用UEFI固件、分配至少4核CPU、8GB内存、开启USB 3.0控制器与SPICE图形加速。

7、启动虚拟机,进入Windows安装界面;若卡在联网激活页,按下Fn + Shift + F10调出命令提示符,输入oobe\bypassnro回车跳过网络校验。

二、使用ACVM(轻量命令行+GUI混合方案)

ACVM是为M系列Mac定制的QEMU前端工具,整合了QEMU-GUI界面与预置启动脚本,兼顾可控性与易用性,适合熟悉终端但倾向可视化操作的用户。

1、前往GitHub Releases页面下载ACVM v1.5或更高版本:github.com/ubenmackin/ACVM/releases

2、解压后双击运行ACVM.app,首次启动时会自动检测并安装依赖项(含QEMU与OVMF固件)。

3、准备Windows 10/11 ARM64安装介质:下载微软官方VHDX镜像,或使用virtio-win-0.1.190.iso(提供网卡、存储驱动)与viogpudo.zip(GPU加速支持)。

4、在ACVM主界面点击“Create New VM”,选择“Windows ARM64”,导入VHDX文件后自动触发QCOW2转换流程。

5、在“Advanced Settings”中手动添加第二块虚拟光驱,挂载virtio-win-0.1.190.iso,确保安装过程中能识别NVMe与网络控制器。

6、启动虚拟机后,在Windows设备管理器中检查“其他设备”是否有带黄色感叹号的未识别硬件;若有,右键更新驱动,指向光驱中的vioscsinetkvm目录。

7、安装完成后,需在ACVM配置中启用SPICE协议并勾选“Share Clipboard”与“Share Files”,以实现主机与客户机间无缝交互。

三、纯QEMU命令行部署(高级可控方案)

该方式绕过所有图形前端,直接调用QEMU二进制程序启动虚拟机,适用于需要精细控制CPU拓扑、内存热插拔、PCIe直通等特性的技术用户,要求熟悉Shell与QEMU参数体系。

1、通过Homebrew安装QEMU及OVMF固件:执行brew install qemu edk2-firmware

2、创建QCOW2磁盘镜像:运行qemu-img create -f qcow2 ~/win11-arm64.qcow2 64G

3、准备UEFI固件路径:macOS下OVMF默认位于/opt/homebrew/share/qemu/ovmf-x86_64-code.fd,确认该路径存在且可读。

善美购物商城Sunway Shop
善美购物商城Sunway Shop

系统特点:技术领先:系统基于被广泛使用的Windows平台开发,集百家之所长,技术领先、功能完备; 快速建店:只需简单设置,3分钟即可以建立一个功能完备的网上商城; 操作简便:软件操作界面由专业设计人员设计,采用人性化的布局,界面规范,操作简捷; 安装方便:只需传到您的虚拟空间即可; HTML编辑器:内置优秀的HTML在线编辑器; 可扩展性:软件构架灵活,考虑未来功能扩充之需要,具有较强的可扩展性

下载

4、构造完整启动命令(请复制至单行执行):

qemu-system-aarch64 \

-machine virt,highmem=off,gic-version=3 \

-cpu cortex-a72,ipid=on,pmu=on,virtualization=on \

-smp cpus=4,sockets=1,cores=4,threads=1 \

-m 8G \

-bios /opt/homebrew/share/qemu/ovmf-x86_64-code.fd \

-drive if=pflash,format=raw,readonly=on,file=/opt/homebrew/share/qemu/ovmf-x86_64-vars.fd \

-drive file=~/win11-arm64.qcow2,if=virtio,cache=none,aio=native \

-cdrom ~/spice-guest-tools-0.164.3.iso \

-device usb-ehci,id=usb,bus=pci.0,addr=0x1d \

-device usb-tablet,bus=usb.0 \

-device intel-hda -device hda-duplex \

-vga virtio -display cocoa,gl=on \

-netdev user,id=net0,hostfwd=tcp::5555-:3389 \

-device virtio-net-device,netdev=net0 \

-device usb-storage,drive=install -drive id=install,media=cdrom,file=~/Windows11*.vhdx

5、首次启动后进入UEFI Shell,输入fs0:回车,再输入startup.nsh加载Windows安装引导程序。

6、安装过程中若出现蓝屏错误代码INACCESSIBLE_BOOT_DEVICE,需重启并进入UEFI设置,将“Boot Order”中Windows Boot Manager移至首位,同时关闭Secure Boot选项。

7、安装完毕后,必须在Windows中安装spice-guest-tools并启用SPICE服务,否则无法使用高分辨率显示、多点触控与共享剪贴板功能。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

731

2023.08.22

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

430

2024.06.27

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

571

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1089

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

787

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

451

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2347

2023.08.08

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

80

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 8.4万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.4万人学习

Vue 教程
Vue 教程

共42课时 | 6.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号