Win10下用QEMU玩转国产飞腾ARM架构:从零搭建麒麟V10桌面版全流程

QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler) 阅读详情

在Windows上构建飞腾ARM开发环境:QEMU虚拟化实战全解析

最近身边不少做信创开发的朋友都在抱怨,说手头没有飞腾的硬件设备,想测试个软件包都得四处借机器。其实这个问题我去年就遇到了,当时有个项目需要适配飞腾架构的麒麟系统,但公司预算有限,不可能为了测试就采购一台新设备。经过一番折腾,我发现用QEMU在Windows上虚拟出完整的ARM环境,完全能满足日常开发和测试需求。

今天我就把自己踩过的坑、总结的经验完整分享出来,从环境准备到性能优化,每个步骤都有详细说明。这套方案特别适合那些想体验国产操作系统但缺乏ARM硬件的开发者,无论是做软件适配、系统测试,还是单纯想学习ARM架构,都能从中受益。

1. 环境准备与工具选择

在开始之前,我们需要明确几个关键点。QEMU是一个开源的机器模拟器和虚拟器,它最大的优势是能够跨架构模拟——也就是说,在x86的Windows电脑上,它能模拟出ARM处理器的运行环境。这听起来有点绕,但理解这一点很重要:QEMU不是传统意义上的虚拟机软件,它实际上是在软件层面“翻译”指令集。

传统虚拟机如VMware、VirtualBox,它们要求宿主机和客户机使用相同的CPU架构(比如都是x86),通过硬件辅助虚拟化技术来提升性能。而QEMU则不同,当你在x86上运行ARM系统时,它需要把ARM指令实时翻译成x86指令,这个翻译过程自然会带来性能损耗。不过对于开发和测试场景来说,这个性能是完全够用的。

1.1 工具清单与版本选择

先来看看我们需要准备哪些东西。下面这个表格是我推荐的工具版本组合,经过多次测试验证,兼容性最好:

工具/组件 推荐版本 获取方式 备注
QEMU for Windows 2021年5月版本 (qemu-w64-setup-20210505.exe) QEMU官网Windows构建页面 这个版本稳定性最好,后续版本有时会有兼容性问题
麒麟操作系统镜像 V10 SP1 ARM64桌面版 官方渠道或授权合作伙伴 确保是ARM64架构,x86版本无法在QEMU ARM模拟中运行
UEFI固件文件 QEMU_EFI.fd 随QEMU安装包提供或单独下载 ARM架构的UEFI启动文件,相当于传统PC的BIOS
TAP-Windows驱动 tap-windows-9.9.2_3.exe OpenVPN项目提供 用于创建虚拟网卡,实现虚拟机网络连接

注意:麒麟操作系统的镜像获取需要特别注意版权和授权问题。如果你是开发者,可以通过官方开发者计划申请;如果是企业用户,需要购买相应的授权。切勿使用来路不明的镜像文件。

关于QEMU版本的选择,我特别推荐2021年5月的这个版本。我试过更新的版本,比如2021年12月的,在某些Windows 10系统上会出现奇怪的图形显示问题。而更老的版本又缺少一些ARM虚拟化的优化特性。这个版本算是平衡点,既稳定又功能完整。

1.2 目录结构规划

在开始安装之前,我建议先规划好目录结构。混乱的文件存放位置是很多新手容易踩的坑,等需要修改配置时,找文件都要找半天。我的习惯是这样的:

G:\arm_development\
├── qemu\                    # QEMU安装目录
├── images\                  # 虚拟磁盘文件存放处
│   └── kylin_disk.qcow2    # 麒麟系统的虚拟硬盘
├── firmware\                # 固件文件
│   └── QEMU_EFI.fd         # UEFI启动文件
├── isos\                    # 系统镜像
│   └── Kylin-Desktop-V10-SP1-ARM64.iso
├── scripts\                 # 脚本文件
│   ├── install.bat         # 安装脚本
│   └── start.bat           # 启动脚本
└── docs\                    # 相关文档

