win11 x86 系统部署arm架构的虚拟机(银河麒麟为例)

news2024/11/23 15:41:57

文章目录

      • 一、使用 win11 x86 系统部署arm架构的虚拟机(银河麒麟为例)
        • 1.1.1、前言
        • 1.1.2、准备环境
          • 1.1.1.1、首先,需要一个银河麒麟的arm镜像
          • 1.1.1.2、QEMU 软件的下载地址
          • 1.1.1.3、UEFI(BIOS的替代方案)的下载地址
          • 1.1.1.4、在win11的路径
          • 1.1.1.5、创建虚拟网卡
          • 1.1.1.6、重新命名网卡
          • 1.1.1.7、共享物理网卡的网络
        • 1.1.3、安装qemu
        • 1.1.4、安装银河麒麟操作系统(ARM架构)
          • 1.1.4.1、进入到 qemu 所在位置(D:\test_arm\qemu_arm64)
          • 1.1.4.2、输入 cmd 命令行,执行以下命令
          • 1.1.4.3、连接 ssh
          • 1.1.4.4、启动虚拟机

一、使用 win11 x86 系统部署arm架构的虚拟机(银河麒麟为例)

1.1.1、前言

信创的产品越来越多的情况下,最近经常遇到银河麒麟arm架构服务器,此文章而出现。

我们经常使用的是 x86 架构的CPU,这样一来不利于我们练习arm架构,在琢磨arm架构下的一些技术问题,没有arm架构的电脑,钱不够时间来凑,花了一天时间搞定。

不同cpu架构的arm架构的操作系统,可以通过QEMU模拟器来进行模拟一个arm环境,方便我们后面遇到信创的操作系统是arm架构系统上面的软件进行测试与学习。

随着国产化的推进,现在采用ARM、MIPS的机器越来越多,作为开发、运维人员要调测软件总不能每种架构的机器都去买一台吧?主要像我这样的穷B,实在也是承受不起。 (建议还是去租一台云服务器吧,玩起来太卡了)

1.1.2、准备环境

1.1.1.1、首先,需要一个银河麒麟的arm镜像
Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso # 镜像名

# 因为之前有前辈遇到鲲鹏版的执行不了初始化脚本,故而使用它。

1.1.1.2、QEMU 软件的下载地址

https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe

1.1.1.3、UEFI(BIOS的替代方案)的下载地址

http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd

1.1.1.4、在win11的路径
所需的材料路径
Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.isoD:\ISO
qemu-w64-setup-20210505.exeD:\test_arm\qemu_arm64
QEMU_EFI.fdD:\test_arm\qemu_arm64
1.1.1.5、创建虚拟网卡

下载地址:https://build.openvpn.net/downloads/releases/

Win10版本的:https://build.openvpn.net/downloads/releases/tap-windows-9.24.7-I601-Win10.exe


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kxx3cIym-1686657228047)(C:/Users/agan9/AppData/Roaming/Typora/typora-user-images/1686531453842.png)]


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

1.1.1.6、重新命名网卡

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dqxn2kAE-1686657228056)(C:/Users/agan9/AppData/Roaming/Typora/typora-user-images/1686531921238.png)]


在这里插入图片描述


1.1.1.7、共享物理网卡的网络

在这里插入图片描述


1.1.3、安装qemu

运行 qemu-w64-setup-20210505.exe ,安装在当前目录下

在这里插入图片描述

安装好后,我们需要利用qemu生成一个硬盘文件


进入到qemu的安装目录(D:\test_arm\qemu_arm64\qemu),如下图,打开cmd命令行

在这里插入图片描述


qemu-img create -f qcow2 D:\test_arm\qemu_arm64\Kylin-Server-10-SP2-aarch64.img 50G
# 注意路径不同

在这里插入图片描述


在这里插入图片描述




名称位置
虚拟机镜像D:\ISO
qemuD:\test_arm\qemu_arm64
QEMU_EFI.fdD:\test_arm\qemu_arm64
虚拟机磁盘位置D:\test_arm\qemu_arm64

至此安装虚拟机所需要的东西都已经准备好了


1.1.4、安装银河麒麟操作系统(ARM架构)

1.1.4.1、进入到 qemu 所在位置(D:\test_arm\qemu_arm64)

在这里插入图片描述


1.1.4.2、输入 cmd 命令行,执行以下命令

在这里插入图片描述


