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

保姆级教程:在Fedora/CentOS上用QEMU-KVM跑起ARM64虚拟机(附Debian镜像下载)

在Fedora/CentOS上构建高性能ARM64虚拟化环境的完整指南对于需要在x86架构上开发和测试ARM64应用的工程师来说搭建一个稳定高效的虚拟化环境是刚需。本文将带你从零开始在Fedora或CentOS系统上配置完整的QEMU-KVM虚拟化栈并针对ARM64架构进行深度优化。1. 环境准备与依赖安装在开始之前确保你的系统满足以下基本要求Fedora 32及以上或CentOS 8/Stream支持硬件虚拟化的CPUIntel VT-x或AMD-V至少8GB内存推荐16GB50GB可用磁盘空间首先安装必要的软件包# Fedora系统 sudo dnf install -y qemu-kvm libvirt virt-install virt-viewer edk2-aarch64 # CentOS系统 sudo yum install -y qemu-kvm libvirt virt-install virt-viewer edk2-aarch64验证KVM模块是否加载lsmod | grep kvm预期应该看到kvm_intel或kvm_amd以及kvm模块。如果没有需要手动加载sudo modprobe kvm sudo modprobe kvm_intel # Intel CPU # 或 sudo modprobe kvm_amd # AMD CPU提示对于生产环境建议在BIOS中永久启用虚拟化支持而不是每次启动后手动加载模块。2. 获取ARM64固件与系统镜像ARM架构与x86不同需要专门的固件文件来启动虚拟机。我们将使用Linaro提供的UEFI固件wget https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd对于操作系统镜像Debian提供了轻量级的网络安装镜像wget https://d-i.debian.org/daily-images/arm64/daily/netboot/mini.iso镜像下载完成后建议验证SHA256校验和sha256sum mini.iso3. 配置高性能ARM64虚拟机3.1 基础虚拟机创建使用以下命令创建一个基础ARM64虚拟机qemu-system-aarch64 \ -M virt \ -cpu cortex-a72 \ -accel kvm \ -smp 4 \ -m 4096 \ -drive fileQEMU_EFI.fd,ifpflash,formatraw,readonlyon \ -drive ifnone,filearm64vm.qcow2,formatqcow2,idhd0 \ -device virtio-blk-device,drivehd0 \ -cdrom mini.iso \ -netdev user,idnet0 \ -device virtio-net-device,netdevnet0 \ -nographic \ -serial mon:stdio关键参数说明参数说明-M virt使用QEMU的通用ARM虚拟平台-cpu cortex-a72模拟Cortex-A72 CPU-accel kvm启用KVM加速-smp 4分配4个CPU核心-m 4096分配4GB内存3.2 性能优化配置为了获得接近原生ARM的性能我们需要进行多项优化CPU拓扑优化-smp 4,cores2,threads2,sockets1内存大页支持-object memory-backend-file,idmem,size4G,mem-path/dev/hugepages,shareon \ -numa node,memdevmem网络性能优化-netdev tap,idnet0,ifnametap0,scriptno,downscriptno \ -device virtio-net-pci,netdevnet0,mac52:54:00:12:34:56磁盘IO优化-drive ifnone,filearm64vm.qcow2,formatqcow2,idhd0,cachenone,aiothreads \ -device virtio-blk-device,drivehd0,iothreadiothread0 \ -object iothread,idiothread04. 系统安装与配置启动虚拟机后按照Debian的标准安装流程进行操作。几个关键注意事项分区时建议使用GPT分区表选择ext4或xfs文件系统安装openssh-server以便远程访问安装完成后可以移除CDROM参数并启动虚拟机qemu-system-aarch64 \ -M virt \ -cpu cortex-a72 \ -accel kvm \ -smp 4 \ -m 4096 \ -drive fileQEMU_EFI.fd,ifpflash,formatraw,readonlyon \ -drive ifnone,filearm64vm.qcow2,formatqcow2,idhd0 \ -device virtio-blk-device,drivehd0 \ -netdev user,idnet0,hostfwdtcp::2222-:22 \ -device virtio-net-device,netdevnet0 \ -nographic \ -serial mon:stdio5. 常见问题解决方案5.1 启动速度慢如果虚拟机启动特别慢尝试以下方法确保启用了KVM加速-accel kvm增加CPU和内存分配使用SSD存储禁用图形界面-nographic5.2 BIOS加载失败如果遇到UEFI固件加载问题验证固件文件路径是否正确检查文件权限尝试直接加载内核-kernel vmlinuz \ -initrd initrd.img \ -append root/dev/vda1 consolettyAMA05.3 网络连接问题对于网络连接问题检查用户模式网络配置考虑使用桥接网络验证端口转发设置6. 高级使用技巧6.1 使用virt-manager管理虚拟机虽然命令行功能强大但也可以使用图形界面工具sudo dnf install -y virt-manager sudo systemctl start libvirtd然后通过virt-manager添加ARM64虚拟机。6.2 快照管理QEMU支持多种快照方式# 创建内部快照 qemu-img snapshot -c snapshot1 arm64vm.qcow2 # 列出快照 qemu-img snapshot -l arm64vm.qcow2 # 恢复到快照 qemu-img snapshot -a snapshot1 arm64vm.qcow26.3 性能监控使用以下工具监控虚拟机性能# 在宿主机上 sudo perf kvm --host stat record -a -o perf.data # 在虚拟机内部 apt install sysstat sar -u 1 107. 自动化部署脚本为了简化重复部署过程可以创建自动化脚本#!/bin/bash VM_NAMEarm64vm CPU_CORES4 MEMORY4096 DISK_SIZE20G # 创建磁盘镜像 qemu-img create -f qcow2 ${VM_NAME}.qcow2 ${DISK_SIZE} # 启动安装 qemu-system-aarch64 \ -name ${VM_NAME} \ -M virt \ -cpu cortex-a72 \ -accel kvm \ -smp ${CPU_CORES} \ -m ${MEMORY} \ -drive fileQEMU_EFI.fd,ifpflash,formatraw,readonlyon \ -drive ifnone,file${VM_NAME}.qcow2,formatqcow2,idhd0 \ -device virtio-blk-device,drivehd0 \ -cdrom mini.iso \ -netdev user,idnet0,hostfwdtcp::2222-:22 \ -device virtio-net-device,netdevnet0 \ -nographic \ -serial mon:stdio保存为create_arm64_vm.sh并赋予执行权限chmod x create_arm64_vm.sh

