Windows 搭建ARM虚拟机 UOS系统

news2025/1/12 19:57:08

搭建环境

安装虚拟机

下载虚拟机QEMU,https://www.qemu.org/download/,目前最新版本是7.2.0。

安装完成后,需要将qemu的安装路径设置到环境变量

完成后运行cmd,测试环境变量配置完成。

qemu-system-aarch64 --version

如上截图所示,说明安装配置成功!

操作系统及BIOS

下载UOS,地址:https://www.chinauos.com/resource/download-professional。

下载虚拟化的ARM64 BIOS,https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/,下载QEMU_EFI.fd文件

安装&启动

安装

创建一个用于容纳虚拟机相关文件的目录,例如:G:\VM\UOS20

将相关文件复制到该目录中:

虚拟机镜像:uniontechos-desktop-20-professional-1050-update3-arm64.iso

ARM64 BIOS:QEMU_EFI.fd

新建文件 install.bat,用于启动安装系统,其内容如下:

qemu-img create -f qcow2 uos20.qcow2 200G

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4 -M virt -bios QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=uos20.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=uniontechos-desktop-20-professional-1050-update3-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic,model=pcnet

参数说明:

-smp 表示CPU数量

-m 表示内存大小

-bios BIOS文件位置

-drive if=none,file=uos20.qcow2,id=hd0 虚拟机虚拟磁盘位置,也就是qemu-img创建的磁盘位置。

-drive if=none,file=uniontechos-desktop-20-professional-1050-update3-arm64.iso,id=cdrom,media=cdrom 操作系统安装镜像位置,根据实际情况替换file=的内容。

具体参考qemu帮助文档:https://www.qemu.org/docs/master/system/invocation.html

将install.bat放到和ISO同级目录下,双击运行。出现以下界面。

由于ARM指令集需要重新被翻译成X86所以虚拟机性能较差,因此比较慢,请耐心等待!

安装完成后,退出操作系统并关闭虚拟机。

启动

在目录中创建start.bat脚本,其内容如下:

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8 -M virt -bios QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=uos20.qcow2,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::80-:22 -net nic

参数简介:

-m 虚拟机内存

-smp 虚拟机CPU

-bios QEMU_EFI.fd 虚拟机BIOS

-drive if=none,file=uos20.qcow2,id=hd0 虚拟机磁盘

-net user,hostfwd=tcp::80-:22 虚拟机网络映射,把虚拟机内的22端口映射到主机上的80端口

运行start.bat,出现以下界面,耐心等待启动完毕!

根据个人喜好配置即可!

ssh连接虚拟机

执行下面命令:

ssh user@127.0.0.1 -p 2222

如果出现如下错误

kex_exchange_identification: read: Connection aborted

则说明要么ssh没有启动,要么ssh没安装,采用如下命令验证:

sudo service ssh status

如果是Unit ssh.service could not be found.说明没有安装通过如下命令安装:

sudo apt install openssh-server
sudo service ssh start

如果是如下截图所示,则说明没有启动:

执行以下命令启动即可

sudo service ssh start

由于虚拟机比较卡,建议采用MobaXterm等工具连接,MobaXterm配置如下:

设置密码即可,如下图所示:

注意:UOS安装如果要启动root用户需要,启动开发者模式,相关开启这里不做介绍。

优化

qemu-guest-agent,spice-vdagent 安装后体验直线上升,可以双向拖拽,共享剪切版,自适应缩放

sudo apt install qemu-guest-agent
systemctl enable qemu-guest-agent

sudo apt install spice-vdagent
systemctl enable spice-vdagent

virt-what 可以查询虚拟机使用的虚拟化技术

sudo apt install virt-what

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

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

相关文章

【QT】QHostInfo 和 QNetworkInterface 的使用

目录1. Qt网络模块2. QHostInfo2.1 公共函数2.2 静态函数3. QNetworkInterface3.1 公共函数3.2 静态函数4. 代码示例Dialog.hDialog.cpp界面展示1. Qt网络模块 使用Qt网络模块,需要在配置文件.pro中添加: Qt network2. QHostInfo 2.1 公共函数 QLis…

10分钟学会Jmeter接口测试

一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释: 什么是接口…

OpenMMLab AI实战营 第6课 语义分割与MMSegmentation

第6课 语义分割与MMSegmentation 1. 语义分割简介 任务:将图像按照物体的类别分割成不同的区域,等价于对每个像素进行分类应用 无人驾驶人像分割智能遥感医疗影像分析 语义分割 vs 实例分割 vs 全景分割 语义分割:仅考虑像素的类别&#xf…

如何利用火遍全球的ChatGPT搞钱?

火遍全球的ChatGPT想必大家都知道了。已经有人借助它赚到了2023年的第一桶金,连比尔盖茨都称赞ChatGPT不亚于互联网的诞生。还有人借助Chagpt通过了Google面试,拿到了年薪18万美元的工程师offer。要明白,年薪百万的谷歌程序员,对于…

百度富文本UE的问题集合

百度富文本编辑能上传视频成功但是在浏览器不能播放、显示的问题百度富文本视频封面空白问题百度富文本编辑器UMEditor 添加视频无法删除百度富文本编辑器结果存数据库取出来到js赋值报错怎么让浏览器重新加载修改过的JS文件,而不是沿用缓存里的百度富文本编辑能上传…

智慧物流管理系统

智慧物流运用物联网、大数据、云计算、人工智能等技术优化物流决策过程。智慧物流获取、分析物流信息并做出决策,从商品源开始实时跟踪与管理,保证信息流快于商品流,实现信息与物质快速、高效、流畅地运转,集自动化、数字化、网络…

