【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源

【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统

一、下载 openEuler aarch64/arm64 架构镜像

openEuler 镜像下载地址

下载页面

下载某一版本镜像

  • 架构:aarch64 架构
  • 场景:云计算(这里有qcow2格式镜像)
  • 下载后是下面的压缩包,找工具解压即可的到qcow2镜像

二、找一个 QEMU_EFI.fd 文件

QEMU_EFI.fd 是 QEMU 模拟器专用的 UEFI 固件镜像文件 ,本质是EDK2 (TianoCore) 项目为 ARM64 架构编译的虚拟固件 ,作用相当于真实计算机主板上的UEFI BIOS 芯片

我提供一个我自己找的 QEMU_EFI.fd 下载吧

三、写一个启动qemu的bat脚本

可以直接执行命令启动,也可以方便的将命令写入bat脚本中,方便重复执行。

我这里提供一个我自己的bat脚本,因为我的这个是最后完全使用的,所以其中有一个iso文件,那是后面会说到的一个工具包文件,因为qemu上使用dnf连网下载太慢了,所以用这个挂载配置本地源来使用。

仅供参考:

powershell 复制代码
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
cls
title openEuler 22.03 ARM64 Control Panel

:: ===================== 你的 everything ISO 文件路径 =====================
set "ISO_FILE=openEuler-22.03-LTS-SP1-everything-aarch64-dvd.iso"
:: ============================================================================

echo.
echo ============================================================
echo            openEuler 22.03-LTS-SP1 ARM64 VM
echo ============================================================
echo.
echo  [VM Configuration]
echo  - RAM: 8192 MB (8GB)
echo  - CPU Cores: 8
echo  - Arch: ARM64 (aarch64)
echo  - Image: openEuler 22.03-LTS-SP1-aarch64.qcow2
echo.
echo  [Login Info]
echo  - Username: root
echo  - Password: openEuler12#$
echo.
echo  [Network]
echo  - SSH Forward: Windows 2222 → VM 22
echo  - Xshell/XFTP: 127.0.0.1 Port 2222
echo.
echo  [Operations]
echo  - Normal Shutdown: Run command "poweroff" in VM
echo  - Force Stop: Close the VM running window directly
echo ============================================================
echo.
:: 自动检测 ISO 是否存在
set "CDROM_ARG="
if exist "%ISO_FILE%" (
    echo  [✅STATUS] ISO file detected, loading virtual CD-ROM
    set "CDROM_ARG=-drive file="%ISO_FILE%",format=raw,if=virtio,media=cdrom"
) else (
    echo  [✅STATUS] No ISO file detected, starting VM normally
)
echo.
echo  [✅STATUS] VM is starting in a new window...
echo.

start "openEuler ARM64 Running Window" /wait qemu-system-aarch64.exe ^
-m 8192 ^
-smp 8 ^
-cpu cortex-a72 ^
-machine virt ^
-bios QEMU_EFI.fd ^
-drive file=openEuler-22.03-LTS-SP1-aarch64.qcow2,format=qcow2,if=virtio ^
!CDROM_ARG! ^
-net nic,model=virtio ^
-net user,hostfwd=tcp::2222-:22 ^
-nographic

echo.
echo ============================================================
echo  [STATUS] VM has been CLOSED!
echo  Exit Code: %errorlevel%
echo ============================================================
echo.
echo  Press any key to close this window...
pause >nul

四、下一个离线软件包ISO(可以,但建议)

aarch64架构的全量安装ISO,包含了运行完整系统所需的全部组件

  • 还是前面下载qcow2镜像的页面
  • 场景:服务器
  • 下载:Offline Everything ISO
  • 下载好后,就是一个非常大的iso文件

五、启动虚拟机

将前面下载的四个东西放在一起,点击脚本启动虚拟机即可。

脚本会启动两个窗口

一个窗口是我显示的系统信息和登录默认用户名密码。

一个窗口是系统启动的窗口

我这里是执行着 top 命令,你进去是登录,让输入用户名和密码,按上面信息输入即可,都是默认用户名和密码。

六、远程连接

我这用的连接工具:Xshell/XFTP(也可以用其他工具,ssh连接工具很多的)

连接信息:

  • 主机:127.0.0.1
  • 端口:2222
  • 用户名:root
  • 密码:openEuler12#$

连接成功后,你可以在Xshell/XFTP中操作虚拟机,Xshell可以打开Xftp,传文件用它也方便,当然你scp也行。

七、配置软件源

(一)挂载光驱

1. 查看光驱

lsblk 能看到 vdb 就是通过 QEMU 虚拟光驱加载的 openEuler ISO 镜像!

bash 复制代码
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda    253:0    0   40G  0 disk 
├─vda1 253:1    0    2G  0 part /boot
└─vda2 253:2    0   38G  0 part /
vdb    253:16   0 16.1G  1 disk

2. 挂载光驱

mount 的时候出现 mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only. 这个警告完全从正常,不是错误,挂载已经成功了

bash 复制代码
# 创建挂载目录
mkdir -p /mnt/cdrom

# 挂载vdb(你的光驱)
mount /dev/vdb /mnt/cdrom

# 验证挂载成功(能看到文件就是没问题)
ls /mnt/cdrom

(二)本地 DNF 源配置

1. 备份系统原有网络源(防止冲突)

bash 复制代码
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ 2>/dev/null

2. 创建本地 DVD 源配置文件

bash 复制代码
cat > /etc/yum.repos.d/local-dvd.repo << EOF
[LocalDVD]
name=openEuler 22.03 Local DVD Source
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
EOF

3. 清空旧缓存 + 生成新的本地缓存

bash 复制代码
dnf clean all
dnf makecache
相关推荐
XUHUOJUN1 天前
Azure Stack Hub 安装部署:11 步端到端流程
架构·azure stack
2023自学中1 天前
Linux 图形系统
linux
heimeiyingwang1 天前
【架构实战】系统稳定性保障:降级、兜底与容灾设计
架构
一只小菜鸡..1 天前
南京大学 操作系统 (JYY) 学习笔记:进程、系统调用与状态机管理
笔记·学习
DeviceHub1 天前
硬件工程师选型笔记:ALPS RK12L1230C0K 与 Tonevee RK12L1230C0K 电位器 PIN TO PIN 评估指南
笔记
whyTeaFo1 天前
GAMES101: Lecture 13: Ray Tracing 1 (Whitted-Style Ray Tracing) ppt笔记
笔记
mounter6251 天前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
名字还没想好☜1 天前
Python itertools 实战:用 groupby、chain、islice 优雅处理大数据流
linux·windows·python·迭代器·itertools
张忠琳1 天前
【NVIDIA】NVIDIA Container Toolkit v1.19.1--07-NVCDI模块:CDI Spec生成引擎深度分析之七
云原生·容器·架构·kubernetes·nvidia
维克兜率天1 天前
【维克】大数定律与中心极限定理:为什么长期均值终将回归?
经验分享·学习·金融·概率论