相关文章:

保姆级教程:在Fedora/CentOS上用QEMU-KVM跑起ARM64虚拟机(附Debian镜像下载)

在Fedora/CentOS上构建高性能ARM64虚拟化环境的完整指南 对于需要在x86架构上开发和测试ARM64应用的工程师来说,搭建一个稳定高效的虚拟化环境是刚需。本文将带你从零开始,在Fedora或CentOS系统上配置完整的QEMU-KVM虚拟化栈,并针对ARM64架构…...

2025最权威的六大AI辅助写作神器解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能技术飞速发展的当下,AI辅助学术写作成了研究热点,借助AI撰写…...

智能体开发路线:从 Demo 到生产环境完整路径

文章目录前言一、起点:清醒认知——Demo与生产的天壤之别1.1 三大核心差异:从理想照进现实(1)环境与数据:从"无菌室"到"野生丛林"(2)性能与稳定性:从"跑一…...

基于KITTI数据集:从LIO-SAM部署到EVO精度评估全流程解析

1. KITTI数据集准备与格式转换 KITTI数据集作为自动驾驶领域最经典的公开数据集之一,包含了丰富的传感器数据和多场景的道路环境信息。对于SLAM研究者来说,2011_09_30_drive_0016等序列常被用作算法测试基准。但原始数据需要经过格式转换才能在ROS环境中…...

第30篇文章:一个大三计科生的自白

这是我的第30篇文章。不出意外的话,这篇发出去之后,我这个账号的全网浏览量应该就能破10万了。我很清楚,这点数据对那些头部技术博主来说可能不算什么。但对我来说,这是一个挺重要的小节点,是我一点一点写出来的&#…...