浏览器如何使用HTTP防止ip限制

当我们浏览网页尤其是频发刷新网页时,会跳出来验证码。主要因为频繁刷新导致目标网页限制了您本地ip,正常过一段时间也或许恢复,如果遇到紧急的事情急需访问,不妨试试下面的操作。不管是网页还是电脑游戏都可以通过改变地址实现防…

Linux内核移植(源码分析、配置与编译)

目录 一、Linux内核概述 1.1内核与操作系统 ​编辑1.2Linux层次结构 1.3Linux内核特点 二、Linux内核源码结构 2.1Linux内核源码获取 2.2Linux内核源码结构 三、Linux内核源码的配置和编译 3.1Linux内核源码配置 3.2make menuconfig 3.3内核编译(以下命令…

Java学习记录day6

书接上回 类与对象 static关键字 static的作用: 修饰一个属性:声明为static的变量实质上就是一个全局变量,其生命周期为从类被加载开始一直到程序结束;修饰方法:无须本类的对象也可以调用该方法;修饰一个类&#x…

Yii中render和renderPartial的区别

一、Yii项目来源二、配置yiisoft/yii2-app-basic,写个Demo1、默认的首页2、自定义Demo的html内容3、php渲染代码1)、render() 渲染2)、renderPartial() 渲染三、给出结论一、Yii项目来源 直接composer安装:composer create-proje…

注意力机制(SE,ECA,CBAM) Pytorch代码

注意力机制1 SENet2 ECANet3 CBAM3.1 通道注意力3.2 空间注意力3.3 CBAM4 展示网络层具体信息1 SENet SE注意力机制(Squeeze-and-Excitation Networks):是一种通道类型的注意力机制,就是在通道维度上增加注意力机制,主要内容是是…

【光线追踪】光线追踪重投影方法(Ray Tracing Reprojection)

光线追踪重投影方法 重投影这项技术一般用于时间性帧复用技术上,例如TAA(Temporal Anti-Aliasing)反走样或者抗锯齿技术。读这篇文章最好先对TAA这类技术的算法流程有了解。 1.TAA抗锯齿技术简介 先简单介绍下TAA抗锯齿的原理,在游戏中,当前…

解决ThinkPHP5.1出现MISS缓存未命中问题

一淘模板(56admin.com)给大家带来了关于ThinkPHP5.1的相关知识,其中主要介绍了CDN是什么?为什么使用它?怎么解决ThinkPHP5.1 MISS缓存未命中问题?感兴趣的朋友下面一起来看一下吧,希望对大家有帮…

疑难杂症篇(二十一)--Ubuntu18.04安装usb-cam过程出现的问题

对Ubuntu18.04{\rm Ubuntu 18.04}Ubuntu18.04环境下的ROS{\rm ROS}ROS的melodic{\rm melodic}melodic版本安装usb−cam{\rm usb-cam}usb−cam过程出现的两个常见问题提出解决方案。 1.问题1:usb-cam功能包编译时出现"未定义的引用"的问题 问题描述&#…

@RefreshScope 加在 Quartz 触发器类导致异常问题分析

背景 承接上篇,测试过程中又遇到了 Nacos Config 的动态刷新注解 RefreshScope 与 Quartz 框架结合的问题,Bug 排查路上,顺手记录一下吧。 问题 有个模块使用了Quartz ,通过配置控制任务调度的周期和分组名称。 因为引用了动态…

如何解决thinkphp验证码不能显示问题?

thinkPHP做验证码这一块,可以使用自带的验证码扩展,具体步骤如下: 一、安装扩展 composer require topthink/think-captcha 二、模版中使用 将原来静态页面的验证码图片替换为{:captcha_img()},这个会自动生成验证码图片。 <div>{:captcha_img()}</div> 或者 &…

如何理解 K8s 动态伸缩与触发上线?

K8s 版本&#xff1a;1.23.6 目录一、动态伸缩二、触发上线一般地&#xff0c;如果仅修改 Pod 的副本数&#xff08;如新增/缩减&#xff09;&#xff0c;这就属于动态伸缩。如果是修改容器镜像的版本&#xff0c;则会触发上线&#xff0c;具体看下面例子。 一、动态伸缩 1、…

00后整顿职场?公司测试岗却新来了个00后卷王,3个月薪资干到20K...

最近聊到软件测试的行业内卷&#xff0c;越来越多的转行和大学生进入测试行业。想要获得更好的待遇和机会&#xff0c;不断提升自己的技能栈成了测试老人迫在眉睫的问题。 不论是面试哪个级别的测试工程师&#xff0c;面试官都会问一句“会编程吗&#xff1f;有没有自动化测试…

Mybatis框架(全部基础知识)

&#x1f44c; 棒棒有言&#xff1a;也许我一直照着别人的方向飞&#xff0c;可是这次&#xff0c;我想要用我的方式飞翔一次&#xff01;人生&#xff0c;既要淡&#xff0c;又要有味。凡事不必太在意&#xff0c;一切随缘&#xff0c;缘深多聚聚&#xff0c;缘浅随它去。凡事…

2023年了,来试试前端格式化工具

在大前端时代&#xff0c;前端的各种工具链穷出不断&#xff0c;有eslint, prettier, husky, commitlint 等, 东西太多有的时候也是trouble&#x1f602;&#x1f602;&#x1f602;,怎么正确的使用这个是每一个前端开发者都需要掌握的内容&#xff0c;请上车&#x1f697;&…