qemu安装arm64架构银河麒麟
qemu虚拟化软件,可以在一个平台上模拟另一个硬件平台,可以支持多种处理器架构。
一、安装
安装教程:https://blog.csdn.net/qq_36035382/article/details/125308044
下载链接:https://qemu.weilnetz.de/w64/2024/
我下载的是

下载完成之后正常安装,测试是直接在安装目录下右击打开poewershell,然后输入:
./qemu-system-arm.exe -version
显示如下:

二、配置环境
参考:https://blog.csdn.net/weixin_38120390/article/details/135779790
EFI文件:https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/
EFI(Extensible Firmware Interface) 是一种用于计算机的固件接口,旨在替代传统的 BIOS(基本输入/输出系统)。
创建虚拟磁盘
首先创建一个目录,用来放虚拟机,然后在qemu目录下用终端输入
qemu-img create -f qcow2 D:kylinkylin_arm64.img 50g
这样就在D:kylin路径下安装了kylin_arm64.img这个镜像文件
文件目录结构

安装操作系统
这个指令参考博客
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
参数解释
- qemu-system-aarch64.exe:- 指定要使用的 QEMU 模拟器,针对 ARM64 架构。
 
- m 8192:- 分配给虚拟机的内存大小,这里为 8192 MB(即 8 GB)。
 
- cpu cortex-a72:- 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
 
- smp 4,cores=4,threads=1,sockets=1:- 配置虚拟机的对称多处理(SMP)设置: - 4表示总共有 4 个 CPU。
- cores=4表示每个 CPU 只有 4 个核心。
- threads=1表示每个核心只有 1 个线程。
- sockets=1表示只有 1 个 CPU 插槽。
 
 
- 配置虚拟机的对称多处理(SMP)设置: 
- M virt:- 指定虚拟机的机器类型,这里使用的是通用的 Virt 虚拟机类型。
 
- bios D:kylinQEMU_EFI.fd:- 指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为 D:kylinQEMU_EFI.fd。
 
- 指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为 
- net nic:- 创建一个网络接口卡(NIC)。
 
- net tap,ifname=tap0:- 配置网络以使用 TAP 设备 tap0,允许虚拟机通过此设备连接到主机的网络。
 
- 配置网络以使用 TAP 设备 
- device nec-usb-xhci:- 添加 NEC USB 3.0 控制器设备。
 
- device usb-kbd:
 * 添加 USB 键盘设备。
- device usb-mouse:
 * 添加 USB 鼠标设备。
- device VGA:
 * 添加 VGA 图形适配器设备,用于显示输出。
- drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom:
 * 指定一个光盘驱动器,使用 ISO 文件作为介质。- if=none表示没有指定接口类型。
 *- file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso指定 ISO 文件的路径。
 *- id=cdrom为该设备指定一个 ID。
 *- media=cdrom指定该驱动器为 CD-ROM 类型。
- device virtio-scsi-device:
 * 添加 VirtIO SCSI 控制器设备,用于管理存储设备。
- device scsi-cd,drive=cdrom:
 * 将前面定义的 CD-ROM 设备连接到 SCSI 控制器。
- drive if=none,file=D:kylinkylin_arm64.img,id=hd0:
 * 指定一个硬盘驱动器,使用镜像文件作为存储设备。
 *- file=D:kylinkylin_arm64.img指定镜像文件的路径。
 *- id=hd0为该驱动器指定一个 ID。
- device virtio-blk-device,drive=hd0:
 * 将前面定义的硬盘驱动器连接到 VirtIO 块设备控制器。
- qemu-system-aarch64.exe: 启动 QEMU 的 ARM64 版本模拟器。
- m 8192: 为虚拟机分配 8192 MB(8 GB)的内存。
- cpu cortex-a72: 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
- smp 4,cores=4,threads=1,sockets=1: 配置虚拟 CPU 的多线程和多核心设置。- 4: 总共 4 个 CPU 核心。
- cores=4: 每个 CPU 插槽有 4 个核心。
- threads=1: 每个核心有 1 个线程。
- sockets=1: 总共 1 个 CPU 插槽。
 
