ARM KVM安装Win10 ARM64系统
使用感受
-
使用感受 :网络支持不完善,开机关机30秒内可完成,无显卡驱动。流畅谈不上,但响应及时不是很卡。
-
网络也可通过 KDNET 内核调试来打开
教程开始
1. 下载Win10 ARM64位系统 itellyou 镜像站
最好是下载Win10系统,Win11会检测TPM(可以百度自行解决)。
2. 下载 RedHaV 提供的 Virtio-win 的驱动镜像文件。
3, 把得到的Win10系统和Virtio-win驱动文件拷贝到同一文件夹下备用
4, 创建一个至少12G的qemu磁盘文件,安装完系统占用最少12G以上,命令如下:
qemu-img create -f vhdx -o subformat=fixed system.vhdx 20G
使用 qemu-img 工具创建一个名为 system.vhdx 的新的 VHDX 格式的虚拟磁盘映像文件,该文件的大小为 20GB 。
启动Qemu虚拟机并使用KVM来加速
注意:
如果出现报错为
Could not open option rom 'vgabios-ramfb.bin': No such file or directory
qemu-system-aarch64: virtio-blk failed to set guest notifier (-11), ensure -accel kvm is set.
qemu-system-aarch64: virtio_bus_start_ioeventfd: failed. Fallback to userspace (slower).
qemu-system-aarch64: ../../hw/pci/msix.c:622: msix_unset_vector_notifiers: Assertion `dev->msix_vector_use_notifier && dev->msix_vector_release_notifier' failed.
则需要附加安装 qume 所需依赖的包,安装命令为:
sudo apt install seabios ipxe-qemu qemu -y
KVM的加速只能在同架构虚拟不同系统上起作用,如:Debian ARM64平台的KVM能加速同为ARM平台的Win10 ARM64或Centos ARM64,不能加速Win10 x86或Linux x64等
sudo qemu-system-aarch64 \
-M virt-2.12 -smp 4 -m 3G -cpu host -enable-kvm \
-bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd -device ramfb \
-device qemu-xhci,id=xhci -usb \
-device usb-kbd -device usb-mouse -device usb-tablet -k en-us \
-device virtio-blk,drive=system \
-drive if=none,id=system,format=raw,media=disk,file=system.vhdx \
-device usb-storage,drive=install \
-drive if=none,id=install,format=raw,media=cdrom,file=/home/pi/Win10/2004.iso \
-device usb-storage,drive=drivers \
-drive if=none,id=drivers,media=cdrom,file=/home/pi/Win10/virtio-win.iso \
-device virtio-net,disable-legacy=on,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::5555-:3389 -vnc :1
使用 QEMU 在 ARM 64 位架构上模拟一个虚拟机,并配置其硬件设置(包括 CPU、内存、磁盘、网络等),同时加载 Windows 10 的安装 ISO 和其他必要的驱动程序 ISO,以便在虚拟机中安装或运行 Windows 10 操作系统。
命令解析
源码 | 解释 |
---|---|
sudo qemu-system-aarch64 \ | 以超级用户权限运行 QEMU ARM64 系统模拟器 |
-M virt-2.12 -smp 4 -m 3G \ | 指定虚拟机的机器类型为 virt-2.12,虚拟 CPU 数量为 4,内存为 3GB |
-cpu host -enable-kvm \ | 使用主机 CPU 配置,启用 KVM 加速 |
-bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \ | 使用指定的 BIOS 文件启动 |
-device ramfb \ | 添加 RAM 帧缓冲设备作为显示输出 |
-device qemu-xhci,id=xhci -usb \ | 添加 USB xHCI 控制器 |
-device usb-kbd -device usb-mouse -device usb-tablet -k en-us \ | 添加 USB 键盘、鼠标、平板设备,设置键盘布局为美式英语 |
-device virtio-blk,drive=system \ | 添加 virtio 块设备,用于系统盘 |
-drive if=none,id=system,format=raw,media=disk,file=system.vhdx \ | 指定系统盘文件和格式 |
-device usb-storage,drive=install \ | 添加 USB 存储设备,用于安装介质 |
-drive if=none,id=install,format=raw,media=cdrom,file=/home/pi/Win10/2004.iso \ | 指定安装介质的 ISO 文件 |
-device usb-storage,drive=drivers \ | 添加 USB 存储设备,用于驱动程序介质 |
-drive if=none,id=drivers,media=cdrom,file=/home/pi/Win10/virtio-win.iso \ | 指定驱动程序介质的 ISO 文件 |
-device virtio-net,disable-legacy=on,netdev=net0 \ | 添加 virtio 网络设备 |
-netdev user,id=net0,hostfwd=tcp::5555-:3389 \ | 设置网络设备的用户模式网络堆栈,并转发端口 |
-vnc :1 | 启用 VNC 服务器监听在显示号为 1 的屏幕上 |