这样的结构清晰明了,后续维护起来也方便。特别是当你可能需要同时管理多个不同的ARM系统时(比如除了麒麟,还想试试UOS),这种模块化的结构优势就体现出来了。

2. QEMU安装与基础配置

QEMU的安装过程本身很简单,但有几个细节需要注意。双击安装包后,它会提示你选择安装路径。这里我建议不要使用默认的Program Files目录,而是选择一个没有空格、路径较短的目录,比如D:\qemu或G:\arm_development\qemu。

为什么这么建议?因为后续我们需要在命令行中频繁引用QEMU的可执行文件,如果路径中有空格,每次都要用引号包裹,非常麻烦。而且有些脚本对带空格的路径处理不太友好,容易出错。

安装完成后,我们需要验证一下安装是否成功。打开命令提示符(CMD),切换到QEMU的安装目录,执行:

qemu-system-aarch64.exe --version

如果看到类似下面的输出,说明安装成功:

QEMU emulator version 5.2.0 (v5.2.0-11802-g5b1b0c2af6-dirty)
Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers

2.1 创建虚拟磁盘

虚拟磁盘相当于虚拟机的硬盘,麒麟系统就安装在这个文件里。QEMU支持多种磁盘格式,我推荐使用qcow2格式,它有以下几个优势:

  • 稀疏文件:创建时指定50G,实际文件大小可能只有几百KB,随着使用才逐渐增大
  • 快照功能:可以随时创建系统快照,测试失败了一键回滚
  • 动态分配:更高效地利用物理磁盘空间

创建虚拟磁盘的命令如下:

qemu-img create -f qcow2 G:\arm_development\images\kylin_disk.qcow2 50G

这里的参数解释一下:

  • -f qcow2:指定磁盘格式为qcow2
  • 最后一个参数50G:指定磁盘容量为50GB

执行成功后,你会看到类似这样的输出:

Formatting 'G:\arm_development\images\kylin_disk.qcow2', fmt=qcow2 size=53687091200 cluster_size=65536 lazy_refcounts=off refcount_bits=16

现在用文件管理器查看这个文件,你会发现它实际大小只有几百KB,这就是稀疏文件的特性。

2.2 网络配置:TAP驱动安装

网络配置是QEMU使用中最容易出问题的环节。为了让虚拟机能够访问外部网络,我们需要安装TAP-Windows驱动。这个驱动会创建一个虚拟网卡,让QEMU虚拟机通过这个网卡与宿主机通信。

安装过程很简单,双击tap-windows-9.9.2_3.exe,一路Next即可。安装完成后,打开“网络连接”窗口(可以在控制面板找到,或者右键点击任务栏网络图标选择“打开网络和Internet设置”),你会看到多了一个名为“TAP-Windows Adapter V9”的网络连接。

接下来需要做两件事:

  1. 重命名虚拟网卡:右键点击这个新网卡,选择“重命名”,把它改为tap0。这样我们在后续的脚本中引用时就清晰多了。

  2. 创建网络桥接(可选但推荐):

    • 按住Ctrl键,同时选中tap0和你的物理网卡(比如“以太网”或“WLAN”)
    • 右键点击,选择“桥接”
    • 系统会创建一个“网络桥接”连接

桥接模式的好处是,虚拟机会获得与宿主机同一网段的IP地址,就像局域网里的一台真实机器一样。如果不使用桥接,QEMU也支持NAT模式,但配置起来稍微复杂一些。

重要提示:在创建桥接之前,最好先用ipconfig /all命令记录下你当前的网络配置(IP地址、子网掩码、网关、DNS)。因为创建桥接后,原来的网络连接会消失,所有配置都会转移到桥接连接上。如果后续需要手动配置,这些信息就派上用场了。

3. 麒麟系统安装实战

准备工作都做好了,现在可以开始安装麒麟系统了。这是整个过程中最需要耐心的一步,因为ARM指令翻译的效率问题,安装过程会比在真实硬件上慢不少。

3.1 启动安装命令解析