- M virt: 指定模拟的机器类型为- virt,这是一种通用的虚拟化架构。
- bios D:kylinQEMU_EFI.fd: 指定使用的 BIOS 固件文件,- QEMU_EFI.fd是一个 UEFI 固件文件,用于支持现代操作系统的启动。
- netdev user,id=net0: 创建一个用户模式网络设备,ID 为- net0。这使得虚拟机可以访问主机网络。
- device virtio-net-pci,netdev=net0: 将一个 Virtio 网络设备添加到虚拟机,使用之前定义的- net0网络设备。
- device nec-usb-xhci: 添加 NEC USB 3.0 控制器。
- device usb-kbd: 添加一个 USB 键盘设备。
- device usb-mouse: 添加一个 USB 鼠标设备。
- device VGA: 添加一个 VGA 显示设备。
- drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom: 添加一个光驱设备,指向指定的 ISO 镜像文件。- if=none: 指定此驱动器的接口类型。
- file=...: ISO 文件路径。
- id=cdrom: 给此驱动器一个 ID。
- media=cdrom: 指定该驱动器为光盘媒体。
 
- device virtio-scsi-device: 添加一个 Virtio SCSI 控制器,以支持 SCSI 设备。
- device scsi-cd,drive=cdrom: 将之前添加的光驱设备作为 SCSI CD 设备。
- drive if=none,file=D:kylinkylin_arm64.img,id=hd0: 添加一个硬盘驱动器,指向指定的虚拟硬盘镜像文件。- if=none: 指定此驱动器的接口类型。
- file=...: 硬盘镜像文件路径。
- id=hd0: 给此硬盘驱动器一个 ID。
 
- device virtio-blk-device,drive=hd0: 将之前添加的硬盘驱动器作为 Virtio 块设备。
选择操作系统
选择第二个安装 Kylin-Desltop V10-SP1

选择中文

选择从live安装:

然后点击创建的硬件,然后,然后下一步

然后选择格式化整个磁盘
剩下的就是创建用户等。
接着就是等待安装

Done

再次启动不用使用镜像文件,直接
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
也就是上面安装命令把file路径去掉,这样就直接从img文件所属目录打开了。
相关文章:
 
qemu安装arm64架构银河麒麟
qemu虚拟化软件,可以在一个平台上模拟另一个硬件平台,可以支持多种处理器架构。 一、安装 安装教程:https://blog.csdn.net/qq_36035382/article/details/125308044 下载链接:https://qemu.weilnetz.de/w64/2024/ 我下载的是 …...
在Elasticsearch (ES) 中,integer 和 integer_range的区别
在Elasticsearch (ES) 中,integer 和 integer_range 是两种不同的字段类型,它们用于存储和查询不同类型的数据。 Integer: integer 类型是用于存储32位整数值的简单数据类型。这个类型的字段适合用来表示单一的整数数值,例如用户的年龄、商品的数量等。支持标准的数值操作,…...
Playwright中Page类的方法
导航和页面操作 goto(url: str, **kwargs: Any): 导航到一个URL。 reload(**kwargs: Any): 重新加载当前页面。 go_back(**kwargs: Any): 导航到会话历史记录中的前一个页面。 go_forward(**kwargs: Any): 导航到会话历史记录中的下一个页面。 set_default_navigation_tim…...
硬链接方式重建mysql大表
硬链接方式重建mysql大表 操作步骤 选择数据库 select datadir; 进入数据文件目录 cd /data/mysql/mydata/testdb 创建硬连接 ln test_trans_msg_xx.ibd test_service_trans_msg_xx.ibd.bak ll test_trans_msg_xx* 进库删除表 DROP TABLE test_trans_msg_xx; 重建表 CREATE T…...
 
GPIO在ZYNQ7000中的结构和相关寄存器解析
GPIO MASK DATA LSW和 MASK DATA MSW LSW和MSW分别是LSW (Least Significant Word)和MSW (Most Significant Word)。 因为DATA是u32,所以如果寄存器的基址是XGPIOPS_DATA_LSW_OFFSET,那么32位就能同时让高16位的MASK DATA MSW]31:16和 MASK DATA LSW的bit7同时为…...
 
Qt Xlsx安装教程
Qt Xlsx安装教程 安装perl 如果没有安装perl,请参考perl Window安装教程 下载QtXlsxWriter源码 下载地址 ming32-make编译32 lib库 C:\Qt\Qt5.12.12\5.12.12\mingw73_32>d: D:\>cd D:\Code\QtXlsxWriter-master\QtXlsxWriter-master D:\Code\QtXlsxWrit…...
 