# 注意路径不同
qemu-system-aarch64 -m 4000 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:\test_arm\qemu_arm64\QEMU_EFI.fd -net nic -net tap,ifname=tap1212 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:\ISO\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:\test_arm\qemu_arm64\Kylin-Server-10-SP2-aarch64.img,id=hd0 -device virtio-blk-device,drive=hd0

-m 4000 表示分配给虚拟机的内存最大4000MB,可以直接使用 -m 4G

-cpu cortex-a72 指定CPU类型,还可以选择cortex-a53、cortex-a57等

-smp 4,cores=4,threads=1,sockets=1 指定虚拟机最大使用的CPU核心数等

-M virt 指定虚拟机类型为virt,具体支持的类型可以使用 qemu-system-aarch64 -M help 查看

-bios D:\test_arm\qemu_arm64\QEMU_EFI.fd 指定UEFI固件文件

-net tap,ifname=tap1212 启用网络功能(ifname=tap1212中的tap1212请修改为前面步骤中自己修改后的网卡名称)

-device nec-usb-xhci -device usb-kbd -device usb-mouse 启用USB鼠标等设备

-device VGA 启用VGA视图,对于图形化的Linux这条很重要!

-drive if=none,file=D:\ISO\Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso,id=cdrom,media=cdrom 指定光驱使用镜像文件

-device virtio-scsi-device -device scsi-cd,drive=cdrom 指定光驱硬件类型

-drive if=none,file=D:\test_arm\qemu_arm64\Kylin-Server-10-SP2-aarch64.img 指定硬盘镜像文件

在这里插入图片描述


在这里插入图片描述


很卡很卡,请耐心等待一下,正在安装中…

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


**只有上面创建了虚拟网卡,这里才会有网卡显示(注意,手动配置网络的时候网关不能配置错误,否则虚拟机连不上外网) **

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


重启系统
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


1.1.4.3、连接 ssh

在这里插入图片描述



1.1.4.4、启动虚拟机

安装好之后,我们需要再次启动(无需再次指定iso文件启动)
进入到qemu所在位置(D:\test_arm\qemu_arm64
进入到cmd命令行,执行以下命令

# 无需再次指定iso文件启动
qemu-system-aarch64 -m 4000 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:\test_arm\qemu_arm64\QEMU_EFI.fd -net nic -net tap,ifname=tap1212 -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:\test_arm\qemu_arm64\Kylin-Server-10-SP2-aarch64.img,id=hd0 -device virtio-blk-device,drive=hd0

在这里插入图片描述


在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows编程课设(C#)——基于WPF和.net的即时通讯系统(仿微信)

一款参考QQ、微信的即时通讯软件。采用CS结构,客户端基于.Net与WPF开发,服务端使用Java开发。 提供的服务 注册功能:用户通过手机号码进行账号的注册,每个手机号唯一对应一个用户,需要接收验证码进行手机的绑定。此外…

强化学习笔记-0910 On-policy Method with Approximation

前几章我们所讨论的强化学习方法都是将价值函数建模为一个table形式,通过状态来查询具体状态的价值。但是当状态-动作空间极大,且多数状态-动作并没有太大意义时,这种table查询效率是极低的。 因此本节是将价值函数建模为一个参数模型&#…

修改文件权限chown/chgrp/chmod【Linux】

文章目录 Linux当中的权限问题Linux权限的概念切换用户账号 Linux权限管理文件类型和访问权限(事物属性) Linux文件名后缀文件权限值的表示方法 文件访问权限的相关设置方法如何改变文件的访问权限如何改变文件的拥有者如何改变文件的所属组如何修改文件…

leetcode 152.乘积最大子数组

题目描述 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 来源:力扣&a…

从2PC和容错共识算法讨论zookeeper中的Create请求

大家好,我是方圆。最近在读《数据密集型应用系统设计》,其中谈到了zookeeper对容错共识算法的应用。这让我想到之前参考的zookeeper学习资料中,误将容错共识算法写成了2PC(两阶段提交协议),所以准备以此文对…

Speech | 提取语音(数据集)的语音特征合集

本文主要讲解了提取数据集的一些主要工具,以及如何使用这些工具,包含安装以及运行命令。 提取语音(数据集)的语音特征工具(Extract audio features toolkits) • openSMILE • COVAREP • ESPNet • YAAF…

Java集合框架:链表和LinkedList详解

目录 一、ArrayList的缺陷 二、链表(主要介绍不带头的非循环的 单链表 / 双链表) 注: 三、模拟链表的实现: MySingleList(单链表) MyLinkedList(双链表) 四、LinkedList的使用 …

HNU计算机体系结构-实验一:RISC-V指令理解

HNU计算机体系结构-实验一 前言1.实验目的2.实验步骤1.安装模拟器Ripes2.生成汇编指令3.思考问题1)指令add x15, x14, x152)指令bge x15 x14 -683)指令lw x15, -20 x84)指令sw x15, -20 x85)简述BranchE信号的作用6&am…

