当前位置: 首页 > news >正文

Windows QEMU实战:飞腾Aarch64与Loongarch64双架构系统安装指南

1. 为什么要在Windows上模拟飞腾Aarch64和Loongarch64架构?

最近几年国产CPU架构发展迅猛,飞腾(Phytium)的Aarch64和龙芯(Loongson)的Loongarch64就是其中的代表。但很多开发者手头只有Windows系统的x86电脑,想要体验或测试这些架构下的操作系统该怎么办?QEMU这个开源虚拟机就能帮我们解决这个问题。

我去年接手了一个需要适配国产CPU的项目,当时就是用QEMU在Windows笔记本上搭建了完整的测试环境。实测下来,虽然性能比不上真机,但用来做基础开发和测试完全够用。最让我惊喜的是,现在QEMU对这两种架构的模拟已经相当成熟,只要配置得当,运行银河麒麟、ArchLinux等系统都很流畅。

2. 准备工作:搭建QEMU环境

2.1 选择适合的QEMU版本

首先要注意的是,不同架构需要不同版本的QEMU。根据我的踩坑经验:

  • 对于Aarch64架构,推荐使用qemu-w64-setup-2020版本
  • 对于Loongarch64架构,必须使用2023年8月之后的版本(比如qemu-w64-setup-20230822),旧版本根本不支持这个架构

下载地址可以直接在QEMU官网找到,建议两个版本都保留,因为后面我们会发现它们不能互相替代。

2.2 准备系统镜像文件

你需要提前下载好要安装的系统镜像:

  • Aarch64架构:银河麒麟(Kylin)的ARM版本,比如Kylin-Desktop-V10-Release-2107-arm64.iso
  • Loongarch64架构:ArchLinux或龙芯麒麟的Loongarch64版本

这里有个小技巧:下载好的镜像最好放在纯英文路径下,比如D:\qemu\iso,避免中文路径可能导致的奇怪问题。

3. 安装飞腾Aarch64系统

3.1 创建虚拟磁盘

打开命令提示符,进入QEMU安装目录(通常是C:\Program Files\qemu),执行:

qemu-img.exe create D:\Kylin\kylinDesktop.img 80G

这个命令会创建一个80GB的虚拟磁盘。如果你需要更大空间,可以调整最后一个参数。

3.2 关键安装命令解析

安装Aarch64系统的核心命令如下:

qemu-system-aarch64.exe -m 6333 -cpu cortex-a72 -smp 2 -M virt -bios edk2-aarch64-code.fd -net nic,model=pcnet -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:\Kylin\Kylin-Desktop-V10-Release-2107-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive file=D:\Kylin\kylinDesktop.img,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0

这个命令看起来复杂,其实可以分解理解:

  • -m 6333:分配6GB内存(实际是6333MB)
  • -cpu cortex-a72:模拟Cortex-A72 CPU
  • -smp 2:使用2个CPU核心
  • -bios edk2-aarch64-code.fd:指定UEFI固件文件(这个文件需要提前下载好)
  • -drive参数分别指定了光盘镜像和虚拟磁盘

3.3 网络配置技巧

第一次启动时可能会遇到网络问题,这是因为缺少TAP驱动。解决方法:

  1. 安装Tap-Windows驱动
  2. 在网络连接设置中,将新增的TAP适配器重命名为tap0
  3. 修改本地连接的属性,开启共享

安装完成后,使用这个命令启动带网络的虚拟机:

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 2 -M virt -bios edk2-aarch64-code.fd -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -device virtio-scsi-device -drive if=none,file=D:\Kylin\kylinDesktop.img,id=hd0 -device virtio-blk-device,drive=hd0 -net nic -net tap,ifname=tap0

4. 安装Loongarch64系统

4.1 版本兼容性问题

Loongarch64的安装要特别注意QEMU版本。我在Win7和Win10上直接用QEMU安装都失败了,但在Win11上成功了。不过有个变通方案:可以在Win11上安装好系统后,把镜像文件复制到Win7/Win10上运行。

4.2 创建qcow2格式磁盘

Loongarch64推荐使用qcow2格式的虚拟磁盘:

qemu-img.exe create -f qcow2 E:\qemu\Loongarch64\archlinux-loongarch001.qcow2 100G

qcow2格式支持动态分配空间,比raw格式更节省硬盘空间。

4.3 安装命令详解

安装Loongarch64系统的命令与Aarch64有显著不同:

