跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++

Windows 10 下使用 QEMU 安装 CentOS 7.9 ARM64 虚拟机

记录了在 Windows 10 环境下,通过 QEMU 模拟器安装 CentOS 7.9 ARM64 虚拟机的全过程。主要步骤包括下载并安装 QEMU 工具及 EFI 固件,创建虚拟机磁盘镜像,配置启动参数运行安装程序,完成系统安装后通过 SSH 连接进行网络、DNS 及 YUM 源配置。此外,还介绍了如何编写批处理脚本映射 Windows 物理串口到虚拟机,以便后续编译 C++ 串口通讯库并进行测试。

GRACE Grace发布于 2026/3/25更新于 2026/7/2557 浏览

背景

为满足 C++ 串口通讯库的 aarch64 环境需求,记录在 Windows 10 下通过 QEMU 安装 CentOS 7.9 ARM64 的过程。

环境

  • Windows 10
  • qemu-w64-setup-20251224.exe
  • CentOS-7-aarch64-Minimal-2009.iso
  • Xshell(可选)

安装 QEMU

下载

访问 QEMU 官网 下载 Windows 版本。

安装

双击安装包,一路下一步。修改安装位置时请勿选择中文路径。

下载虚拟机启动固件

下载 QEMU_EFI.fd。

下载 ARM64 架构的 CentOS 7.9

下载 CentOS-7-aarch64-Minimal-2009.iso。

安装 CentOS 系统

新建一个目录,将 CentOS 镜像和 QEMU_EFI.fd 文件放入该目录,方便后续配置。

创建虚拟机磁盘空间
"D:\qemu\qemu-img.exe" create -f qcow2 "F:\qemuVM\Anolis.qcow2" 20G

说明:

  • D:\qemu\qemu-img.exe:QEMU 安装路径,需替换为实际路径。
  • F:\qemuVM\Anolis.qcow2:虚拟机磁盘文件路径,后缀必须为 .qcow2。
  • 20G:虚拟机磁盘大小,建议不小于 20GB。
执行安装命令

在 QEMU 安装目录下打开命令行,执行以下命令:

D:\qemu\qemu-system-aarch64.exe -m 2048 -cpu cortex-a72 -smp 2,sockets=1,cores=2 -M virt -bios F:\qemuVM\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=F:\qemuVM\Anolis.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=F:\qemuVM\CentOS-7-aarch64-Minimal-2009.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp:127.0.0.1:2222-:22

注意:各文件路径需根据实际情况调整。