通达信筹码集中度计算公式,解决了结果不同的问题

筹码分布图基本上是国内股票交易软件的标配,一般在K线图窗口的右侧。通达信软件中,在右下角有个“筹”,点击之后就可以看到“筹码分布图”。(如下图)筹码分布图是根据一定的模型计算出的流通股票持仓成本分布情况&…

postman接口关联实战解析

在使用postman做接口测试时,有时候后面的接口需要获取前面接口的某一个返回值做为请求参数,这时就可以使用关联。 如从A接口提取出a字段的值,供B接口的b字段使用。 一个接口的返回报文如下: {"retCode": "0&quo…

【数据库原理与实践】知识点归纳(上)

第1章 数据库系统概述 (数据处理技术的发展 数据库的基本概念和特点) 一:数据、信息、知识、决策 对应:Data、Information、Knowledge、Decision 二:数据库技术的产生与发展 产生原因:数据管理任务的…

如何正确使用Postman变量?又该如何灵活设置变量?

目录 引言 理解变量 postman的变量类型 变量作用域 变量覆盖规则 创建变量 创建全局变量 创建环境变量 创建集合变量 使用变量 引言 Postman变量可以帮助你快速生成测试数据、模拟不同的场景和环境。 但是,如何正确使用Postman变量?又该如何…

Android的服务Service

Android学了太久了,都忘了。复习下四大组件之一的Service。 介绍 Android的Service是一种在后台执行长时间运行操作的组件,它可以在没有用户界面的情况下执行任务,并且可以与应用程序的其他组件进行通信。Service通常用于处理网络请求、音乐…

快速创建Django项目

环境搭建 安装Django之前需要先安装python环境和pycharm。 目前 Django 1.6.x 以上版本已经完全兼容 Python 3.x。 python安装教程:https://blog.csdn.net/David_house/article/details/100110542 项目创建 打开pycharm,选择文件–>新建项目 创建D…

MySQL操作基础

文章目录 一、Mysql的基本概念1.1数据库有哪些组成数据表数据库 1.2数据库系统和数据库管理系统1.3数据库的发展史 二、数据库的分类三、数据库的数据类型三、数据库的操作3.1查看数据库的结构3.2创建及删除数据库和表3.3管理表中的数据记录3.4修改表名和表结构 Linux操作系统&…

11.JavaWeb-Spring框架

1.Spring概念 Spring框架是一个轻量级开源的应用程序框架,用于开发Java企业级应用程序。它提供了一种综合的编程和配置模型,可以帮助开发人员构建灵活、可扩展且易于维护的应用程序。 Spring的根本使命:简化Java开发 【Spring给予了Java新生】…

文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题

四、一次聚会需要邀请多少人,才能让其中 3 人的生日很可能相同? 文心一言: 为了解决这个问题,我们需要先计算出所有可能的生日组合数,然后计算出其中生日相同的组合数。 已知需要邀请的人数为:23人 根据组合数公式…

大数据开发之Hive案例篇12:HDFS rebalance 一例

文章目录 一. 问题描述二. 解决方案2.1 增加节点2.2 rebalance2.3 rebalance引发的问题 一. 问题描述 公司的离线数仓是CDH集群,19个节点,HDFS存储空间大约400TB左右,使用量在200TB左右。 由于历史遗留的问题,数据仓库需要重构&a…

将Qtcreator编译器、调试器等配置为MSVC2017/2019

目录 1. 前言 2. 工具/原料 2.1. 安装Windows下的软件开发调试器 3. 配置Qtcreator 1. 前言 安装Qt或Qtcreator时,一般选择MinGW 64-bit或MSVC编译器。对于MinGW 64-bit很简单,一般安装后会自动在Qtcreator配置好,不用费心就可以进行开发…

一种对不同类型齐格勒-尼科尔斯 P-I-D 控制器调谐算法研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…