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

Windows系统x86机器安装(麒麟、统信)ARM系统详细教程

本次介绍在window系统x86机器上安装国产系统 arm 系统的详细教程。

                注:ubuntu 的arm系统安装是一样的流程。 

1.安装环境准备。

  1. 首先,你得有台电脑,配置别太差,至少4核8G内存,安装window10或者11都行(为啥不能是Window7,你要用也不是不行,你先解决win7补丁更新问题)。
  2. 准备虚拟机工具软件QUME,官网下载地址:QEMU for Windows – Installers (64 bit)

 选择最新版本下载即可。

        3.准备 QEMU UEFI 固件文件。

        下载地址:https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd

        4.准备系统安装镜像。(麒麟arm 或者 统信arm  或者 ubuntu arm).iso系统镜像。(这里统一都选择的是桌面版本)

麒麟系统官网:国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站

填好您的申请信息,提交后则跳转到下载界面了。

统信官网:统信软件 – 打造操作系统创新生态

ubuntu版本下载地址:Index of / 

这里我测试选择的是麒麟 ARM系统(您自己选择,则选择arm64版本都行):

镜像名称:Kylin-4.0.2-desktop-sp2-17090118.Z1-arm64.iso

 2.安装QUEM工具。

双击安装下载的  qemu-w64-setup-20231224.exe 文件。

选择您的安装路径,路径中不要有中文。记住这个路径,后面配置环境要用。

然后install,直到完成。

继续配置系统的环境变量:

打开 环境变量

 找到 path

添加您安装的路径(我选择的是D:\QEMU),这里选择您自己安装的目录:

3.安装文件及脚本准备。

选择您需要保存虚拟机文件的地方,不能有中文路径。

我选择的保存的木兰是: F:\VM\Test_Kylin_arm 

将下载的 QEMU UEFI 固件文件 复制进文件夹中。

创建启动批处理文件:

将如下代码复制进去,然后保存:

@echo off
echo.
echo ---------------注意事项---------------
echo      1.路径中不要又中文。
echo      2.文件名称请勿取中文。
echo.
echo ---------------开始执行脚本---------------
echo.
echo 当前路径:请检查此路径是否包含中文。
echo      %CD%      
echo.
set efi_path=""
for /f "tokens=*" %%a in ('dir /b %CD%') do (for %%I in (%%a) do (if %%~xI == .qcow2 (set img_path=%%a) else if %%~xI == .fd (set efi_path=%%a))
)if %efi_path% == "" (echo       未检索到配置文件,请检查后再试!echo.goto :over_err
)echo 检索到配置文件:%efi_path%
:input_img_name
set /p img_name=请输入镜像名称(请输入英文或数字):
:remove_blank_img
if "%img_name:~0,1%"==" " (set "img_name=%img_name:~1%"goto :remove_blank_img
)
if "%img_name%" == "" (echo       输入的文件名错误,请重新输入!echo.goto :input_img_name
)
echo.
:input_img_size
set /p img_size=请输入镜像大小/GB:
:remove_blank_size
if "%img_size:~0,1%"==" " (set "img_size=%img_size:~1%"goto :remove_blank_size
)
if %img_size% == "" (echo       输入的文件大小错误,请重新输入!echo.goto :input_img_size
)set /a check_size=%img_size%
if %check_size% GTR 0 (echo 镜像大小%img_size%/GB.
) else (echo       输入的文件大小错误,请重新输入!echo.goto :input_img_size
)echo.
echo 即将创建镜像:%img_name%.qcow2
echo.
qemu-img.exe create -f raw %CD%\%img_name%.qcow2 %img_size%G
echo.
if EXIST %CD%/%img_name%.qcow2 (echo       生成文件成功:%CD%\%img_name%.qcow2echo.
) else (echo       生成镜像文件失败,请检查后再试!echo.goto :over_err
)echo.
echo ----------是否开始启动安装----------
echo ---------------1.启动安装---------------
echo ---------------2.结束脚本---------------
echo.:input_select_go
set /p select_num=请输入你的选择:
if %select_num% == 1 (echo       启动安装!echo.
)else if %select_num% == 2 (echo       结束脚本!echo.goto :over_err
)else (echo       选择错误,请重新输入!echo.goto :input_select_go
):input_isoPath_go
set isoPath=""
for /f "delims=" %%a in ('mshta "%~f0"') do SET isoPath=%%a
if "%isoPath%" == "" (echo       选择文件错误,请重新选择!echo.goto :input_isoPath_go
)
set sub_name=.iso
setlocal EnableDelayedExpansion
if "x!isoPath:%sub_name%=!"=="x%isoPath%" (echo       选择文件错误,请重新选择!echo.goto :input_isoPath_go
)
echo       选择镜像:%isoPath%
echo.
echo --------------执行安装程序中,请勿关闭--------------	qemu-system-aarch64.exe ^-m 4G ^-cpu cortex-a72 ^-smp 4 -M virt ^-bios %efi_path% ^-device VGA ^-device nec-usb-xhci ^-device usb-mouse -device usb-kbd ^-drive if=none,file=%CD%\%img_name%.qcow2,id=hd0 ^-device virtio-blk-device,drive=hd0 ^-drive if=none,file=%isoPath%,id=cdrom,media=cdrom ^-device virtio-scsi-device ^-device scsi-cd,drive=cdrom ^-net user,hostfwd=tcp::2222-:22 -net nicecho --------------结束安装,下一次启动请执行 start.bat --------------
:over_err
pause<input type=file id=f>
<script>
f.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(f.value);close();
</script>

