在Windows X86上使用QEMU安装openEuler aarch64
前言
本文将指导你在Windows系统上使用QEMU虚拟化工具安装openEuler的aarch64版本,这对于需要在Windows环境下进行ARM架构开发和测试的用户非常有用。
准备工作
在开始之前,请确保你的Windows系统满足以下要求:
- Windows 10或11(64位)
- 至少8GB内存(推荐16GB)
- 50GB可用磁盘空间
- 已启用Hyper-V或关闭Hyper-V(QEMU与Hyper-V可能有冲突)
第一步:安装QEMU for Windows
1、下载QEMU for Windows安装包:
访问 QEMU for Windows – Installers (64 bit) 下载最新版本的QEMU for Windows(如qemu-w64-setup-20250422.exe)
2、运行安装程序:
- 选择安装路径(建议使用默认路径)
- 确保勾选"Add QEMU to the system PATH for all users"选项
- 完成安装
3、验证安装:
打开命令提示符(cmd)或PowerShell,运行:
qemu-system-aarch64 --version
应该能看到QEMU的版本信息
第二步:准备安装文件
1、下载openEuler aarch64 ISO镜像:
openEuler-24.03-LTS-SP1-aarch64-dvd.iso
2、创建虚拟磁盘:
qemu-img create -f qcow2 openEuler-aarch64.qcow2 20G
3、下载UEFI固件(用于AArch64虚拟机的启动):
qemu_efi.fd
下载地址: https://releases.linaro.org/components/kernel/uefi-linaro/
第三步:配置并启动QEMU虚拟机
1、cmd执行启动脚本:
qemu-system-aarch64.exe -m 4G -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios D:\arm\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=D:\arm\openEuler-aarch64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=D:\arm\openEuler-24.03-LTS-aarch64-dvd.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom
2、双击运行start_vm.bat启动虚拟机
第四步:安装openEuler系统
1、虚拟机启动后,你会看到GRUB引导菜单,选择"Install openEuler 24.03-LTS"
2、按照安装向导进行操作:
- 选择语言(建议英文)
- 配置安装目标:选择创建的虚拟磁盘
- 设置root密码
- 创建普通用户(可选)
- 开始安装
3、安装完成后,系统会提示重启
4、修改启动脚本,移除CDROM引导:
编辑start_vm.bat,删除或注释掉-cdrom %ISO%这一行
5、重新启动脚本进入已安装的系统
第五步:网络配置(需要有虚拟网卡,可以安装openvpn)
安装完成后,在openEuler中配置静态IP或DHCP:
# 查看网卡名称
ip a
# 编辑网络配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置文件内容示例:
TYPE=Ethernet
BOOTPROTO=static ## 设置成静态ip
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
ONBOOT=yes
IPADDR=192.168.100.10 #指定ip地址
NETMASK=255.255.255.0
GATEWAY=192.168.100.1 #看虚拟网卡的网关
DNS1=8.8.8.8
DNS2=8.8.4.4
指定网卡启动虚拟机
qemu-system-aarch64 -m 4G -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:\arm\QEMU_EFI.fd -net nic -net tap,ifname=tap0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:\arm\openEuler-aarch64.qcow2,id=hd0 -device virtio-blk-device,drive=hd0
第六步:配置启动脚本
创建一个启动脚本start_vm.bat:
@echo off
:: QEMU 启动脚本 for OpenEuler ARM64
:: 请根据实际情况修改路径
set QEMU_PATH="D:\qemu\qemu-system-aarch64.exe"
:: 如果qemu-system-aarch64.exe在系统PATH环境变量中,可以注释掉上面这行,直接使用qemu-system-aarch64
set MEMORY=4000
set CPU=cortex-a72
set SMP=4,cores=4,threads=1,sockets=1
set MACHINE=virt
set BIOS_FILE="D:\arm\QEMU_EFI.fd"
set TAP_INTERFACE=tap0
set DISK_IMAGE="D:\arm\openEuler-aarch64.qcow2"
echo 正在启动 QEMU 虚拟机...
echo.
%QEMU_PATH% ^
-m %MEMORY% ^
-cpu %CPU% ^
-smp %SMP% ^
-M %MACHINE% ^
-bios %BIOS_FILE% ^
-net nic ^
-net tap,ifname=%TAP_INTERFACE% ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-mouse ^
-device VGA ^
-drive if=none,file=%DISK_IMAGE%,id=hd0 ^
-device virtio-blk-device,drive=hd0
:: 检查QEMU是否成功启动
if %errorlevel% neq 0 (
echo.
echo QEMU 启动失败!请检查:
echo 1. QEMU 是否已正确安装?
echo 2. 路径 "%QEMU_PATH%" 是否正确?
echo 3. BIOS 文件 "%BIOS_FILE%" 是否存在?
echo 4. 磁盘镜像 "%DISK_IMAGE%" 是否存在?
echo 5. TAP 网络接口 "%TAP_INTERFACE%" 是否已创建并配置?
pause
)
echo.
echo QEMU 已退出。
pause
双击运行start_vm.bat启动虚拟机
常见问题解决
- QEMU在Windows上使用TCG加速可能较慢
- 可以尝试减少内存或CPU核心数
- 考虑使用WSL2中的QEMU可能获得更好性能
- 确保Windows防火墙没有阻止QEMU
- 可以尝试不同的网络模式(如tap)
- 如果GTK显示有问题,可以尝试
-display sdl或-display vnc
优化建议
启用KVM加速(如果Windows支持):
- 需要Windows Subsystem for Linux 2 (WSL2)
- 在WSL2中安装QEMU可能获得更好性能
调整内存大小:
- 根据主机配置调整
-m参数的值
使用VirtIO驱动:
- 可以获得更好的磁盘和网络性能
结语
通过本指南,你应该已经成功在Windows上使用QEMU运行了openEuler的aarch64版本。这种方法非常适合需要在Windows环境下进行ARM架构开发和测试的场景。虽然性能可能不如原生ARM硬件,但它提供了一个方便的测试和学习环境。
转自:在Windows X86上使用QEMU安装openEuler aarch64版本的详细指南_qemu openeuler aarch64-CSDN博客
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)