
可能是全网最简单最详细的Windows环境使用QEMU模拟ARM的教程
本来是想着用QEMU模拟运行下ARM64的Windows10,结果发现本人电脑也不支持运行ARM64,大无语,但是既然做了,还是觉得应该把具体教程发出来帮助有需要的人。
注意:本文参考:https://zhuanlan.zhihu.com/p/32905265编写,其实这本身就是教程,但是由于该教程对于新手来说有一定上手难度,所以我就出了个更简单详细的教程供大家参考,教程中的教程了属于是,需要注意的是我与它部署系统的方式完全不同。(注意:我的磁盘命名也和它的不太一样,所以请勿两个文章同时参考)
所需的所有文件下载链接如下:
天翼云盘不限速:https://cloud.189.cn/t/a67ziyF3u2yu (访问码:tb9c)
首先创建要安装系统的VHD虚拟磁盘:
Win+X然后按K打开磁盘管理


创建VHD(如图,选择位置并命名,选择大小(较新版win10(1809以后)安装需要20G以上空间),推荐选择动态扩展,原因见图)

PS:如何卸载VHD:直接删除VHD文件是不行的,会提示system正在占用,如图操作之后即可直接删除

卸载VHD
要想重新挂载VHD:与上文同理,如图操作即可

重新挂载VHD
然后继续:在磁盘管理中对VHD进行管理:初始化从磁盘——默认GPT——确认


新建简单卷:

先新建EFI分区,格式为FAT32(之前也有FAT16的格式,比较老了,尽量不要用)大小200M-无限大一般都行(黑苹果引导MACOS需要至少300M),我强迫症,弄了500M

一定记得选FAT32,默认是NTFS


系统安装分区:
剩下的部分全部新建为默认的NTFS格式就行
卷标无所谓,方便识别也可以命名为E:EFI和W:WindowsARM
如图:

之后在资源管理器内可以看到:

注意:此处默认你有ARM架构的Windows镜像,如果没有,参考相关专栏下载:
Windows10ARM
Windows11ARM
之后开始恢复镜像:方法巨多,我这里以dism++为例,比较方便,不会用没关系。
有Firpe的直接用easyrc安装更方便。
Dism++已经打包在前面的链接里了。

如图操作:恢复功能——系统还原——选择镜像——选择安装位置(刚刚创建的W:WindowsARM虚拟磁盘分区)——确定


安装完成之后,需要修复引导,如图操作:恢复功能——引导修复(主要,一定要先选中刚才安装系统的虚拟磁盘,不要选择你真机的主引导盘C盘,否则恢复的引导就是你真机的)——更多(一定要选更多,不然你真机引导就无了)——选择刚刚弄的E:EFI分区(看不懂直接选盘符E,大小500m的就行)——确定


更多!!!!

然后系统层面就已经部署完成了

如图:E、W盘
注意:然后卸载该(E、W)虚拟驱动器:分离VHD,不放心可以备份下(暂时复制到别的地方)

之后就是用QEMU启动的阶段了,
先下载安装QEMU,安装之后没有图形化操作界面,也已经打包在最前面的链接里了
给个官网链接:https://qemu.weilnetz.de/,如果时间已经过了很久了直接去官网下载安装最新版就行,浏览器下载很慢,复制链接去迅雷下载

还需要下载:Linaro UEFI Release 17.08
和:USB Mass Storage DXE 驱动
已经全部打包在前面的网盘里了
首先,需要再次创建一个虚拟磁盘,步骤同上,大小100m足矣,格式仍然是FAT32,然后将USB驱动放入

动态扩展



然后卸载该(U:USB)虚拟磁盘:分离VHD,不放心可以备份下(暂时复制到别的地方)

然后,将Linaro UEFI Release 17.08(即QEMU_EFI.fd)复制到一个你知道的地方,我直接和两个VDH放一块了

然后,统计三个文件的路径:
1. EFI "D:\WindowsARM-RUN\QEMU_EFI.fd" 500m
2. WindowsARM "D:\WindowsARM-RUN\WindowsARM.vhd" 50G
3. USB.vhd "D:\WindowsARM-RUN\USB.vhd" 100m
注意:此处只列出了分区,其中1、2分区属于同一块虚拟磁盘:WindowsARM.vhd
分别对应下列各文件地址和顺序:
给出以下命令:
qemu-system-aarch64 -M virt -m 2048 -cpu cortex-a53 -smp 2 -bios EFI文件所在路径 -device VGA -device nec-usb-xhci -device usb-kbd -device usb-tablet -drive file=WindowsARM.vhd文件所在路径,id=usbstick,if=none -device usb-storage,drive=usbstick -hda USB.vhd文件所在路径
其中
-m 2048 为内存大小,单位为 MB
-cpu cortex-a53 为模拟的 CPU 内核,可选 cortex-a57 和 cortex-a53
-smp 2 为模拟的 CPU 核心数
以上可以按实际情况调整,我已调整为a57核心,4核心↓
如果你和我的各文件路径一样,那么命令应该是:
qemu-system-aarch64 -M virt -m 2048 -cpu cortex-a57 -smp 4 -bios D:\WindowsARM-RUN\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-kbd -device usb-tablet -drive file= D:\WindowsARM-RUN\WindowsARM.vhd,id=usbstick,if=none -device usb-storage,drive=usbstick -hda D:\WindowsARM-RUN\USB.vhd
然后:新建一个文本文档——把上面的命令复制进去——保存——改名为:随便.bat(我改名为runme.bat)——然后复制进qemu的安装文件夹(默认为:"C:\Program Files\qemu")——双击运行即可打开虚拟机



如果黑色的CMD窗口一闪而过,说明你的电脑不支持模拟ARM64架构,或者说你的配置有问题。
前面也说了,其实我的电脑也不支持,大无语,所以以下内容均参考自参考文献。
模拟器启动之后,按 ESC 进入 UEFI 的设置菜单,选择 Boot Manager,选择最下面的 EFI Internal Shell,进入 EFI Shell
然后应该可以看到USB.vhd的分区 FS0:
复制并输入以下命令加载 USB Mass Storage 驱动
load fs0:\USBMassStorageDxe_arm64.efi
然后是以下命令,用来刷新设备列表
map -r
这时应该能看到一个 FS0: 和一个 FS1:
一般WindowsARM.vhd的 ESP 会分配到 FS0:
所以还要输入:
fs0:\efi\boot\bootaa64.efi
然后就可以启动系统
后面的图片及教程也详见参考文献,我就不再引用了。
再次声明来自参考文献:https://zhuanlan.zhihu.com/p/32905265
最后,如有谬误,还请大佬指出!