我们先来看完整的安装命令,然后逐部分解释:

qemu-system-aarch64.exe ^
  -m 8192 ^
  -cpu cortex-a72 ^
  -smp 8,sockets=4,cores=2 ^
  -M virt ^
  -bios G:\arm_development\firmware\QEMU_EFI.fd ^
  -device VGA ^
  -device nec-usb-xhci ^
  -device usb-mouse ^
  -device usb-kboard ^
  -drive if=none,file=G:\arm_development\images\kylin_disk.qcow2,id=hd0 ^
  -device virtio-blk-device,drive=hd0 ^
  -drive if=none,file=G:\arm_development\isos\Kylin-Desktop-V10-SP1-ARM64.iso,id=cdrom,media=cdrom ^
  -device virtio-scsi-device ^
  -device scsi-cd,drive=cdrom ^
  -net nic ^
  -net tap,ifname=tap0

这个命令看起来很长,其实结构很清晰。在Windows的CMD中,^是续行符,让命令可以分成多行书写,提高可读性。如果是在PowerShell中,续行符是反引号`。

关键参数详解:

  • -m 8192:为虚拟机分配8GB内存。这个值可以根据你的物理内存调整,建议至少4GB,8GB比较流畅。

  • -cpu cortex-a72:模拟的CPU类型。cortex-a72是ARMv8-A架构的处理器,性能不错,兼容性也好。你也可以尝试其他型号,如cortex-a57或cortex-a53。

  • -smp 8,sockets=4,cores=2:CPU拓扑结构。这里配置了8个虚拟CPU核心,分布在4个插槽上,每个插槽2个核心。这种配置模拟了多路服务器的架构。

  • -M virt:机器类型。virt是QEMU提供的一个通用虚拟平台,它不模拟特定的硬件设备,而是提供一组标准化的虚拟设备,兼容性最好。

  • -bios ...

Win10系统利用QEMU虚拟飞腾arm架构主机环境 1、资料包下载 QEMU下载地址:链接:https://pan.baidu.com/s/1onUxTbS3RBXdBWWEwAnUBw 提取码:8888 自行准备不同版麒麟操作系统 2、安装QEMU 1、运行qemu-w64-setup-20210505.exe安装 #要记得安装位置 2、安装后利用qemu生成一个硬盘文件 步骤: ①、进入到安装目录,如下图,打开cmd命令 3、执行以... 阅读详情

相关推荐

windows qemu安装飞腾Aarch64 Loongarch64 操作系统 亲测

这里是 Kylin-Desktop-V10-Release-2107-arm64.iso。执行第4步安装镜像文件 后 可能没有网络,关闭后,执行第5步应该就有网了。在win7命令窗口中运行以下命令来创建镜像文件。

kchmmd的博客 4666

qemu虚拟机 安装银河麒麟V10 arm架构系统 桌面版_vmware支持arm吗

软件换成了qemu-w64-setup-20220831.exe就可以正常运行银河麒麟系统。

2401_83974590的博客 2354

在Windows 11上通过Qemu虚拟化体验国产ARM生态:银河麒麟V10桌面版实战

本文详细介绍了如何在Windows 11系统上,利用Qemu虚拟化技术模拟ARM架构环境,并成功安装和运行国产操作系统银河麒麟V10桌面版的完整实战教程。内容涵盖Qemu安装配置、系统镜像准备、虚拟机创建、安装步骤以及性能优化指南,为开发者和技术爱好者提供了一条低成本体验国产ARM生态的可行路径。

meat5的博客 585

在飞腾D3000与麒麟V10上实战:PhyFusion融合模式部署Win11 ARM虚拟机

本文详细介绍了在飞腾D3000处理器与麒麟V10操作系统上部署PhyFusion融合模式运行Win11 ARM虚拟机的实战指南。从环境准备、核心组件安装到镜像优化与性能调优,提供了全面的配置步骤和常见问题解决方案,特别强调了GPU资源共享和文件系统互通等关键技术要点,助力用户在国产化平台上高效运行Windows应用。

weixin_26965807的博客 1113

Win10下通过QEMU搭建飞腾ARM64开发环境实战指南

本文提供了一份详细的实战指南,指导开发者如何在Windows 10系统上,利用QEMU虚拟化技术搭建飞腾ARM64开发环境。文章涵盖了从工具准备、QEMU安装配置、银河麒麟或统信UOS系统安装,到网络优化和常见问题排查的全过程,旨在为零成本快速构建国产化软件适配与测试环境提供一站式解决方案。

weixin_28323057的博客 461

Windows 10下用QEMU玩转国产CPU:飞腾Aarch64与龙芯Loongarch64双系统安装实录

本文详细记录了在Windows 10系统下,使用QEMU虚拟化工具成功安装并运行飞腾Aarch64与龙芯Loongarch64双国产CPU架构操作系统的完整实战过程。内容涵盖环境准备、固件与镜像获取、关键QEMU参数配置、网络设置及性能调优,重点对比了两种架构在模拟环境下的差异与共性,为开发者和技术爱好者提供了低成本探索国产CPU生态的实用指南。

weixin_29207149的博客 502

在飞腾D3000与麒麟V10上,用PhyFusion实现Win11虚拟机的三种融合模式实战

本文详细介绍了在飞腾D3000处理器与麒麟V10操作系统上,使用PhyFusion实现Win11虚拟机的三种融合模式实战。从环境准备、PhyFusion安装配置到Win11虚拟机创建,再到桌面模式、窗口模式和融合模式的深度解析,提供了全面的技术指导和性能优化方案,帮助用户在国产平台上高效运行Windows应用。

weixin_42533622的博客 891

告别繁琐命令!用QEMU Manager在Win11上图形化安装银河麒麟V10 ARM版虚拟机

本文详细介绍了如何在Win11上使用QEMU Manager图形化工具轻松安装银河麒麟V10 ARM版虚拟机,告别传统繁琐的命令行操作。通过整合QEMU生态组件、优化虚拟机配置和提供实用技巧,帮助用户高效搭建国产操作系统环境,特别适合开发者和技术爱好者体验ARM架构的银河麒麟系统。

weixin_42546392的博客 476

统信UOS ARM宿主机部署银河麒麟V10 ARM虚拟机全攻略

虚拟化技术通过在单一物理硬件上创建多个隔离的虚拟环境,其核心原理是利用Hypervisor(如KVM)直接管理硬件资源,实现高效分配与隔离。这项技术对于资源整合、环境隔离和快速部署具有重要价值,广泛应用于软件开发测试、多系统兼容性验证和教学实验等场景。特别是在国产化软硬件生态中,基于ARM架构的虚拟化需求日益增长,例如在统信UOS系统上部署银河麒麟V10虚拟机,以测试软件包或构建隔离开发环境。本文聚焦于使用QEMU/KVM这一成熟的开源方案,解决ARM平台虚拟化工具选型、网络桥接配置、驱动安装与性能调优等工

weixin_33796205的博客 431

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

本文详细介绍了在Windows系统上使用QEMU模拟飞腾Aarch64和龙芯Loongarch64架构的完整指南。从QEMU版本选择、系统镜像准备到具体安装命令解析,提供了针对两种国产CPU架构的实战配置方案,并分享了性能优化和常见问题排查技巧,帮助开发者在x86电脑上高效搭建国产架构测试环境。

weixin_42535703的博客 505

用rsl_rl训练四足机器人走梅花桩:PPO算法调参实战与避坑指南

本文详细介绍了如何使用rsl_rl框架和PPO算法训练四足机器人在梅花桩上行走的实战经验。通过分析梅花桩场景的独特挑战,提供PPO算法关键参数配置策略、奖励函数设计方法以及常见问题的解决方案,帮助开发者高效实现机器人平衡控制。文章特别强调了仿真到实机的过渡技巧,最终实现98%的过桩成功率。

weixin_29103191的博客 224

智能体在车联网中的应用:第31天 基于RLlib的多智能体PPO实战:MAPPO算法解决simple_spread合作任务

本文介绍了如何利用RLlib框架实现多智能体强化学习算法MAPPO,解决simple_spread任务。首先分析了RLlib的架构设计理念和多智能体支持特性,包括策略映射、环境包装等核心组件。然后详细解析了simple_spread环境的任务定义、观察空间和奖励函数设计。最后回顾了MAPPO算法原理,说明其如何在RLlib中实现集中式训练与分布式执行的CTDE范式。文章提供了完整的安装指南和环境配置方法,帮助读者快速搭建多智能体强化学习实验环境。

IT深耕十余载,大道之简 1336

Ubuntu服务器通过IPV6端口转发搭建幻兽帕鲁私服实战

本文详细介绍了在Ubuntu服务器上通过IPV6端口转发搭建幻兽帕鲁私服的完整教程。针对只有公网IPV6地址的服务器环境,提供了从硬件检查、端口转发工具配置到游戏服务器安装的全流程解决方案,帮助玩家轻松实现多人联机游戏体验。

weixin_30652491的博客 490

【python数据处理】python实现vlookup字符串模糊匹配及在实战中的应用(FuzzyWuzzy库)

利用FuzzyWuzzy库匹配字符串1. 背景前言2. FuzzyWuzzy库介绍2.1 安装2.1 fuzz模块2.1.1 简单匹配(Ratio)2.1.2 非完全匹配(Partial Ratio)2.1.3 忽略顺序匹配(Token Sort Ratio)2.1.4 去重子集匹配(Token Set Ratio)2.2 process模块2.2.1 extract提取多条数据2.2.2 extractOne提取一条数据3. pandas实战应用3.1 公司名称字段模糊匹配3.1.1 参数讲解:3.1.2

lys_828的博客 8324

全面解读AI Infra:架构、生态与未来趋势

文章摘要 大模型时代下,AI基础设施(AI Infra)成为关键技术基建,涵盖从数据准备到模型服务的全栈技术体系。文章系统解构了AI Infra的四层架构(硬件资源层、资源管理调度层、开发框架层、平台工具层),并分析了全球AI Infra生态图谱,包括云计算巨头、芯片厂商等全栈服务商,以及中国特色的多元竞合格局。通过对比Data Infra与AI Infra的核心差异,指出AI Infra更关注智能应用的规模化与自动化。文章还探讨了从传统数据设施向AI基础设施的转型路径,强调自主可控、软硬协同等发展趋势,为

技术引领业务创新 612

NX二次开发 计算多个体的最小包围盒

多个体的最小包围盒

weixin_72680115的博客 430

Transformer实战(33)——高效自注意力机制

在本节中,我们学习了如何在硬件资源受限的情况下减轻运行大模型的负担,介绍了高效的稀疏 Transformer 模型,通过近似技术(如 Linformer、BigBird 和 Performer) 用稀疏矩阵替代全自注意力矩阵。并观察它们在各种基准测试中的表现,例如计算复杂度和内存复杂度。结果表明,这些方法可以在不牺牲性能的情况下将平方级复杂度降低到线性复杂度。

盼小辉丶的博客 3109

Python 爬虫 + 数据分析:社会调查数据抓取与结果可视化分析

在当今数字化时代,数据已成为推动社会发展的关键资源之一。无论是市场调研、学术研究还是政策制定,社会调查数据都扮演着至关重要的角色。通过 Python 爬虫技术,我们可以高效地获取这些数据,并结合数据分析与可视化工具,深入挖掘数据背后的价值。本文将通过一个完整的实战项目,带你掌握如何使用 Python 爬虫抓取社会调查数据,并进行可视化分析。

yansideyucsdn的博客 126

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 供应商质量管理进阶:如何用SAP外检功能降低来料不良率?
下一篇: 避坑指南:Workbench调用ICEM CFD时最常见的5个设置错误及解决方法
github5actions
博客等级 码龄1天 0粉丝 1824原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值