当前位置:首页 > 系统教程 > 正文

Windows x86上部署ARM架构Ubuntu虚拟机(基于QEMU的保姆级教程)

Windows x86上部署ARM架构Ubuntu虚拟机(基于QEMU的保姆级教程)

随着ARM架构在服务器和嵌入式领域的普及,开发者经常需要在x86 Windows环境下测试ARM程序。本文将详细介绍如何使用QEMU虚拟化工具在Windows上创建ARM架构的Ubuntu虚拟机,即使是小白也能轻松上手。

1. 准备工作:下载必要的软件和镜像

首先,我们需要下载QEMU for Windows(一个支持ARM虚拟化的开源软件)以及Ubuntu Server for ARM的安装镜像。推荐从官方渠道获取:

  • QEMU: 访问 qemu.org 下载Windows版安装包(例如qemu-w64-setup.exe)。
  • Ubuntu ARM镜像: 从 ubuntu.com/download/server/arm 下载Ubuntu Server for ARM(或者选择Ubuntu Desktop for ARM,但服务器版更轻量)。
Windows x86上部署ARM架构Ubuntu虚拟机(基于QEMU的保姆级教程) ARM虚拟机 QEMU虚拟化 Windows下运行ARM Ubuntu ARM版 第1张

图1:下载所需文件

2. 安装QEMU并配置环境变量

安装QEMU时,建议勾选“添加QEMU到系统PATH”,这样可以在命令行中直接使用qemu-img和qemu-system-aarch64命令。如果忘记勾选,可以手动将QEMU安装目录(如C:\Program Files\qemu)添加到PATH环境变量。

3. 创建虚拟硬盘

打开命令提示符(CMD)或PowerShell,使用qemu-img命令创建一个10GB的qcow2格式虚拟硬盘:

qemu-img create -f qcow2 ubuntu-arm.img 10G

这将在当前目录生成一个名为ubuntu-arm.img的文件,它将作为虚拟机的硬盘。

4. 启动安装程序并安装Ubuntu ARM

使用以下QEMU命令启动ARM虚拟机并从ISO镜像引导:

qemu-system-aarch64 -machine virt -cpu cortex-a57 -smp 2 -m 2048 -drive file=ubuntu-arm.img,if=none,id=hd0 -device virtio-blk-device,drive=hd0 -cdrom ubuntu-22.04.3-live-server-arm64.iso -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic

参数说明:-machine virt指定虚拟平台,-cpu cortex-a57模拟ARMv8 CPU,-smp 2分配2个核心,-m 2048分配2GB内存,-drive-device挂载虚拟硬盘,-cdrom加载ISO镜像,-netdev-device配置用户模式网络,-nographic表示无图形界面(若需图形可移除并安装桌面版)。

执行命令后,将进入Ubuntu安装程序,按照提示完成安装。如果是Server版,会有一个文本界面的安装过程,按照步骤选择语言、键盘、磁盘分区(选择整个虚拟硬盘)等。

Windows x86上部署ARM架构Ubuntu虚拟机(基于QEMU的保姆级教程) ARM虚拟机 QEMU虚拟化 Windows下运行ARM Ubuntu ARM版 第2张

图2:Ubuntu ARM安装过程

5. 完成安装后启动虚拟机

安装完成后,关闭QEMU窗口。以后启动虚拟机不需要-cdrom参数,直接使用以下命令:

qemu-system-aarch64 -machine virt -cpu cortex-a57 -smp 2 -m 2048 -drive file=ubuntu-arm.img,if=none,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic

如果安装了桌面版并希望使用图形界面,可以移除-nographic并添加-vga virtio等参数。

6. 性能优化与常见问题

由于是模拟ARM指令集,性能会比原生慢。如果你的Windows支持硬件加速(如Windows 10/11的WSL2或Hyper-V),可以尝试启用KVM加速(但Windows下QEMU的ARM加速支持有限)。另外,可以增加内存和CPU核心数来改善体验。

通过以上步骤,你已经成功在Windows x86上部署了一个ARM虚拟机运行Ubuntu。借助QEMU虚拟化技术,实现了Windows下运行ARM系统,可以使用Ubuntu ARM版进行开发测试。