「苹果M1」免费QEMU安装Windows11(Build 22000.100)教程|PD替代

2021年苹果 m1 电脑的用户除了收费的Parallels Desktop,还能有什么选择?如果熟悉命令行工具,不妨考虑下这个免费的QEMU虚拟机,通过它你甚至可以跑Windows11,听起来挺香的吧?下面就跟随我的视频一块来看看怎么在苹果M1上利用QEMU来安装Windows11吧。

1、QEMU开源项目

QEMU项目地址: https://www.qemu.org

「苹果M1」免费QEMU安装Windows11,Build22000.100教程|PD替代

QEMU(quick emulator)是一款由法布里斯·贝拉(Fabrice Bellard)等人编写的免费的可执行硬件虚拟化的(hardware virtualization)开源托管虚拟机(VMM)。

其与Bochs,PearPC类似,但拥有高速(配合KVM),跨平台的特性。

QEMU是一个托管的虚拟机镜像,它通过动态的二进制转换,模拟CPU,并且提供一组设备模型,使它能够运行多种未修改的客户机OS,可以通过与KVM一起使用进而接近本地速度运行虚拟机(接近真实电脑的速度)。

QEMU还可以为user-level的进程执行CPU仿真,进而允许了为一种架构编译的程序在另外一种架构上面运行(借由VMM的形式)。

2、安装

主要安装步骤,参考 https://gist.github.com/niw/e4313b9c14e968764a52375da41b4278

该文章里有10步骤,按照这个文章里的步骤,我顺利安装上了Windows10 。以此步骤我安装上了Windows 11.

2.1 具体步骤

一、安装XCODE 12、MACPORTS在本机上。(用HOMEBREW也是一样的)

xcode-select --install

二、安装必要的软件包:

sudo port install ninja pkgconfig glib2 libpixman

三、克隆QEMU源代码

cd /Volume/SOFT
git clone https://git.qemu.org/git/qemu.git

我把文件安装在了外接SSD盘(/Volume/SOFT)上了。

四、 建立本地分支,应用ALEXGRAF制作的 HYPERVISOR.FRAMEWORK 补丁

cd qemu
git checkout 3c93dfa -b wip/hvf
curl 'https://patchwork.kernel.org/series/485309/mbox/'|git am --3way

五、 编译 QEMU

mkdir build
cd build
../configure --target-list=aarch64-softmmu --enable-cocoa
make -j

这一步编译时间比较长,耐心等待即可。

六、 *载下**预编译好为QEMU制作的EDK II OVMF EFI镜像

*载下**下面的地址就行了:

https://gist.github.com/niw/4f1f9bb572f40d406866f23b3127919b/raw/f546faea68f4149c06cca88fa67ace07a3758268/QEMU_EFI-cb438b9-edk2-stable202011-with-extra-resolutions.tar.gz

七、 准备 PFLASH 文件,为了实现更多的分辨率选择

cd ~/Downloads
tar xzvf QEMU_EFI-*.tar.gz
dd if=/dev/zero of=pflash0.img bs=1m count=64
dd if=/dev/zero of=pflash1.img bs=1m count=64
dd if=QEMU_EFI.fd of=pflash0.img conv=notrunc
dd if=QEMU_VARS.fd of=pflash1.img conv=notrunc

八、 *载下** WINDOWS 11 ARM 版本镜像

我这里直接从 uupdump.net 上进行*载下**。如果方便*载下**很慢的话,也可以从公众号:Edge麦客,回复:win‘11 来获取国内的*载下**镜像地址,加速*载下**。

九、 制作本地安装盘

在 Download 目录运行 qemu-img命令,建立一个120G容量的虚拟磁盘文件,实际上这文件占用很少空间。

path-to-qemu/qemu-img create -f qcow2 disk1.qcow 120G

把path-to-qemu替换为qemu-img实际所在目录,比如我这个是保存在/Volume/SOFT/qemu/build 目录下,那命令就应该是:

/Volume/SOFT/qemu/build/qemu-img create -f qcow2 disk1.qcow 120G

十、 运行WINDOWS11安装

/Volume/SOFT/qemu/build/qemu-system-aarch64 \
  -monitor stdio \
  -M virt,highmem=off \
  -accel hvf \
  -cpu cortex-a72 \
  -smp 4 \
  -m 4096 \
  -drive file=~/Downloads/pflash0.img,format=raw,if=pflash,readonly=on \
  -drive file=~/Downloads/pflash1.img,format=raw,if=pflash \
  -device ramfb \
  -device qemu-xhci \
  -device usb-kbd \
  -device usb-tablet \
  -device intel-hda \
  -device hda-duplex \
  -nic user,model=virtio \
  -drive file=~/Downloads/disk1.qcow2,format=qcow2,if=none,id=boot,cache=writethrough \
  -device nvme,drive=boot,serial=boot

通过上面这么一条命令,来完成Windows11的安装。大概意思就是挂载一个磁盘disk1.qcow2,然后一个Windows11光盘镜像。

启动后,立即按ESC键,然后选择从光盘镜像上启动就行了。

十一、跳过TPM检测

启动Windows11安装后,正常情况下系统会卡住,因为检测TPM通不过。所以要进行下面的操作,以跳过TPM的检测。

不要慌,在这个界面按 Shift+F10,打开命令行界面,输入 regedit 打开注册表,然后定位到:

HKEY LOCAL MACHINESYSTEMSetup

创建一个名为“LabConfig”的项,接着在“LabConfig”下创建两个 DWORD 值:

键为“BypassTPMCheck”,值为“00000001”

键为“BypassSecureBootCheck”,值为“00000001”

保存退出后,点返回上一层,再点回来,上图的提示就消失了,大家就可以正常安装 Win11。

十二、安装网卡驱动

安装结束后,需要给网卡安装驱动,不然无法上网。这里就先要打开驱动的数字签名检查。

bcdedit*ex.e** -set TESTSIGNING ON

然后重启虚拟机,接着打开“设备管理器”,更换网卡驱动。

网卡驱动*载下**地址:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.190-1/virtio-win-0.1.190.iso

最后找到显示惊叹号的网卡图标,双击替换驱动,成功后就可以正常上网了。不过ARM64虚拟机里还是有很多不可知设备,看来开源社区对于苹果M1的支持度还不是很高,没有商业版的Parallels Desktop 完成度高,不过作为免费的虚拟机能达到这效果已经是相当不错了。

3. 跑分

最好的证明就是跑个基准测试了。于是赶紧去*载下**了7-zip,看看它的最新测试版本 21.03 beta ARM64版本在上面跑分如何?

「苹果M1」免费QEMU安装Windows11,Build22000.100教程|PD替代

结果如上图,果然是名不虚传。相比于收费的PD一点也不弱(下图)。

「苹果M1」免费QEMU安装Windows11,Build22000.100教程|PD替代

作为免费的开源的模拟器工具,它跑UWP的应用还是有问题,会直接崩溃,这情况和早期的PD版本是一样的,不知道后面会不会有所改进。要是这个问题修复了,那它的的确确是非常值得使用的。

另外它的图形加速是没有的,驱动没有到位。不过运行日常的工具软件是可以的。比如网盘客户端之类的是没问题的。