QEMU 在 Windows 上的核心用途
QEMU 在 Windows 系统上主要发挥以下作用:
- 跨平台模拟:支持在 x86 架构的 Windows 上模拟 ARM、RISC-V等其他硬件架构,便于开发测试。
- 多系统运行:可在 Windows 上运行 Linux 等操作系统,如 Ubuntu、openEuler 等。
典型应用场景:
- 在 Windows 上开发测试 ARM 架构的应用程序;
- 运行 Linux 系统以进行特定软件或服务的测试;
- 进行嵌入式开发、操作系统学习、逆向工程等场景。
Windows 上使用 QEMU 运行其他操作系统的步骤
1. 安装 QEMU
首先,从官方下载链接下载 QEMU for Windows 版本,并运行安装程序。
安装过程中,建议勾选 “Add QEMU to the system PATH” 选项,以便在命令行中直接调用 QEMU 命令。
验证安装是否成功:
打开命令提示符(cmd)或 PowerShell,执行:
qemu-system-aarch64 --version
此命令将显示 QEMU 的版本信息,确认安装成功。如果提示”不是内部或外部命令”,请检查环境变量 PATH 是否配置正确。
2. 准备虚拟磁盘和镜像
在运行虚拟机之前,需要准备两件东西:虚拟磁盘文件 和 目标系统的 ISO 镜像。
创建虚拟磁盘
使用 qemu-img 命令创建虚拟磁盘,以下示例创建一个 20GB 大小的 qcow2 格式磁盘:
qemu-img create -f qcow2 openEuler-arm.qcow2 20G
参数说明:
-f qcow2:指定磁盘格式为 qcow2(QEMU 推荐的动态扩容格式,节省空间);openEuler-arm.qcow2:磁盘文件名,可自定义;20G:磁盘容量,可根据需要调整为 40G、100G 等。
下载 ISO 镜像
从官方渠道下载目标系统的 ISO 镜像文件,例如:
- openEuler ARM 版:适用于 ARM 架构模拟;
- Ubuntu ARM 版:常用的桌面/服务器 Linux 发行版;
- 其他你需要测试的操作系统镜像。
3. 启动虚拟机
使用命令行启动虚拟机。以下是一个以运行 openEuler ARM 版 为例的启动命令:
qemu-system-aarch64.exe -m 4G -cpu cortex-a72 -smp 4 -M virt -bios QEMU_EFI.fd -drive if=none,file=openEuler-arm.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -cdrom openEuler-aarch64.iso -device virtio-scsi-device -device scsi-cd,drive=cdrom
核心参数说明:
| 参数 | 含义 |
|---|---|
-m 4G |
分配 4GB 内存给虚拟机 |
-cpu cortex-a72 |
模拟 Cortex-A72 CPU 架构 |
-smp 4 |
分配 4 个 CPU 核心 |
-M virt |
使用 virt 虚拟硬件平台(ARM 通用) |
-bios QEMU_EFI.fd |
指定 UEFI BIOS 文件(ARM 启动必需) |
-drive ... -device ... |
挂载虚拟磁盘 |
-cdrom xxx.iso |
挂载 ISO 镜像作为光驱 |
注意:QEMU_EFI.fd(ARM UEFI 固件)需要单独下载,通常可从 QEMU 安装目录或开源固件项目(如 EDK2)获取,请确保路径正确。
4. 简化操作:使用批处理脚本启动
每次输入长串命令很麻烦,推荐创建一个批处理脚本(如 start_vm.bat)来简化启动过程。以下是一个完整示例:
@echo off
:: QEMU启动脚本(示例)
set QEMU_PATH="C:\Program Files\qemu\qemu-system-aarch64.exe"
set MEMORY=4096
set CPU=cortex-a72
set DISK_IMAGE="D:\VMs\openEuler-arm.qcow2"
set ISO_IMAGE="D:\ISOs\openEuler-aarch64.iso"
set BIOS_FILE="D:\VMs\QEMU_EFI.fd"
%QEMU_PATH% -m %MEMORY% -cpu %CPU% -smp 4 -M virt -bios %BIOS_FILE% ^
-drive if=none,file=%DISK_IMAGE%,id=hd0 -device virtio-blk-device,drive=hd0 ^
-cdrom %ISO_IMAGE% -device virtio-scsi-device -device scsi-cd,drive=cdrom ^
-net nic -net tap,ifname=tap0 -device nec-usb-xhci -device usb-kbd -device usb-mouse
if %errorlevel% neq 0 (
echo QEMU启动失败,请检查配置。
pause
)
使用方法:
- 将以上内容保存为
start_vm.bat; - 根据自己的实际路径修改
QEMU_PATH、DISK_IMAGE、ISO_IMAGE、BIOS_FILE等变量; - 双击
.bat文件即可启动虚拟机。
用的是Debian多少版本呢?有没有写好的批处理
兄弟,这个你可以借助AI来写。
Debian版本目前RISC-V可以使用Debian13,支持RISC-V
1
1
非常好