最近需要在 X86_64 的 Windows 10 的机器上安装 arm64 指令集的银河麒麟 v10 操作系统,因此研究一下 QEMU 的使用方法。
简介
QEMU 是一款开源、跨平台的机器模拟器与虚拟机工具,核心两大能力:硬件模拟(全系统仿真) 和 用户态程序翻译,不需要依赖硬件虚拟化也能运行。
安装
Windows 安装
- 下载二进制安装包:https://qemu.weilnetz.de/w64/ ,下载
qemu‑w64‑setup‑xxxx.exe安装程序 - 安装,记住安装路径,默认:
C:\Program Files\qemu - 把这个目录加到系统 PATH 环境变量(必须,否则 cmd 找不到 qemu‑xxx.exe)
- 关闭旧 cmd/PowerShell,新开终端验证
1 | qemu-system-aarch64.exe --version |
Windows 模拟 arm64:需要额外下载
QEMU_EFI.fdUEFI 固件文件。
使用
准备文件
- 下载** ARM64 UEFI 固件 QEMU_EFI.fd(edk2‑aarch64‑code.fd)**,ARM 虚拟机没有 BIOS,靠 EFI 固件引导。
- 下载 ARM64 系统 ISO 镜像(Ubuntu‑ARM64 / 银河麒麟 ARM64 等)
- 创建虚拟磁盘(cmd 执行)
1 | qemu-img create -f qcow2 arm64_disk.qcow2 60G |
安装系统
把下面保存为 install.bat,修改路径为你本机真实路径:
1 | @echo off |
参数说明:
-M virt:QEMU 标准 ARM 虚拟机板卡-cpu cortex‑a72:模拟 ARMv8‑A CPU;也可以写max-accel tcg,thread=multi:软件多线程翻译,x86 Windows 唯一可用加速选项virtio-win-nic user:NAT 网络,虚拟机可访问外网-bios:指定 aarch64 EFI 固件,**缺少直接黑屏无法启动
安装完成后,把命令里的 cdrom 那一行删掉,就是正常启动虚拟机脚本。
启动系统
把下面保存为 start.bat,修改路径为你本机真实路径:
1 | @echo off |
参数说明:
- 与安装脚本相比,主要删除了 cdrom 那一行
- -device virtio-gpu-pci,安装时使用的是 virtio-gpu,两者区别是: 底层 GPU 逻辑完全一样,只是总线类型不同。由于场景为
-machine virt(aarch64 virt 板子),推荐用 virtio-gpu-pci,麒麟 V10 ARM64 对 PCI 设备驱动识别更稳。
问题记录
虚拟机分辨率调整
启动麒麟v10桌面版系统,分辨率太低,只有640*480的解决方法:
- 打开终端,输入命令
1 | # 打开终端,查看显示器名称 |
参考链接
- qemu,by qemu.
- Running QEMU VMs on ARM64: UEFI Requirements,by Nikita Vakula.
- windows qemu 安装 arm 虚拟机,by 三希.
- 安装与配置麒麟V10操作系统,by huawei.