qemu-system-loongarch64 -m 8G -cpu la464-loongarch-cpu -machine virt -smp 4 -bios ./QEMU_EFI_7.2.fd -serial stdio -device virtio-gpu-pci -net nic -net user -device nec-usb-xhci,id=xhci,addr=0x1b -device usb-tablet,id=tablet,bus=xhci.0,port=1 -device usb-kbd,id=keyboard,bus=xhci.0,port=2 -hda E:\qemu\Loongarch64\archlinux-loongarch001.qcow2 -cdrom E:\qemu\lonxinkylin-xxxx.iso -boot once=d

关键参数说明:

  • -cpu la464-loongarch-cpu:指定龙芯LA464 CPU
  • -bios QEMU_EFI_7.2.fd:需要专门的Loongarch64 UEFI固件
  • -device virtio-gpu-pci:使用virtio显卡,兼容性更好
  • -serial stdio:将串口输出重定向到控制台,方便调试

5. 常见问题与优化技巧

5.1 性能优化方案

默认配置下虚拟机可能比较卡顿,可以尝试这些优化:

  1. 启用KVM加速(如果CPU支持)
  2. 使用virtio磁盘和网络设备
  3. 增加CPU核心数和内存大小
  4. 关闭不必要的模拟设备

对于Loongarch64,这个优化后的启动命令效果不错:

qemu-system-loongarch64 -m 16G -cpu la464-loongarch-cpu -machine virt -smp 8 -accel tcg,thread=multi -bios QEMU_EFI_7.2.fd -device virtio-gpu-pci -drive file=archlinux.qcow2,if=virtio -netdev tap,id=net0 -device virtio-net-pci,netdev=net0

5.2 跨平台问题排查

在不同Windows版本上遇到的问题可能不同:

  • Win7:需要手动安装USB3.0驱动才能正常使用外设
  • Win10:可能需要关闭Hyper-V功能
  • Win11:对Loongarch64支持最好,但要注意系统版本要足够新

如果遇到启动失败,建议先尝试最基本的配置,逐步添加参数,用-serial stdio查看错误输出。

http://www.jsqmd.com/news/628230/

相关文章:

  • 数据可视化避坑指南:用ECharts+dataV解决大屏适配中的5个常见问题
  • 效果惊艳!THE LEATHER ARCHIVE镜像作品集:看看AI生成的皮衣穿搭有多酷
  • 告别Cartographer重定位慢:3个优化技巧与子图筛选源码解析
  • 代码调试技巧与工具
  • 高效爬取动态数据:解密API接口的实战技巧
  • 拆解LED电源里的黑科技:FSV8023芯片如何用15693协议实现1.5米超远距离读写
  • SubtitleEdit终极指南:如何免费快速制作专业字幕
  • 终极免费媒体解码器:如何用LAV Filters打造完美播放体验
  • Phi-4-mini-reasoning多场景:合规审查中条款冲突检测与逻辑补丁生成
  • 宝可梦游戏终极随机化器:Universal Pokemon Randomizer ZX完全指南
  • 如何快速提取Wallpaper Engine资源:3个高效技巧指南
  • Qwen3-ASR实战:语音识别服务部署与Python集成示例
  • 09-从理论到实践:SSE-CMM模型如何重塑企业安全工程能力
  • Navicat Premium for Mac 终极重置教程:轻松恢复14天试用期
  • PvZ Toolkit 终极指南:植物大战僵尸修改器的完整使用教程
  • 领导不想用你了,就会做一件很脏的事废掉你
  • QModMaster:工业自动化通信的高效解决方案
  • 【算法探秘】Bitonic Sort:GPU加速下的高性能排序实践
  • 京津冀地区诚信经营的塑料管材公司费用多少,价格贵吗 - 工业设备
  • MiKTeX+TextStudio中文环境配置指南:从CJK包到gbk49字体的一站式教程
  • 别再只盯着FOC算法了!手把手教你搞定三相逆变桥的硬件设计与死区调试(附示波器实测波形)
  • 抖音评论采集工具:3分钟获取完整互动数据的智能解决方案
  • C++二维数组与字符数组实战指南
  • Jenkins实战:从持续集成到自动化部署的完整指南
  • 2026年上海口碑好的给水管制造商排名,提供定制生产服务 - myqiye
  • FigmaCN:3分钟让Figma界面说中文的终极解决方案
  • 掌握SIMD并行计算:AVX/AVX2内在函数实战指南
  • Windows 7终极兼容方案:让Blender 3.x在经典系统上完美运行
  • 游戏画质优化新利器:如何用DLSS Swapper一键管理多游戏DLSS版本
  • Obsidian Excel插件:在笔记中创建和管理电子表格的完整指南