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端口。

 

输入账号  密码 

 连接成功界面:

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

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

相关文章

抖音视频评论批量下载软件|抖音数据抓取工具

随着业务需求的增长&#xff0c;抖音视频的下载需求也日益增加。传统的方式是通过逐个复制粘贴分享链接来下载视频&#xff0c;这种操作效率低下且耗时费力。为了解决这一问题&#xff0c;我们开发了一款基于C#的抖音视频评论批量下载软件&#xff0c;旨在实现通过关键词自动批…

Web服务器群集:OpenEuler 部署 LAMP(LNMP) 基础服务

目录 一、实验 1.环境 2. 网络配置 3. MobaXterm远程连接 4. apache 2.4.58 源码编译安装 5. php 8.3.1源码编译安装 6.配置httpd 连接 php-fpm 6. nginx 1.24.0源码编译安装 7. mysql 8.0.36安装 二、问题 1.MobaXterm设置右键复制粘贴 2.OpenEuler如何查看CPU的核…

Android 使用NanoHTTPD 架设 Http Server + 客户端App 发送请求示例(含上传图片示例)

NanoHTTPD 简介 使用该 lib,可以在 Android 设备上,架设 Http Server。客户端(Client) App,请求 http://[serverIp]:[server端口]/… 访问服务。适用于,局域网内多安卓设备(一台作为服务器,其它作为客户端)间通信。 https://github.com/NanoHttpd/nanohttpd 依赖:imple…

Linux内核模块签名与版本检查机制

内核模块签名机制 linux内核从3.7 开始加入模块签名检查机制, 校验签名是否与已编译的内核公钥匹配。目前只支持RSA X.509验证, 模块签名验证并非强制使用, 可在编译内核时配置是否开启。 CONFIG_MODULE_SIG: Module signature verification 开启该选项后,内核加载该模块…

npm install报错,常见的解决方案

当在使用 npm install 命令时遇到错误时&#xff0c;可以尝试以下一些常见的解决方案&#xff1a; 清除 npm 缓存&#xff1a; 运行以下命令清除 npm 缓存&#xff1a; npm cache clean --force更新 npm&#xff1a; 确保你正在使用最新版本的 npm。可以运行以下命令更新 npm&a…

使用Node.js开发一个文件上传功能

在现代 Web 应用程序开发中&#xff0c;文件上传是一个非常常见且重要的功能。今天我们将通过 Node.js 来开发一个简单而强大的文件上传功能。使用 Node.js 来处理文件上传可以带来许多好处&#xff0c;包括简单的代码实现、高效的性能和灵活的配置选项。 首先&#xff0c;我们…

【kubernetes】关于k8s集群的资源发布方式(灰度/滚动发布)

目录 一、常见的发布方式 二、详解kubectl陈述式方式做灰度发布&#xff08;金丝雀发布&#xff09; 步骤一&#xff1a;先基于deployment控制器创建pod&#xff0c;然后发布 步骤二&#xff1a;基于命令行灰度发布 步骤三&#xff1a;测试等到版本稳定以后&#xff0c;再完…

2月21日,每日信息差

&#x1f396; 素材来源官方媒体/网络新闻 &#x1f384; 10 家央企签订倡议书&#xff1a;将主动向社会开放人工智能应用场景 &#x1f30d; 上海成为首个固定资产投资破万亿的一线城市 &#x1f30b; 特斯拉扩建德国工厂的计划遭当地居民反对 &#x1f381; 加拿大公司利用木…

72_Pandas.DataFrame保存并读取带pickle的系列(to_pickle、read_pickle)

72_Pandas.DataFrame保存并读取带pickle的系列&#xff08;to_pickle、read_pickle&#xff09; 要将 pandas.DataFrame、pandas.Series 对象保存为 pickle 文件&#xff0c;请使用 to_pickle() 方法&#xff0c;并使用 pd.read_pickle() 函数读取保存的 pickle 文件。 在此对…

远程解难:苹果手机投屏到Windows电脑,给爸妈演示手机操作