安装过程:

  1. 运行命令后打开虚拟机窗口。
  2. 选择第一个选项等待安装(第三个选项用于检测光盘完整性)。
  3. 安装完成后选择语言,点击继续。
  • 设置安装目的地、root 密码等参数,确认无误后开始安装。
  • 安装结束后重启系统。
  • 用 SSH 连接 CentOS 并配置

    可使用 Xshell 工具连接。

    • IP: 127.0.0.1
    • Port: 2222
    • 账号:root
    • 密码:安装时设置的 root 密码
    配置网络

    若安装后无网络,可参考以下步骤:

    1. 分配静态 IP (可选)

    查看网卡名称:

    ip link
    

    执行配置命令(以 enp0s1 为例):

    ip addr add 10.0.2.15/24 dev enp0s1
    ip link set enp0s1 up
    ip route add default via 10.0.2.2
    
    2. 配置 DNS
    sudo vim /etc/resolv.conf
    

    添加以下内容:

    nameserver 8.8.8.8
    nameserver 8.8.4.4
    

    配置完成后 ping 测试网络连通性。

    配置 YUM 源
    备份原文件
    mkdir /etc/yum.repos.d/backup
    mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
    
    配置阿里云源
    cat>/etc/yum.repos.d/CentOS-Aliyun.repo<<'EOF'
    [base]
    name=CentOS-7.9.2009-Base-Aliyun
    baseurl=https://mirrors.aliyun.com/centos-vault/altarch/7.9.2009/os/aarch64/
    enabled=1
    gpgcheck=0
    [updates]
    name=CentOS-7.9.2009-Updates-Aliyun
    baseurl=https://mirrors.aliyun.com/centos-vault/altarch/7.9.2009/updates/aarch64/
    enabled=1
    gpgcheck=0
    [extras]
    name=CentOS-7.9.2009-Extras-Aliyun
    baseurl=https://mirrors.aliyun.com/centos-vault/altarch/7.9.2009/extras/aarch64/
    enabled=1
    gpgcheck=0
    EOF
    
    生成新缓存
    yum clean all && yum makecache
    

    安装开发环境 (可选)

    yum groupinstall -y "Development Tools"
    

    验证 GCC/G++:

    gcc --version
    g++ --version
    

    映射 Windows 串口到虚拟机

    QEMU 没有类似 VMware 的 GUI 管理器,关闭窗口即虚拟机关机。建议使用启动脚本快速启动。

    无串口映射启动脚本
    @echo off
    D:\qemu\qemu-system-aarch64.exe ^
     -m 2048 ^
     -cpu cortex-a72 ^
     -smp 2,sockets=1,cores=2 ^
     -M virt ^
     -bios F:\qemuVM\QEMU_EFI.fd ^
     -device VGA ^
     -device nec-usb-xhci ^
     -device usb-mouse ^
     -device usb-kbd ^
     -drive if=none,file=F:\qemuVM\Anolis.qcow2,id=hd0 ^
     -device virtio-blk-device,drive=hd0 ^
     -net nic ^
     -net user,hostfwd=tcp:127.0.0.1:2222-:22 ^
    pause
    
    有串口映射启动脚本
    @echo off
    D:\qemu\qemu-system-aarch64.exe ^
     -m 2048 ^
     -cpu cortex-a72 ^
     -smp 2,sockets=1,cores=2 ^
     -M virt ^
     -bios F:\qemuVM\QEMU_EFI.fd ^
     -device VGA ^
     -device nec-usb-xhci ^
     -device usb-mouse ^
     -device usb-kbd ^
     -drive if=none,file=F:\qemuVM\Anolis.qcow2,id=hd0 ^
     -device virtio-blk-device,drive=hd0 ^
     -net nic ^
     -net user,hostfwd=tcp:127.0.0.1:2222-:22 ^
     -chardev serial,id=hostcom5,path=COM5 ^
     -serial chardev:hostcom5 ^
    pause
    

    注意:请根据实际物理端口修改 path=COM5,并确保串口可用。

    启动系统后,编译动态库并运行测试程序,即可实现与 Windows 物理设备的串口通讯。

    目录

    1. 背景
    2. 环境
    3. 安装 QEMU
    4. 下载
    5. 安装
    6. 下载虚拟机启动固件
    7. 下载 ARM64 架构的 CentOS 7.9
    8. 安装 CentOS 系统
    9. 创建虚拟机磁盘空间
    10. 执行安装命令
    11. 用 SSH 连接 CentOS 并配置
    12. 配置网络
    13. 1. 分配静态 IP (可选)
    14. 2. 配置 DNS
    15. 配置 YUM 源
    16. 备份原文件
    17. 配置阿里云源
    18. 生成新缓存
    19. 安装开发环境 (可选)
    20. 映射 Windows 串口到虚拟机
    21. 无串口映射启动脚本
    22. 有串口映射启动脚本
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • Hashcat 使用手册:从入门到高级密码恢复
    • 使用 gpt-oss-20b-WEBUI 快速搭建本地 AI 对话系统
    • 前端表单验证实战:构建健壮的数据入口
    • 鸿蒙 HarmonyOS 6 混合开发:ArkWeb 加载机制与 Cookie 管理
    • 主流 AI 编程模型对比与选型指南
    • 基于机器学习优化生态组合塘污水处理厂脱氮工艺
    • OpenClaw 本地 AI 智能体:从部署到实战指南
    • GitHub Desktop 界面中文本地化完整教程
    • KrLongAI 旗博士:本地部署 AI 数字人口播视频自动化工程
    • WebGIS 实现城市停水影响范围可视化实践
    • 基于 Next.js 构建支持 TokenP 钱包登录的 DApp 前端实战
    • Qwen3.5-9B 如何以 1/13 参数量超越 GPT-oss-120B?架构与性能实测
    • 基于 ESP32-S3 的蓝牙/有线双模智能家居键盘控制器设计详解
    • 单链表综合练习:删除指定值节点、反转链表及查找中间节点
    • Python 自动化办公:使用 xlutils 修改 Excel
    • 国内五大主流大语言模型对比与使用指南
    • C++ 高精度时间库 chrono 详解
    • Claude Code 与 GitHub Copilot CLI 终端选型实测
    • 2017 年技术类书籍精选推荐
    • SpringBoot 整合 LangChain4j 与 Tavily 实现联网搜索

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online