修改文件后缀为.bat 

如果未显示后缀,则需要设置一下即可:

选择 是  

 4.开始执行安装脚本。

双击 create_install.bat 执行脚本。

如果cmd出现乱码情况,则是编码问题

如图:

 则需要转下编码,安装 notepad++ 工具,然后打开文件:

然后点击 编码=>转换为ANSI码 保存 即可:

然后再次 双击 create_install.bat 执行脚本:

输入生成的系统名称:英文或数字

比如我输入:kylin

输入生成的系统大小:建议国产系统都必须 大于等于 60 G

比如我输入的:66 

然后选择输入: 1 

启动安装,选择您刚刚下载的.iso的 arm 镜像文件。

然后等待安装,需要按enter时,按一下确认即可,不要关闭命令窗口。 

  

等待安装界面,挺慢的。。。。

选择 安装kylin

 

继续,等待安装完成

安装完成后,不要点击 现在重启 ,直接关闭cmd命令窗口,或者直接关闭 QEMU窗口 。

或者

 5.安装完成后,启动系统脚本。

在保存目录下新建 start.txt 文件。

打开txt文件,并复制粘贴以下代码模块:

同理,如果出现乱码,请转下编码,安装 notepad++ 工具,然后打开文件,然后点击 编码=>转换为ANSI码 保存 即可。

@echo off
echo.
setlocal EnableDelayedExpansion
echo ----------开始检索配置文件----------
set img_path=""
set efi_path=""
for /f "tokens=*" %%a in ('dir /b %CD%') do (for %%I in (%%a) do (if %%~xI == .qcow2 (set img_path=%%a) else if %%~xI == .fd (set efi_path=%%a))
)if %efi_path% == "" (echo       未检索到配置文件,请检查后再试!echo.goto :over_err
)echo 检索到配置文件:%efi_path%if %img_path% == "" (echo       未检索到镜像文件,请检查后再试!echo.goto :over_err
)
echo 检索到镜像文件:%img_path%echo 启动中,请勿关闭..!qemu-system-aarch64.exe ^-m 4096 ^-cpu cortex-a72 ^-smp 4 -M virt -bios %CD%\%efi_path% ^-device VGA -device nec-usb-xhci ^-device usb-mouse -device usb-kbd ^-drive if=none,file=%CD%\%img_path%,id=hd0 ^-device virtio-blk-device,drive=hd0 ^-drive if=none,file=,id=cdrom,media=cdrom ^-device virtio-scsi-device ^-device scsi-cd,drive=cdrom ^-net user,hostfwd=tcp::2222-:22 -net nic:over_err
pause

保存后,修改后缀未.bat文件。

然后双击 start.bat 执行启动:

 

 在需要按 Enter 到地方按一下进入系统:

启动成功界面:

6.kylin系统开root登陆,并开机自动登陆root。

Kylin麒麟系统设置开机自动登录roo账户_kylin怎么设置root账户-CSDN博客

7.打开ssh服务,设置ssh开机启动。

 首先安装 ssh 环境:

sudo apt-get install net-tools
sudo apt-get install ssh
sudo apt-get install openssh-server
sudo apt-get install openssh-client

 安装完成后,重新启动ssh服务:

sudo systemctl restart sshd   

查看ssh服务是否启动

ps -e | grep ssh

设置ssh服务开机启动:

sudo systemctl enable ssh

然后执行 reboot 重启电脑。

reboot


 8.使用工具连接ssh。

启动您的ssh连接工具。

 输入地址 127.0.0.1 端口 2222  因为在脚本中,本地2222端口映射到了虚拟机22端口。

 

输入账号  密码 

 连接成功界面:

相关文章:

Windows系统x86机器安装(麒麟、统信)ARM系统详细教程

本次介绍在window系统x86机器上安装国产系统 arm 系统的详细教程。 注&#xff1a;ubuntu 的arm系统安装是一样的流程。 1.安装环境准备。 首先&#xff0c;你得有台电脑&#xff0c;配置别太差&#xff0c;至少4核8G内存&#xff0c;安装window10或者11都行&#xff08;为啥…...

消息中间件篇之RabbitMQ-高可用机制

一、怎么保证高可用性 在生产环境下&#xff0c;使用集群来保证高可用性&#xff0c;一般我们采用普通集群、镜像集群、仲裁队列。 二、普通集群 普通集群&#xff0c;或者叫标准集群&#xff08;classic cluster&#xff09;&#xff0c;具备下列特征&#xff1a; 1. 会在集…...

express+mysql+vue,从零搭建一个商城管理系统5--用户注册

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建user表二、安装bcryptjs、MD5、body-parser三、修改config/db.js四、新建config/bcrypt.js五、新建models文件夹和models/user.js五、index.js引入使用body-parser六、修改routes/user.js七、启动项…...

canvas水波纹效果,jquery鼠标水波纹插件

canvas水波纹效果&#xff0c;jquery鼠标水波纹插件 效果展示 jQuery水波纹效果&#xff0c;canvas水波纹插件 HTML代码片段 <div class"scroll04wrap"><h3>发展历程</h3><div class"scroll04"><p>不要回头&#xff0c;一…...

Zookeeper客户端命令、JAVA API、监听原理、写数据原理以及案例

1. Zookeeper节点信息 指定服务端&#xff0c;启动客户端命令&#xff1a; bin/zkCli.sh -server 服务端主机名:端口号 1&#xff09;ls / 查看根节点下面的子节点 ls -s / 查看根节点下面的子节点以及根节点详细信息 其中&#xff0c;cZxid是创建节点的事务id&#xff0c…...

[嵌入式系统-34]:RT-Thread -19- 新手指南:RT-Thread标准版系统架构

目录 一、RT-Thread 简介 二、RT-Thread 概述 三、许可协议 四、RT-Thread 的架构 4.1 内核层&#xff1a; 4.2 组件与服务层&#xff1a; 4.3 RT-Thread 软件包&#xff1a; 一、RT-Thread 简介 作为一名 RTOS 的初学者&#xff0c;也许你对 RT-Thread 还比较陌生。然…...

postman访问k8s api

第一种方式&#xff1a; kubectl -n kubesphere-system get sa kubesphere -oyaml apiVersion: v1 kind: ServiceAccount metadata:annotations:meta.helm.sh/release-name: ks-coremeta.helm.sh/release-namespace: kubesphere-systemcreationTimestamp: "2023-07-24T07…...

UE4c++ ConvertActorsToStaticMesh

UE4c ConvertActorsToStaticMesh ConvertActorsToStaticMesh UE4c ConvertActorsToStaticMesh创建Edior模块&#xff08;最好是放Editor模块毕竟是编辑器代码&#xff09;创建UBlueprintFunctionLibraryUTestFunctionLibrary.hUTestFunctionLibrary.cpp:.Build.cs 目标:为了大量…...

Qt中tableView控件的使用

tableView使用注意事项 tableView在使用时&#xff0c;从工具栏拖动到底层页面后&#xff0c;右键进行选择如下图所示&#xff1a; 此处需要注意的是&#xff0c;需要去修改属性&#xff0c;从UI上修改属性如下所示&#xff1a; 也可以通过代码修改属性&#xff1a; //将其设…...

【医学影像】LIDC-IDRI数据集的无痛制作