明窗净几夜未央&#xff0c; 键盘轻敲解忧忙。 父母笑颜消难题&#xff0c; 孝心科技共光芒。 QQ、微信、小红书等社交软件不仅年轻人在用&#xff0c;老年人也逐步使用社交软件建立起自己的朋友圈。但这些“新”软件对于部分老年人来说还是太复杂&#xff0c;这就难免需要年…

Mysql常见用法(2)

目录​​​​​​​ mysql 约束 primary key 主键的基本使用 notnull(非空) unique(唯一) foreign key(外键) check 自增长 mysql索引 索引的原理 索引的类型 索引的使用 --添加索引 删除索引&#xff1a; -- 修改索引 &#xff0c; 先删除&#xff0c;在添加新…

vue前端密码加密,springboot后端密码解密

1.模块安装 1 npm install crypto-js 2.src–>util–>secret.js 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 import CryptoJS from crypto-js // 默认的 KEY …

liunx单机项目部署

文章目录 1.liunx简介2.liunx的jdk安装2.liunx的tomcat安装3.liunx的mysql安装4.单机项目部署 1.liunx简介 Linux&#xff0c;一般指GNU/Linux&#xff08;单独的Linux内核并不可直接使用&#xff0c;一般搭配GNU套件&#xff0c;故得此称呼&#xff09;&#xff0c;是一种免费…

【C语言】学生宿舍信息管理系统

目录 项目说明 1. 数据结构设计 2. 功能实现 3. 主菜单设计 4. 文件操作 5. 系统使用 项目展示 1.主菜单功能界面 ​编辑 2.添加信息 3.查询信息 4.修改信息 5.删除信息 6.退出程序 项目完整代码 结语 在这篇博客中&#xff0c;我们将探讨如何使用C语言来开发…

【Hudi】核心概念

https://www.bilibili.com/video/BV1ue4y1i7na?p17&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf 大数据新风口&#xff1a;Hudi数据湖&#xff08;尚硅谷&Apache Hudi联合出品&#xff09; 1 基础概念 1.1 时间轴(TimeLine) 1.2 文件布局(File Layout) 1.3 索引(In…

JavaWeb个人学习01

1:RequestParam(defaultValue "默认的值") 这个可以在一个参数的前面写上 要是前端不传值进来的话 这个形参就是你定义的默认值 2: slf4j 对应的是日志的输出 log.info("参数是 {}", detail); 3: 分页插件 PageHelper 用法: 准备工作: 引入依赖 …

【OpenCV C++】Mat img.total() 和img.cols * img.rows 意思一样吗?二者完全相等吗?

文章目录 1 结论及区别2 Mat img的属性 介绍1 结论及区别 在大多数情况下,img.total() 和 img.cols * img.rows 是相等的,但并不总是完全相等的。下面是它们的含义和一些区别: 1.img.total() 表示图像中像素的总数,即图像的总像素数量。2.img.cols * img.rows 也表示图像中…

React UI框架Antd 以及 如何按需引入css样式配置(以及过程中各种错误处理方案)

一、react UI框架Antd使用 1.下载模块 npm install antd -S 2.引入antd的样式 import ../node_modules/antd/dist/reset.css; 3.局部使用antd组件 import {Button, Calendar} from antd; import {PieChartTwoTone} from ant-design/icons; {/* 组件汉化配置 */} import l…

AWS S3上传下载

目录 1. 本地&#xff08;Ubuntu&#xff09;安装AWS客户端工具 1.1 检查Python依赖 1.2. 使用pip安装AWS CLI&#xff1a; 1.3. 检查文件版本 2. 配置AWS client 3. 上传下载 3.1. 上传 3.2. 下载 3.3. 查看目标目录的文件&#xff08;文件夹&#xff09;数…

【Java设计模式】四、适配器模式

文章目录 1、适配器模式2、举例 1、适配器模式 适配器模式Adapter Pattern&#xff0c;是做为两个不兼容的接口之间的桥梁目的是将一个类的接口转换成客户希望的另外一个接口适配器模式可以使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 最后&#xff0c;适配器…