一共参考了5篇文章,感谢这些作者。
https://forums.macrumors.com/threads/success-virtualize-windows-10-for-arm-on-m1-with-alexander-grafs-qemu-hypervisor-patch.2272354/
https://medium.com/techiepedia/running-and-benchmarking-windows-10-in-m1-mac-using-acvm-qemu-4d836805695d
https://github.com/KhaosT/ACVM
https://github.com/ubenmackin/ACVM
https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278
简而言之,就是下载一个非常成熟的qemu-gui软件,下载微软win10的安装包VHDX格式,但是VHDX安装的系统非常容易损坏,要用qemu的命令转换成qcow2格式,再下载两个包virtio-win-0.1.190.iso解决联网问题,viogpudo.zip解决gpu问题,就搞定了。
0.准备工作
qemu-gui软件:https://github.com/ubenmackin/ACVM/releases/tag/v1.5
win10的安装包:http://go.macrumors.com/?id=73726X1523008&isjs=1&jv=15.1.0-stackpath&sref=https%3A%2F%2Fforums.macrumors.com%2Fthreads%2Fsuccess-virtualize-windows-10-for-arm-on-m1-with-alexander-grafs-qemu-hypervisor-patch.2272354%2F&url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fsoftware-download%2FwindowsinsiderpreviewARM64&xguid=&xs=1&xtz=-480&xuuid=6ae2f3dd616e92238d31c58fe3bddd92&xjsf=other_click__contextmenu%20%5B2%5D
m1 qemu的安装:(来源:https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278)
brew install ninja pkgconfig glib pixman
git clone https://git.qemu.org/git/qemu.git
cd qemu
git checkout 3c93dfa -b wip/hvf
curl 'https://patchwork.kernel.org/series/485309/mbox/'|git am --3way
mkdir build
cd build
../configure --target-list=aarch64-softmmu --enable-cocoa
make -j
转换win10 VHDX文件
qemu-img convert -p -O qcow2 ~/Downloads/Windows10_InsiderPreview_Client_ARM64_en-us_21354.VHDX ~/Downloads/Windows10.qcow2
把 viogpudo.zip打包成iso文件
新建文件夹,把viogpudo.zip拖入其中,打开磁盘工具-新建映像-基于文件夹新建映像,选择那个文件夹,存储为cdr文件。
再转换成iso
hdiutil makehybrid -iso -joliet -o viogpudo.iso 未命名文件夹.cdr
1.安装win10
打开软件,点击+号
给虚拟机取名
把安装包、iso拖到对应的方框内
点击 Save,然后运行
初次安装需要等待一些时间,这个略过?,正常下一步下一步。进入系统之后,右键[开始]图标,管理员身份运行command prompt
命令行输入
bcdedit -set TESTSIGNING ON
然后重启
重启之后,进入[我的电脑],打开读取的iso文件
找到NETKVM-W10-ARM64文件夹,找到netkvm文件,右键安装
此时device manager里能找到这个驱动
现在可以联网了 ,然后打开另一个iso文件,拷贝到C盘根目录(实验过多次,拷贝到其他目录无效?),右键管理员运行 InstallCerts and Driver.bat
shut down 关闭 win10 ,display改成 virtio-gpu,旁边打钩,start系统,就ok了。
2.如何修改分辨率
开机按esc,进入bios
选好之后,如果用的是外接键盘 按f10 按提示保存,如果是mac键盘是fn+f10
之后按esc退回bios主界面,按continue
但是开机之后,分辨率似乎没有变化,需要点重启,下一次就生效了。分辨率设太高似乎没什么用,我设更高,它还是按1024*768显示。
3.注意事项
windows系统非常脆弱,请按照流程 shut down 来关闭它,不要用关闭窗口quit qemu的方式,有导致Windows修复问题打不开的风险。
到现在为止做好的qcow2系统包,可以拷移动硬盘备份一下,防止偶尔Windows出问题打不开,直接替换。