避坑指南:QEMU虚拟化银河麒麟V10时遇到的5个典型问题及解决方案

避坑指南:QEMU虚拟化银河麒麟V10时遇到的5个典型问题及解决方案

最近在基于ARM架构的服务器上做国产化软件适配,银河麒麟V10(飞腾/鲲鹏版)是绕不开的一个环境。很多开发者和我一样,手头没有现成的物理机,只能通过QEMU这样的全系统模拟器来搭建测试环境。但这个过程远没有想象中顺畅,从磁盘格式到网络配置,再到安装模式的选择,每一步都可能藏着意想不到的“坑”。这篇文章,我就把自己在Ubuntu宿主机上,用QEMU虚拟化银河麒麟V10(aarch64)时踩过的几个典型“雷区”和解决方案整理出来。这些经验不是简单的操作手册,而是针对那些已经尝试过安装,却卡在某个环节的中高级用户的深度排障指南。如果你也遇到了“文本模式安装失败”、“磁盘配置保存错误”或者网络怎么也连不上等问题,希望下面的内容能帮你快速定位,少走弯路。

1. 环境准备与核心概念澄清

在动手解决具体问题之前,我们需要先理清几个关键点。很多人一上来就照着教程敲命令,结果遇到问题完全不知道从何查起。首先,要明确我们构建的是一个嵌套虚拟化环境:在Windows的VMware里跑Ubuntu,再在Ubuntu里用QEMU模拟ARM架构的银河麒麟。这种套娃结构本身就增加了复杂性,网络和性能都可能成为瓶颈。

其次,QEMU本身是一个强大的机器模拟器,它有两种主要工作模式:系统模拟qemu-system-aarch64)和用户态模拟qemu-aarch64)。我们这里用的是前者,它模拟了整个计算机系统,包括CPU、内存、外设等。而针对ARM架构,尤其是飞腾/鲲鹏这类基于ARMv8的CPU,我们需要使用特定的-M virt机器类型和-cpu参数。一个常见的误解是认为-cpu host在嵌套虚拟化下能获得更好性能,但对于跨架构模拟(比如在x86的Ubuntu上模拟aarch64),这通常不可行,必须指定具体的ARM CPU模型,如cortex-a72

最后,关于UEFI固件。ARM架构的虚拟化启动通常依赖UEFI(如QEMU_EFI.fd),而不是传统的BIOS。这个文件是启动的钥匙,版本不匹配或损坏都会导致虚拟机无法引导。很多教程只告诉你去下载,却没提版本兼容性。我建议直接从Linaro的官方发布页面获取稳定版本,避免使用来源不明的文件。

提示:在开始安装前,请务必确认你的Ubuntu宿主机已启用KVM加速。虽然QEMU纯软件模拟也能运行,但速度会慢得令人难以忍受。可以通过kvm-ok命令检查,并安装qemu-kvmqemu-system-arm等全套组件。

2. 问题一:磁盘配置保存失败与GPT分区表的奥秘

这是我遇到的第一个,也是最棘手的问题。症状很明确:在银河麒麟安装程序的文本模式下,进行到磁盘分区配置步骤时,无论怎么设置,最后都会提示“磁盘配置保存失败”,安装流程无法继续。图形界面安装有时能绕过,但在无图形环境的服务器版Ubuntu上,文本模式是唯一选择。

起初我以为是权限问题,或是磁盘空间不足,但排查后都不是。后来经过反复测试和查阅QEMU源码相关讨论,才发现根源在于磁盘映像的初始分区表格式。很多教程里,创建磁盘的命令是:

qemu-img create -f qcow2 kylin.qcow2 40G

这样创建的是一个空的、没有任何分区表的qcow2文件。当银河麒麟安装程序(尤其是较新版本)尝试向这种“空白”磁盘写入分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值