2021年苹果 m1 电脑的用户除了收费的Parallels Desktop,还能有什么选择?如果熟悉命令行工具,不妨考虑下这个免费的QEMU虚拟机,通过它你甚至可以跑Windows11,听起来挺香的吧?下面就跟随我的视频一块来看看怎么在苹果M1上利用QEMU来安装Windows11吧。
1、QEMU开源项目
QEMU项目地址:
QEMU(quick emulator)是一款由法布里斯·贝拉(Fabrice Bellard)等人编写的免费的可执行硬件虚拟化的(hardware virtualization)开源托管虚拟机(VMM)。
其与Bochs,PearPC类似,但拥有高速(配合KVM),跨平台的特性。
QEMU是一个托管的虚拟机镜像,它通过动态的二进制转换,模拟CPU,并且提供一组设备模型,使它能够运行多种未修改的客户机OS,可以通过与KVM一起使用进而接近本地速度运行虚拟机(接近真实电脑的速度)。
QEMU还可以为user-level的进程执行CPU仿真,进而允许了为一种架构编译的程序在另外一种架构上面运行(借由VMM的形式)。
2、安装
主要安装步骤,参考
该文章里有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
我把文件安装在了外接SSD盘(/Volume/SOFT)上了。
四、 建立本地分支,应用ALEXGRAF制作的 HYPERVISOR.FRAMEWORK 补丁
cd qemu git checkout 3c93dfa -b wip/hvf curl ';|git am --3way
五、 编译 QEMU
mkdir build cd build ../configure --target-list=aarch64-softmmu --enable-cocoa make -j
这一步编译时间比较长,耐心等待即可。
六、 下载预编译好为QEMU制作的EDK II OVMF EFI镜像
下载下面的地址就行了:
七、 准备 PFLASH 文件,为了实现更多的分辨率选择
cd ~/Downloads tar xzvf QEMU_EFI-*. dd if=/dev/zero of= bs=1m count=64 dd if=/dev/zero of= bs=1m count=64 dd if=QEMU_EFI.fd of= conv=notrunc dd if=QEMU_VARS.fd of= conv=notrunc
八、 下载 WINDOWS 11 ARM 版本镜像
我这里直接从 uu 上进行下载。如果方便下载很慢的话,也可以从公众号:Edge麦客,回复:win‘11 来获取国内的下载镜像地址,加速下载。
九、 制作本地安装盘
在 Download 目录运行 qemu-img命令,建立一个120G容量的虚拟磁盘文件,实际上这文件占用很少空间。
path-to-qemu/qemu-img create -f qcow2 di 120G
把path-to-qemu替换为qemu-img实际所在目录,比如我这个是保存在/Volume/SOFT/qemu/build 目录下,那命令就应该是:
/Volume/SOFT/qemu/build/qemu-img create -f qcow2 di 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/,format=raw,if=pflash,readonly=on \ -drive file=~/Downloads/,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/di2,format=qcow2,if=none,id=boot,cache=writethrough \ -device nvme,drive=boot,serial=boot
通过上面这么一条命令,来完成Windows11的安装。大概意思就是挂载一个磁盘di2,然后一个Windows11光盘镜像。
启动后,立即按ESC键,然后选择从光盘镜像上启动就行了。
十一、跳过TPM检测
启动Windows11安装后,正常情况下系统会卡住,因为检测TPM通不过。所以要进行下面的操作,以跳过TPM的检测。
不要慌,在这个界面按 Shift+F10,打开命令行界面,输入 regedit 打开注册表,然后定位到:
HKEYLOCALMACHINESYSTEMSetup
创建一个名为“LabConfig”的项,接着在“LabConfig”下创建两个 DWORD 值:
键为“BypassTPMCheck”,值为“00000001”
键为“BypassSecureBootCheck”,值为“00000001”
保存退出后,点返回上一层,再点回来,上图的提示就消失了,大家就可以正常安装 Win11。
十二、安装网卡驱动
安装结束后,需要给网卡安装驱动,不然无法上网。这里就先要打开驱动的数字签名检查。
bcdedit.exe -set TESTSIGNING ON
然后重启虚拟机,接着打开“设备管理器”,更换网卡驱动。
网卡驱动下载地址:
最后找到显示惊叹号的网卡图标,双击替换驱动,成功后就可以正常上网了。不过ARM64虚拟机里还是有很多不可知设备,看来开源社区对于苹果M1的支持度还不是很高,没有商业版的Parallels Desktop 完成度高,不过作为免费的虚拟机能达到这效果已经是相当不错了。
3. 跑分
最好的证明就是跑个基准测试了。于是赶紧去下载了7-zip,看看它的最新测试版本 21.03 beta ARM64版本在上面跑分如何?
结果如上图,果然是名不虚传。相比于收费的PD一点也不弱(下图)。
作为免费的开源的模拟器工具,它跑UWP的应用还是有问题,会直接崩溃,这情况和早期的PD版本是一样的,不知道后面会不会有所改进。要是这个问题修复了,那它的的确确是非常值得使用的。
另外它的图形加速是没有的,驱动没有到位。不过运行日常的工具软件是可以的。比如网盘客户端之类的是没问题的。