引言

作为物联网工程专业的本科生,早在大一上学期我们学校就开设了一门Linux相关课程,这门课当时只有三节,在我看来这就是一门水课,以至于我现在连这门课叫什么名字都忘记了,这门课程也没有纸质考试,只需要写一个报告上交就行了。如果想要拿高分就只需要现场跟老师交流一下学习心得就行了,老师在课上只教了一些简单的Linux操作命令,后面为了体验Linux操作环境就选择了在虚拟机里面安装Linux操作系统,最后结课的时候跟老师线下交流了一波,交流的过程还是挺顺利的,这门课的总评分也很高,这门课虽然并没有让我学到太多关于Linux系统的相关知识,但是让我知道了有这么个东西,并且还让还让我对这个东西产生兴趣

第一次尝试

由于当时大一的时候我使用的笔记本是华为轻薄本且是我姐传给我的,所以那台笔记本的性能比较差,那台轻薄本的CPU型号是Intel8250U,为了提升电脑性能当时还加装了内存条和固态硬盘。但是都没什么太大的效果,我在使用电脑的过程中能直观的感受到系统的卡顿。但是当时在虚拟机中运行Ubuntu的时候就极少出现系统卡顿的现象,这让我一度认为这是Windows的系统优化做的不好,毕竟电脑甚至还勉强能打打CSGO
在这里插入图片描述

那时还听网上很多人都在说Linux系统的操作效率会比Windows高,毕竟终端操作不需要渲染图形化界面,且用终端操作系统这本身就是一件让人感觉很高级的事情,影视作品中的黑客就是一直在用终端来控制电脑的。所以多少也是有着一些想装逼的想法在里面的,这就让当时的我萌生了安装双系统的想法。这样一来既能保留原有的系统资料不丢失还能有着更加流畅的使用体验。

大一那年我的操作是在网上购买一个外接的固态硬盘,然后将Ubuntu系统安装到外界固态硬盘中去,这样就能够实现拔掉固态硬盘时是Windows,插上固态硬盘后是Ubuntu,在物理上隔绝两个操作系统,防止二者之间出现干涉的情况。但是这套方案有着一些无法弥补的缺陷,在使用移动硬盘时读写速度会降级,且安全性较差(这点后面会提到)。第一次自己手动安装没有什么经验直接把电脑干崩溃了
在这里插入图片描述

不过好在Windows还能正常启动运行,后面为了能够顺利安装还在闲鱼上买了远程安装指导。
安装完成之后其实也并没有我想象中那么好用,因为Ubuntu操作系统的操作风格和Windows相差太大,对于只接触过Windows的我来说使用图形化界面就像日常吃饭喝水一样,早已习惯了图形化界面操作的我来说这个跨度有点太大了,我时常会在Ubuntu的终端面前发呆,不知道该做些什么,有了明确的目标之后又不知道对应的命令应该如何使用。然后又只能转头去使用Ubuntu的图形化界面去进行操作,这种本末倒置的使用方式让当时的我非常难受。再加上当时安装的Ubuntu版本较为老旧,对于笔记本的硬件驱动支持的不是很完善,其中最致命的是网卡驱动,经常会出现安装后无法连接网络的情况。有一次用完电关机的时候系统没有完全关机我就直接拔掉了移动硬盘,这导致系统彻底崩溃,那时我觉得崩就崩了吧,反正现在又用不到Ubuntu,且Ubuntu的操作体验并没有让我想象中那么好,第一次尝试也就到此结束

第二次尝试

到了大二我换了新电脑,是联想的拯救者,它的性能是远超大一的那台轻薄本的,运行Windows的流畅度也很高。虽然平时的学习中在跨平台编译时偶尔也会用到Ubuntu,但是虚拟机的性能也能够满足我的需求了,如果不出意外的话在我接下来的大学生活中我应该不会产生安装双系统的想法了。有一次我在B站上看到了一个播主发了一期Ubuntu美化的教程,最终的美化效果类似于MacOS,这让一下又吸引了我,让我又产生了安装双系统的念头,没错,这一次还是因为想装逼。但也不完全是,毕竟大一下学期到大二上学期的这一段时间里我也在不断的与Linux操作系统进行磨合。那时的我认为自己应该能够驾驭它了,所以我就开始了自己的第二次尝试,这一次的打法思路和上一次大体相同,同样是在移动硬盘中安装双系统。但是天有不测风云,当时我在安装双系统时选错了分区,导致我的Windows系统出现的故障无法正常启动了。这让当时的我如遭雷击,尝试了很多修复的办法,最终还是只能重装系统。系统恢复之后也没有心境去搞这些了,第二次尝试还没开始就草草结束了

