QEMU 虚拟 aarch64(arm64) 记录
QEMU 虚拟 aarch64(arm64) 记录#
这次是在 x86_64
机器上使用 QEMU
虚拟 aarch64(arm64)
环境,以便进行相关的测试。
我的宿主机是 ManjaroLinux ,所以下面的操作都是基于此的,其他的 LInux 发行版本也是大同小异的。
1、安装 QEMU 和 libvirt 等#
先要安装 QEMU
,QEMU 相关的内容可以参考 archlinux wiki/QEMU (简体中文) ,这里就不再赘述。
需要安装 edk2-armvirt
,否则在创建虚拟机的时候会出现 ACPI requires UEFI on this architecture
的错误,可以参考 鲲鹏BoostKit虚拟化使能套件 > 故障案例> KVM虚拟化 故障案例> unsupported configuration: ACPI requires UEFI on this architecture
# 安装 qemu 和 qemu-arch-extra(额外架构支持,否则不支持arm64) sudo pacman -S qemu qemu-arch-extra # 如果需要也还可以安装 qemu-block-rbd、qemu-block-iscsi 等。 # 安装 libvirt 和 virt-manager(libvirt的图形化管理工具) sudo pacman -S libvirt virt-manager # 安装 edk2 sudo pacman -S edk2-armvirt
2、创建虚拟机,安装 centos-7-aarch64 系统#
打开 virt-manager
工具,连接到 QEMU/KVM
就可以创建虚拟机了。
先下载系统镜像文件,可以在 http://isoredirect.centos.org/altarch/7/isos/aarch64/ 选择比较快的镜像站点进行下载。
安装的过程中碰到了虚拟网络 NAT 未激活 的问题,这里需要进行下面的操作:
# 安装iptables、dnsmasq和ebtables包 # 如果不安装,后面的 virsh 启动网络会失败 # 内部错误:Failed to initialize a valid firewall backend sudo pacman -S ebtables iptables dnsmasq # 重新启动 libvirtd 服务 sudo systemctl restart libvirtd # 使用 virsh 重新定义网络 sudo virsh net-define /etc/libvirt/qemu/networks/default.xml # 启动默认网络 virsh net-start default # 重新启动 libvirtd 服务 sudo systemctl restart libvirtd
libvirt 网络相关操作可参考:KVM 虚拟机 配置 NAT 连接方式上网
安装步骤如下:
详细安装过程可以参考:在X86机器上用KVM启动aarch64虚拟机
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理