ESP32物联网开发终极指南:从Arduino核心到智能硬件实战

ESP32物联网开发终极指南:从Arduino核心到智能硬件实战 【免费下载链接】arduino-esp32 Arduino core for the ESP32 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 想要快速构建物联网设备却担心开发难度?ESP32 Arduino核心为…...

Bilibili缓存视频合并:Android用户的终极离线观看解决方案

Bilibili缓存视频合并:Android用户的终极离线观看解决方案 【免费下载链接】BilibiliCacheVideoMerge 🔥🔥Android上将bilibili缓存视频合并导出为mp4,支持安卓5.0 ~ 13,视频挂载弹幕播放(Android consolidates and ex…...

别再被硬盘容量坑了!5分钟搞懂KB和KiB的区别(附Windows/Linux查看方法)

别再被硬盘容量坑了!5分钟搞懂KB和KiB的区别(附Windows/Linux查看方法) 刚买的新硬盘标称1TB,插上电脑却显示只有931GB——这种"缩水"现象困扰过无数用户。背后的根本原因,是计量单位标准的历史演变与行业实…...

终极指南:3分钟快速检测微信单向好友,轻松清理“僵尸“好友

终极指南:3分钟快速检测微信单向好友,轻松清理"僵尸"好友 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/…...

视频硬字幕提取的技术实现与本地化解决方案

视频硬字幕提取的技术实现与本地化解决方案 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内容提取。A GUI tool for…...

2026免费AI降重软件怎么选?亲测好用不踩坑

对于赶论文的高校学生、需要产出学术成果的科研工作者来说,重复率超标、AI生成痕迹过审失败,绝对是定稿阶段最让人头疼的两大难题。纯人工修改动辄耗上三四个小时,结果要么重复率只降了两三个百分点,要么AI痕迹丝毫没减&#xff0…...

南宁宠物医院哪家好

在南宁这座充满活力的城市里,宠物已经成为许多家庭不可或缺的一员。当毛孩子出现健康问题时,选择一家值得信赖的宠物医院成为宠物主人的首要任务。今天,让我们一同走进广西阿荣宠物医院,了解这家陪伴宠物和主人走过13年时光的医疗…...

FireRed-OCR Studio效果展示:带页眉页脚文档区域智能过滤

FireRed-OCR Studio效果展示:带页眉页脚文档区域智能过滤 1. 工业级文档解析新标杆 FireRed-OCR Studio代表了当前文档解析技术的最高水平。这款基于Qwen3-VL模型深度优化的工具,不仅能准确识别文字内容,更能智能理解文档的完整结构布局。在…...

从汽车中控到工厂流水线:HMI触摸屏的7大核心功能,你真的都用上了吗?

从汽车中控到工厂流水线:HMI触摸屏的7大核心功能深度解析 在汽车制造车间里,工程师小王正盯着流水线上的HMI触摸屏,屏幕上跳动的参数曲线让他迅速定位了焊接机器人的异常状态。这个看似简单的交互界面,背后却整合了数据采集、逻辑…...

VCS仿真器下UVM调试实战:手把手解决uvm_hdl_force权限与$urandom_range范围溢出

VCS仿真器下UVM调试实战:手把手解决uvm_hdl_force权限与$urandom_range范围溢出 在芯片验证领域,UVM(Universal Verification Methodology)已成为事实上的标准。然而,当我们在Synopsys VCS这样的商业仿真器上实现UVM验…...

2026届必备的六大AI学术工具推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作范畴内,挑出适配的AI网站可极高程度提升论文产出效率,当下…...

从浏览器到桌面:3步将你的Twine游戏变成专业桌面应用 [特殊字符]

从浏览器到桌面:3步将你的Twine游戏变成专业桌面应用 🚀 【免费下载链接】twine-app-builder Automatically generate Windows and macOS versions of your Twine games, for free! 项目地址: https://gitcode.com/gh_mirrors/tw/twine-app-builder …...

目前已经基本能给AI下达命令,并且接收命令返回内容了

所以,接下来只需要等他的人机验证自己跳出来,然后我录个视频,然后破解他,这个事情就算大功告成了,功能类似于openclaw,但是不用付钱,免费token。如果谁愿意给我钱,我就用付费的&…...

SPSS绘图避坑指南:你的条形图、折线图为什么总被导师/老板打回来?

SPSS绘图避坑指南:你的条形图、折线图为什么总被导师/老板打回来? 刚熬了两个通宵跑完数据,满心欢喜地把分析报告发给导师,结果第二天收到邮件:"图表不规范,请重新修改。"这大概是每个科研狗和职…...

LeetCode 1855.下标对中的最大距离:双指针

【LetMeFly】1855.下标对中的最大距离:双指针 力扣题目链接:https://leetcode.cn/problems/maximum-distance-between-a-pair-of-values/ 给你两个 非递增 的整数数组 nums1​​​​​​ 和 nums2​​​​​​ ,数组下标均 从 0 开始 计数。…...

从Smooth L1 Loss反推:为什么目标检测模型(如YOLO、Faster R-CNN)不用MAE或MSE?

从Smooth L1 Loss反推:为什么目标检测模型(如YOLO、Faster R-CNN)不用MAE或MSE? 在目标检测领域,边框回归(Bounding Box Regression)是核心任务之一。模型需要精确预测目标物体的位置和大小&…...

实战踩坑:在华为ENSP上配置OSPF NSSA区域时,为什么外部路由没传出去?

华为ENSP实战:OSPF NSSA区域外部路由失效的深度排查指南 当你在华为eNSP模拟器中配置OSPF NSSA区域时,是否遇到过这样的困惑:明明按照文档配置了所有参数,外部路由却像被黑洞吞噬一样无法传递?这不是个例——根据企业网…...

从STC89C51到蓝牙芯片CC2541:手把手拆解两款经典芯片,看透SOC的‘定制’内核

从STC89C51到蓝牙芯片CC2541:手把手拆解两款经典芯片,看透SOC的‘定制’内核 在嵌入式开发领域,MCU(微控制器)和SOC(片上系统)这两个术语经常被混为一谈,但它们的实际差异远比表面看…...

算法题(滑动窗口、动态规划)

一、题目1.无重复字符的最长子串(LC 3)2.找到字符串中所有字母异位词(LC 438)3.爬楼梯(LC 70)4.杨辉三角(LC 118)5.打家劫舍(LC 198)二、滑动窗口1.无重复字符…...

D3KeyHelper:暗黑破坏神3自动化战斗宏工具完全指南

D3KeyHelper:暗黑破坏神3自动化战斗宏工具完全指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款基于AutoHotkey开发…...

【2026年最新600套毕设项目分享】宿舍管理系统微信小程序(30119)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 项目演示视频2 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运…...

String s = new String(“abc”)执行过程中分别对应哪些内存区域?

类加载器将.class文件加载入内存,类信息,。。会进入方法区,静态的字符串常量会变成运行时常量池,String在编译之后变成符号引用,会换成String类的实际存储地址,“abc”先看看字符串常量池有没有他的引用&am…...

搞定海量小文件同步!15年老牌同步盘教你什么叫“开箱即用”

说句实在话,咱们搞技术的、爱折腾硬件的兄弟,谁还没吃过“跨设备传文件”的苦? 为了把电脑里的代码片段、设计素材、或者几十个G的电影无缝同步到平板和手机上,很多人周末不睡觉去折腾NAS,敲击命令行搞Rclone&#xf…...

【2026年最新600套毕设项目分享】微信小程序的电影院订票选座系统(30118)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 项目演示视频2 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告/任务书)远程调试控屏包运…...

ISIS和OSPF到底有啥区别?用5台路由器搭建实验环境,一次给你讲清楚

ISIS与OSPF深度对比:五节点实验环境下的协议差异全景解析 当网络规模突破某个临界点,静态路由的手工维护成本会呈指数级增长。我在运营商核心网改造项目中第一次接触ISIS时,也曾困惑:为什么放着成熟的OSPF不用,非要选择…...