QEMU 8.2.2 Windows 部署 UOS ARM 虚拟机:3步脚本配置与 SSH 端口 2222 映射 QEMU 8.2.2 Windows 部署 UOS ARM 虚拟机3步脚本配置与 SSH 端口 2222 映射对于需要在 Windows 环境下进行 ARM 架构开发或测试的技术人员来说搭建一个稳定可靠的 ARM 虚拟机环境是必不可少的。本文将介绍如何使用 QEMU 8.2.2 在 Windows 系统上快速部署 UOS ARM 虚拟机并通过脚本化配置实现一键启动和 SSH 端口映射。1. 环境准备与基础配置1.1 安装 QEMU 8.2.2首先需要从 QEMU 官网下载 Windows 版本的安装包。推荐使用 8.2.2 版本它在 ARM 虚拟化方面有较好的稳定性和性能表现。安装步骤运行下载的安装程序如 qemu-w64-setup-20231224.exe选择安装路径默认是 C:\Program Files\qemu勾选Add QEMU to the system PATH for all users选项完成安装后验证安装是否成功qemu-system-aarch64 --version1.2 准备必要文件部署 UOS ARM 虚拟机需要两个关键文件UOS ARM 系统镜像从统信官网下载最新版本ARM64 BIOS 文件QEMU_EFI.fd从 Linaro 官网获取建议创建一个专门目录存放这些文件例如D:\VirtualMachines\uos_arm\ ├── QEMU_EFI.fd └── uniontechos-desktop-20-professional-1050-arm64.iso提示UOS 镜像文件较大约4GB下载时请确保网络连接稳定。如果下载速度较慢可以尝试使用镜像站点或下载工具。2. 自动化部署脚本2.1 创建虚拟磁盘首先需要为虚拟机创建一个虚拟磁盘文件。打开命令提示符导航到你的虚拟机目录执行qemu-img create -f qcow2 uos_arm.qcow2 64G这个命令会创建一个 64GB 的 qcow2 格式虚拟磁盘。qcow2 格式支持动态分配空间实际占用的磁盘空间会随着使用量增长。2.2 安装脚本install.bat创建一个批处理文件 install.bat内容如下echo off set QEMU_PATHC:\Program Files\qemu\qemu-system-aarch64.exe set BIOS_PATHD:\VirtualMachines\uos_arm\QEMU_EFI.fd set IMAGE_PATHD:\VirtualMachines\uos_arm\uniontechos-desktop-20-professional-1050-arm64.iso set DISK_PATHD:\VirtualMachines\uos_arm\uos_arm.qcow2 %QEMU_PATH% ^ -m 4096 ^ -cpu cortex-a72 ^ -smp 4 ^ -M virt ^ -bios %BIOS_PATH% ^ -device VGA ^ -device nec-usb-xhci ^ -device usb-mouse ^ -device usb-kbd ^ -drive ifnone,file%DISK_PATH%,idhd0 ^ -device virtio-blk-device,drivehd0 ^ -drive ifnone,file%IMAGE_PATH%,idcdrom,mediacdrom ^ -device virtio-scsi-device ^ -device scsi-cd,drivecdrom ^ -net nic,modelpcnet关键参数说明参数说明-m 4096分配 4GB 内存-cpu cortex-a72使用 Cortex-A72 CPU 模型-smp 4使用 4 个 CPU 核心-M virt使用 QEMU 的 virt 机器类型2.3 启动脚本start.bat安装完成后创建启动脚本 start.batecho off set QEMU_PATHC:\Program Files\qemu\qemu-system-aarch64.exe set BIOS_PATHD:\VirtualMachines\uos_arm\QEMU_EFI.fd set DISK_PATHD:\VirtualMachines\uos_arm\uos_arm.qcow2 %QEMU_PATH% ^ -m 8192 ^ -cpu cortex-a72 ^ -smp 8 ^ -M virt ^ -bios %BIOS_PATH% ^ -device VGA ^ -device nec-usb-xhci ^ -device usb-mouse ^ -device usb-kbd ^ -drive ifnone,file%DISK_PATH%,idhd0 ^ -device virtio-blk-device,drivehd0 ^ -net user,hostfwdtcp::2222-:22 ^ -net nic这个脚本与安装脚本的主要区别是移除了 CD-ROM 驱动不再需要安装镜像增加了网络端口映射将虚拟机的 22 端口映射到主机的 2222 端口提高了内存和 CPU 配置8GB 内存8 个 CPU 核心3. 系统安装与配置3.1 执行安装双击运行 install.batQEMU 窗口会启动并进入 UOS 安装界面按照屏幕提示完成安装过程安装完成后关闭虚拟机注意ARM 虚拟机在 x86 主机上运行时性能较低安装过程可能会比较缓慢这是正常现象。3.2 启用 SSH 服务为了通过 SSH 连接虚拟机需要在 UOS 系统中启用 SSH 服务启动虚拟机运行 start.bat登录 UOS 系统打开终端执行以下命令sudo apt update sudo apt install openssh-server -y sudo systemctl enable ssh sudo systemctl start ssh3.3 连接测试在主机上可以使用任何 SSH 客户端连接虚拟机ssh -p 2222 usernamelocalhost其中 username 是你在 UOS 系统中创建的用户名。4. 性能优化与高级配置4.1 性能调优由于 ARM 指令需要在 x86 主机上通过软件模拟执行性能损失较大。可以通过以下方式优化使用 KVM 加速如果主机支持-accel kvm调整 CPU 模型-cpu max启用多线程翻译-accel tcg,threadmulti4.2 网络配置除了基本的端口转发还可以配置更复杂的网络环境桥接网络-netdev bridge,brbr0,idnet0 -device virtio-net-pci,netdevnet0TAP 设备-netdev tap,idnet0 -device virtio-net-pci,netdevnet04.3 共享文件夹实现主机与虚拟机之间的文件共享在主机上创建共享目录使用 Samba 或 NFS 在虚拟机中挂载或者使用 virtio-fs-fsdev local,security_modelpassthrough,idfsdev0,pathD:\share \ -device virtio-9p-pci,idfs0,fsdevfsdev0,mount_taghostshare然后在虚拟机中挂载mount -t 9p -o transvirtio hostshare /mnt通过以上配置你可以在 Windows 系统上获得一个功能完整的 UOS ARM 开发环境既可以通过图形界面操作也可以通过 SSH 进行命令行访问。这种配置特别适合需要在不同架构间进行交叉编译和测试的开发场景。