利用 QEMU 安装 ARM 架构的虚拟机
- 因为信创的原因,需要测试业务程序与arm系统的兼容性,但目前虚拟化服务器均为X86,常用的虚拟机软件(比如vmware)只能安装和宿主机相同CPU架构的系统。因此需要借助 QEMU(一个开源的虚拟化软件和硬件仿真器)在 X86 架构的操作系统上模拟一台 ARM 架构的虚拟机。示例安装 麒麟-V10-SP3-ARM64
配置过程
- 第1步,确认当前为 x86架构(即AMD64)Windows 10 操作系统
:: 确认当前为 Windows 10 操作系统
C:\WINDOWS\system32>wmic os get Caption,Version
Caption Version
Microsoft Windows 10 企业版 10.0.19042
:: 确认当前为x86操作系统
C:\WINDOWS\system32>echo %PROCESSOR_ARCHITECTURE%
AMD64
- 第2步,安装 openvpn
cd c:\
wget -c https://openvpn.net/downloads/openvpn-connect-v3-windows.msi
start openvpn-connect-v3-windows.msi
- 第3步,运行 ncpa.cpl 打开网络连接,将属性为 TAP-Windows Adapter V9 的新网卡改名为 eth0,并修改物理网卡的“共享”选项,如下图所示:
- 第4步,安装 QEMU 20260501(版本 11.0.50)
附:Ubuntu 参考 apt install qemu qemu-kvm,CentOS 参考 yum install qemu-kvm
:: 下载安装
cd /d c:\
wget -c https://qemu.weilnetz.de/w64/2026/qemu-w64-setup-20260501.exe
start qemu-w64-setup-20260501.exe
:: 配置环境变量
setx /m path "%path%;C:\Program Files\qemu"
echo %path%
exit
:: 确认版本, 示例为 11.0.50
qemu-system-aarch64 -version
- 第5步,创建虚拟磁盘,准备 QEMU_EFI 引导文件以及 iso 镜像文件
注:镜像文件 Kylin-Server-V10-SP3-2403-Release-20240426-ARM64.iso (大小 4.21 GB)
:: 创建虚拟磁盘, 指定50G, 初始大小 193KB
mkdir d:\vmware\kylin-arm64
qemu-img create -f qcow2 d:\vmware\kylin-arm64\kylindisk.qcow2 50G
:: 下载QEMU_EFI引导文件
cd /d c:\
wget -c http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd
move QEMU_EFI.fd d:\vmware\kylin-arm64\
:: 查看iso镜像文件
dir d:\Kylin-Server-V10-SP3-2403-Release-20240426-ARM64.iso
- 第6步,安装虚拟机,示例 4核-8G内存-50G磁盘-eth0网卡
注:下面的窗口不可以关闭,否则虚机就关机了。
qemu-system-aarch64.exe ^
-m 8192 ^
-cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 ^
-M virt,virtualization=true,highmem=on ^
-bios d:\vmware\kylin-arm64\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-mouse ^
-device usb-tablet ^
-drive if=none,file=d:\vmware\kylin-arm64\kylindisk.qcow2,id=hd0 ^
-device virtio-blk-device,drive=hd0 ^
-cdrom d:\Kylin-Server-V10-SP3-2403-Release-20240426-ARM64.iso ^
-net nic -net tap,ifname=eth0 ^
-netdev user,id=net0,hostfwd=tcp::23245-:22 ^
-device virtio-net-device,netdev=net0
- 第7步,执行上述完命令,进入操作系统的安装界面,后面正常安装即可
注:安装过程会比vmware安装更久一些,耐心等...
- 第8步,待系统安装结束,执行 arch 确认虚拟机是 ARM 架构(即aarch64),然后关机
[root@localhost ~]# arch
aarch64
[root@localhost ~]# uname -r
4.19.90-89.11.v2401.ky10.aarch64
- 第9步,以后启动虚拟机,不需要再指定iso镜像文件
注:虚拟机的 22 端口映射为本机的 23245 端口,传送文件参考:scp -P23245 d:\test.txt root@localhost:/root/
qemu-system-aarch64.exe ^
-m 8192 ^
-cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 ^
-M virt,virtualization=true,highmem=on ^
-bios d:\vmware\kylin-arm64\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-mouse ^
-device usb-tablet ^
-drive if=none,file=d:\vmware\kylin-arm64\kylindisk.qcow2,id=hd0 ^
-device virtio-blk-device,drive=hd0 ^
-net nic -net tap,ifname=eth0 ^
-netdev user,id=net0,hostfwd=tcp::23245-:22 ^
-device virtio-net-device,netdev=net0

