【笔记】MacOS通过qemu运行Windows10虚拟机
前言
MacOS Apple Silicon 通过qemu运行Windows10虚拟机
准备工作
下载编译QEMU时需要的依赖
1 | brew install pkg-config glib pixman ninja |
下载QEMU补丁

- 点击
series进行下载

下载edk2
- 在dedk2仓库 找到aarch的rpm包进行下载

下载制作系统虚拟机的工具Rufus
编译QEMU
下载项目
1 | git clone https://github.com/qemu/qemu.git |
打补丁
~/Downloads/hvf-Implement-Apple-Silicon-Support.patch:针对于 Apple Silicon 的 QEMU 补丁
1 | git apply ~/Downloads/hvf-Implement-Apple-Silicon-Support.patch |
编译项目
1 | ./configure --cpu=aarch64 --target-list=aarch64-softmmu |
添加edk2包
- 将edk2包内的所有文件复制到编译后的QEMU根目录
edk2.git-aarch64-0-20220719.209.gf0064ac3af.EOL.no.nore.updates.noarch.rpm:edk2包
1 | tar -xvf ~/Downloads/edk2.git-aarch64-0-20220719.209.gf0064ac3af.EOL.no.nore.updates.noarch.rpm |
完成编译
- 得到的build目录下的所有文件就是编译后的QEMU程序
1 | cd build |
制作Windows虚拟机文件(需要在Windows上完成)
- 在Windows上创建一个VHDX的虚拟磁盘,将Windows系统的ISO系统镜像通过工具安装到VHDX虚拟磁盘中,作为Windows虚拟机文件
创建空白VHDX虚拟磁盘
- 右键
此电脑->管理->磁盘管理->操作->创建VHD`

- 指定VHDX文件的存放位置及文件名->指定虚拟硬盘大小->选择
VHDX格式->选择动态扩展->确定
如果选择了动态扩展,虚拟硬盘大小可以随意指定

使用Rufus安装Windows操作系统
- 在
设备指定虚拟磁盘->引导类型选择指定系统镜像文件->镜像选择选择Windows To Go->开始

OK

OK

确定

完成VHDX制作
- 将制作好的VHDX文件移动到
qemu/build目录下
启动虚拟机
- 在
qemu/build目录下通过命令启动虚拟机
<vhdx>:vhdx完整文件名
1 | DYLD_LIBRARY_PATH=. \ |
初始化
- 首次启动,需要在启动时按下
Esc键,跳出BIOS选项->选择Device Manager按Return键(回车键)

- 选择
OVMF Platform Configuration按Return键

- 将
Change Preferred改为1024x768

F10保存设置->Y确定

完成
后记
- 失败了,报错:
qemu-system-aarch64: No machine specified, and there is no default