第三次尝试

大二下学期我们学校给我们拨了一批设备,是TURTLEBOT3型号的ROS2小车,当时学校是原价8000左右一台购买的,最初是打算买来给大四学生上实训课使用的,每年也就只有实训的那一段时间会用到,大部分时间都是在吃灰。搬到的新的实验室之后,我们就向学校的老师去要这些设备,老师也是非常放心的把这些设备给我们了。拿到这些设备之后我们就开始去学习,学习过程中我们了解到了ROS2,我们发现ROS2Ubuntu的适配做的最好,几乎是每一代长期支持的Ubuntu都有对应的ROS2版本。早期在学习ROS2的时候我们都是在虚拟机中进行操作的,随着时间的推移,我们想要进行的操作越来越复杂,从最开始的建图到后面的导航再到多机协同。很多时候都需要在现场进行长时间的调试。但是我的游戏本续航太差,且非常笨重,这个时候我为了能够减轻调试时的负担选择了从咸鱼上淘了一个二手的ThinkPad
在这里插入图片描述

虽然性能并不是很强劲,但是对于Ubuntu来说也够用了,我当时刚买回来的时候笔记本的硬盘容量是512G,一半用来装Windows另一半装了Ubuntu,后来感觉Windows的作用不是很大就全部刷成了Ubuntu,其中安装的版本是22.04,由于笔记本不是很新,所以这一次的安装没有像第一次那样出现掉驱动的问题,后面我就一直使用这台笔记本进行ROS2的学习

第四次尝试

其实到这里故事也就应该结束了,但是在大二下学期的中后期,一个其他学校的朋友购买了一个livox的mid-360s雷达,由于那一段时间他身边事情比较多,所以就希望我来帮他进行一下雷达的第一阶段开发,后来他把项目中需要用到的雷达模块和RDK S100都借给我了,
在这里插入图片描述
在这里插入图片描述

拿到东西之后我就开始尝试进行开发,起初遇到了一些小困难,因为他当时购买的太早了,以至于我开发的时候官方还没有在Github上更新该版本雷达的SDK,后续的开发还算顺利,但是当时最大的问题就是当尝试在Rviz2中查看实时建图结果时会出现卡顿的情况,这是因为S100的算力虽然不差但是图形渲染能力较弱。因此当时只能采取分布式可视化的操作,即在S100上运行SLAM节点在电脑端启动Rivz2,去订阅S100发布的话题,在电脑端查看节点的更新状态,在MID-360s雷达操作手册文章中有相关的操作教程,建图的效果如下:
在这里插入图片描述

当时为了能够在PC端最大限度的发挥独立显卡的性能,我采用了WindowsWSL进行部署,这个部署的过程也较为耗时,因此在那个时候我就在想:要是能给我的电脑安装双系统是不是就没那么多事了

真正让我下定决心的是当时工作室那边还有一个机械的学长,他当时在自己搞机械臂,他从最底层的SDK开始写起,一点点搭建机械臂的操控架构。当时他给我们演示的时候我发现他就是在自己的电脑上安装了双系统。这就让我下定决心自己也要在电脑上安装双系统,这次我打算直接安装在电脑内部,而不是安装在移动硬盘中

但是当时一来是感觉自己电脑的硬盘空间不是很充足,二来是当时自己也不是很有时间,最开始我的打算是先攒钱,给电脑加一根固态硬盘,然后再安装双系统。但是固态硬盘的价格始终居高不下,所以这件事就一直拖到了暑假,接下来我就会介绍第四次安装双系统的详细过程,让你能够流畅的安装Linux双系统,对应的文章如下
理论知识介绍——了解自己的需求再安装

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