LIDC-IDRI数据集制作 0.下载0.0 链接汇总0.1 步骤 1.合成CT图reference 0.下载 0.0 链接汇总 LIDC-IDRI官方网址&#xff1a;https://www.cancerimagingarchive.net/nbia-search/?CollectionCriteriaLIDC-IDRINBIA Data Retriever 下载链接&#xff1a;https://wiki.canceri…...

MacOS开发环境搭建详解

搭建MacOS开发环境需要准备相应的软硬件&#xff0c;并遵循一系列步骤。以下是详细的步骤&#xff1a; 软硬件准备&#xff1a; MacOS电脑&#xff1a;确保你的电脑运行的是MacOS操作系统。Xcode软件&#xff1a;打开AppStore&#xff0c;搜索并安装Xcode。安装过程可能较长&…...

全量知识系统问题及SmartChat给出的答复 之2

Q6. 根据DDD的思想( 也就是借助 DDD的某个或某些实现)&#xff0c;是否能按照这个想法给出程序设计和代码结构&#xff1f; 当使用领域驱动设计&#xff08;DDD&#xff09;的思想来设计程序和代码结构时&#xff0c;可以根据领域模型、领域服务、值对象、实体等概念来进行设计…...

嵌入式驱动学习第一周——vim的使用

前言 本篇博客学习使用vim&#xff0c;vim作为linux下的编辑器&#xff0c;学linux肯定是绕不开vim的&#xff0c;因为不确定对方环境中是否安装了编译器&#xff0c;但一定会有vim。 对于基本的使用只需要会打开文件&#xff0c;保存文件&#xff0c;编辑文件即可。 嵌入式驱动…...

loop_list单向循环列表

#include "loop_list.h" //创建单向循环链表 loop_p create_head() { loop_p L(loop_p)malloc(sizeof(loop_list)); if(LNULL) { printf("create fail\n"); return NULL; } L->len 0; L->nextL; retur…...

Python爬虫实战第二例【二】

零.前言&#xff1a; 本文章借鉴&#xff1a;Python爬虫实战&#xff08;五&#xff09;&#xff1a;根据关键字爬取某度图片批量下载到本地&#xff08;附上完整源码&#xff09;_python爬虫下载图片-CSDN博客 大佬的文章里面有API的获取&#xff0c;在这里我就不赘述了。 一…...

Eclipse是如何创建web project项目的?

前面几篇描述先后描述了tomcat的目录结构和访问机制&#xff0c;以及Eclipse的项目类型和怎么调用jar包&#xff0c;还有java的main函数等&#xff0c;这些是一些基础问题&#xff0c;基础高清出来才更容易搞清楚后面要说的东西&#xff0c;也就是需求带动学习&#xff0c;后面…...

Excel的中高级用法

单元格格式&#xff0c;根据数值的正负分配不同的颜色和↑ ↓ 根据数值正负分配颜色 2-7 [蓝色]#,##0;[红色]-#,##0 分配颜色的基础上&#xff0c;根据正负加↑和↓ 2↑-7↓ 其实就是在上面颜色的代码基础上加个 向上的符号↑&#xff0c;或向下的符号↓ [蓝色]#,##0↑;[红色…...

【ArcGIS】基本概念-空间参考与变换

ArcGIS基本概念-空间参考与变换 1 空间参考与地图投影1.1 空间参考1.2 大地坐标系&#xff08;地理坐标系&#xff09;1.3 投影坐标系总结 2 投影变换预处理2.1 定义投影2.2 转换自定义地理&#xff08;坐标&#xff09;变换2.3 转换坐标记法 3 投影变换3.1 矢量数据的投影变换…...

Qt QWidget 简约美观的加载动画 第五季 - 小方块风格

给大家分享两个小方块风格的加载动画 &#x1f60a; 第五季来啦 &#x1f60a; 效果如下: 一个三个文件,可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <QGridLayout> int main(int argc, char *arg…...

针对KZG承诺和高效laconic OT的extractable witness encryption

1. 引言 2024年以太坊基金会等成员论文 Extractable Witness Encryption for KZG Commitments and Efficient Laconic OT&#xff0c;开源代码实现见&#xff1a; https://github.com/rot256/research-we-kzg&#xff08;Rust&#xff09; 在该论文中&#xff0c;提供了一种…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析

目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork&#xff08;创建个人副本&#xff09;步骤 2: Clone&#xff08;克隆…...