WINDOWS环境下模拟ARM架构操作系统虚拟环境
1. 主要解决问题
(1) 随着国产替代化进程的推进,ARM架构的项目环境越来越多,为了方便在ARM环境下对产品功能和性能进行测试,特研究了该方法,该方法使这一需求得以实现,
(2) 该方案解决了arm版本的产品测试必须依赖拥有arm架构的物理机的限制。可以在windows或linux宿主环境下虚拟arm架构虚拟机。
(3)该方案解决了传统vmware和Visual Box软件无法模拟ARM架构的虚拟机,因此也无法进行ARM架构的操作系统的安装,进而也无法安装ARM架构的GBase8a arm版本的产品进行测试。该方法使这一需求得以实现。
2. 准备工作
(1)在QEMU的官方网站上下载模拟器软件qemu-w64-setup-20240903.exe,并进行安装。
安装过程中如果出现类似api-ms-win-core-path-l1-1-0.dll 等dll文件的报错,可以先下载对应的dll文件,并将文件放在c:\windows\system32和c:\windows\syswow64这两个目录下即可。
(2)准备需要虚拟的操作系统安装文件,如本例的CentOS-7-aarch64-Everything.iso
(3)下载对应版本的bios固件,如本例的QEMU_EFI.fd
3.使用方式
(1)创建虚拟机文件
"D:\INSTALL\QEUM\qemu\qemu-img.exe" create -f qcow2 "E:\armtest\centos7arm.qcow2" 40G以上命令含义是: 在E:\armtest\目录下创建大小为40GB的虚拟机文件centos7arm.qcow2
该命令输出以下内容,说明创建成功
C:\Users\Administrator>"D:\INSTALL\QEUM\qemu\qemu-img.exe" create -f qcow2 "E:\a
rmtest\centos7arm.qcow2" 40G
Formatting 'E:\armtest\centos7arm.qcow2', fmt=qcow2 cluster_size=65536 extended_
l2=off compression_type=zlib size=42949672960 lazy_refcounts=off refcount_bits=1
6(2)启动虚拟机
"D:\INSTALL\QEUM\qemu\qemu-system-aarch64.exe" -m 8G -cpu cortex-a72 -smp 4 -M virt -bios "E:\armtest\QEMU_EFI.fd" -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file="E:\armtest\centos7arm.qcow2",id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file="E:\software\CentOS-7-aarch64-Everything.iso",id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp:127.0.0.1:2222-:22以上命令含义是: 以内存8GB, cpu类型是cortex-a72,代表arm架构cpu,4核心 , QEMU_EFI.fd是一个efi架构的固件,类似于BIOS,可以在随文附加中下载 , 以我们刚创建的磁盘文件E:\armtest\centos7arm.qcow2为虚拟机磁盘,安装E:\software\CentOS-7-aarch64-Everything.iso 这个操作系统(注意该iso文件必须为arm版本),hostfwd=tcp:127.0.0.1:2222-:22表示将windows的2222端口影射给虚拟机的22端口,便于后期使用ssh客户端链接虚拟机。
最终的安装效果如图:

(3)ssh客户端登录虚拟机
在虚拟机里网络配置,就用默认的eth0 ,采用DHCP , 自动获取ip,无需自己设置静态ip
使用ssh客户端链接虚拟机时,如用moba,就直接连接127.0.0.1 2222 端口就可以了,可以执行命令和传输文件。如下图:

(4)关闭窗口后,如需再次开启,由于磁盘文件中保存了虚拟机关机前的最后状态,因此,下次开机时,命令变成如下方式:
"D:\INSTALL\QEUM\qemu\qemu-system-aarch64.exe" -m 10G -cpu cortex-a72 -smp 8, -M virt -bios "E:\armtest\QEMU_EFI.fd" -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file="E:\armtest\centos7arm.qcow2",id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp:127.0.0.1:2222-:22
4. 参考文件
(1)注意:以上步骤在win7环境下测试通过。
(2)bios固件:
链接:https://pan.baidu.com/s/1NJVE4bsA9aj-scAVOBS_jQ
提取码:4sq9
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526