Certimate自动化SSL证书部署至IIS服务器
前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍&a…...
 
【中工开发者】鸿蒙商城实战项目(启动页和引导页)
创建一个空项目 先创建一个新的项目选择第一个,然后点击finish 接下来为项目写一个名字,然后点击finish。 把index页面的代码改成下面代码块的代码,就能产生下面的效果 Entry Component struct Index {build() {Column(){Blank()Column(){…...
跟李笑来学美式俚语(Most Common American Idioms): Part 63
Most Common American Idioms: Part 63 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...
scala中如何解决乘机排名相关的问题
任务目标: 1.计算每个同学的总分和平均分 2.按总分排名,取前三名 3.按单科排名,取前三名 好的,我们可以用Scala来完成这个任务。下面是一个简单的示例代码,它将演示如何实现这些功能: // 假设我们有一个…...
 
OpenCV相机标定与3D重建(10)眼标定函数calibrateHandEye()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算手眼标定: g T c _{}^{g}\textrm{T}_c gTc cv::calibrateHandEye 是 OpenCV 中用于手眼标定的函数。该函数通过已知的机器人…...
 
Hadoop生态圈框架部署(九-2)- Hive HA(高可用)部署
文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M…...
 
docker 相关操作
1. 以下是一些常见的 Docker 命令: docker --version显示安装的 Docker 版本。 docker pull <image_name>从 Docker Hub 或其他镜像仓库下载镜像。 docker build -t <image_name> <path>从指定路径的 Dockerfile 构建 Docker 镜像。 docker i…...
 
AI作图效率高,亲测ToDesk、顺网云、青椒云多款云电脑AIGC实践创作
一、引言 随着人工智能生成内容(AIGC)的兴起,越来越多的创作者开始探索高效的文字处理和AI绘图方式,而云电脑也正成为AIGC创作中的重要工具。相比于传统的本地硬件,云电脑在AIGC场景中展现出了显著的优势,…...
【代码随想录day57】【C++复健】 53. 寻宝(prim算法);53. 寻宝(kruskal算法)
53. 寻宝(prim算法) 好像在研究生的算法课上学过prim算法和kruskal算法,不过当时只是了解了一下大致的概念和流程,并没有涉及到如何去写代码的部分,今天也算是学习了一下这两个算法的代码应该如何去实现,还…...
C++中多态
1) 什么是多态性?C中如何实现多态? 多态性是指通过基类指针或引用调用派生类的函数,实现不同的行为 多态性可以提高代码的灵活性和可扩展性,使程序能够根据不同的对象类型执行不同的操作。 2)C中如何实现多态&#…...
 
【实现多网卡电脑的网络连接共享】
电脑A配备有两张网卡,分别命名为eth0和eth1(对于拥有超过两张网卡的情况,解决方案相似)。其中,eth0网卡能够连接到Internet,而eth1网卡则通过网线直接与另一台电脑B相连(在实际应用中࿰…...
算力介绍与解析
算力(Computing Power)是指计算机系统在单位时间内处理数据和执行计算任务的能力。算力是衡量计算机性能的重要指标,直接影响计算任务的速度和效率。 算力的分类和单位 a. 基础算力:以CPU的计算能力为主。适用于各个领域的计算。…...
 
解决 MyBatis 中空字符串与数字比较引发的条件判断错误
问题复现 假设你在 MyBatis 的 XML 配置中使用了如下代码: <if test"isCollect ! null"><choose><when test"isCollect 1">AND exists(select 1 from file_table imgfile2 where task.IMAGE_SEQimgfile2.IMAGE_SEQ and im…...
python 词向量的代码解读 self.word_embeds = nn.Embedding(vocab_size, embedding_dim) 解释下
在PyTorch中,nn.Embedding 是一个用于将稀疏的离散数据表示为密集的嵌入向量的模块。这在自然语言处理(NLP)任务中非常常见,例如在处理单词或字符时,我们通常需要将这些离散的标识符转换为可以被神经网络处理的连续值向…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
 
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
 
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
 
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
 
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
 
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
 
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
 
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
