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

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

系列文章目录


前言


一、Windows11 - Ubuntu 双系统安装

硬件信息:

设备名称	DESKTOP-B62D6KE
处理器	13th Gen Intel(R) Core(TM) i5-13500H   2.60 GHz
机带 RAM	40.0 GB (39.8 GB 可用)
设备 ID	7673EF86-8370-41D0-8831-84926668C05A
产品 ID	00331-10000-00001-AA826
系统类型	64 位操作系统, 基于 x64 的处理器
笔和触控	没有可用于此显示器的笔或触控输入

1.1 为 Ubuntu 分配存储空间

右击此电脑 - 管理

计算机管理 - 磁盘管理

右击将 Ubuntu 安装盘符(如 D:/ ),单击压缩卷。  

为 Ubuntu 分配存储空间,如(1024 * 512 = 524288) 

1.2 安装 Ubuntu

1.2.1 下载 Ubuntu 镜像

您可以在这里下载 Ubuntu 镜像。确保将其保存到个人电脑上的一个可存储的位置!在本教程中,我们将使用 Ubuntu 20.04 版本,该版本使用了新的 Ubuntu 桌面安装程序,该程序将包含在今后发布的所有 Ubuntu 版本中。

1.2.2 创建可引导 U 盘

要安装 Ubuntu 桌面,你需要将下载的 ISO 写入 U 盘以创建安装介质。这与复制ISO不同,需要一些定制软件。

在本教程中,我们将使用balenaEtcher,因为它可以在Linux、Windows和Mac OS上运行。选择与您当前操作系统相对应的版本,下载并安装该工具。

如果你想使用其他工具创建 USB,我们还有 Windows 上的 Rufus、Mac OS 上的 Etcher 和 Ubuntu 上的 Startup Disk Creator 的教程。 

选择下载的 ISO,选择 USB 闪存驱动器,然后单击 "Flash!"安装映像。

 从 DVD 安装 Ubuntu
也可以通过 DVD 而非 USB 安装 Ubuntu。按照以下指南在 Windows、MacOS 或 Ubuntu 上刻录 Ubuntu 安装 DVD,然后在下一步的启动选项屏幕上选择 CD 驱动器而非 USB 设备。

1.2.3 从 U 盘启动

设置 - 恢复 - 高级启动 - 立即重新启动 - 使用设备 - 使用 U 盘启动 Ubuntu。

它应该会自动识别安装介质。如果不能,请尝试在启动过程中按住 F12,然后从系统专用启动菜单中选择 USB 设备。

F12 是调出系统启动菜单最常用的按键,但 Escape、F2 和 F10 也是常用的替代按键。如果你不确定,可以查看系统启动时的简短信息--这通常会告诉你按哪个键可以调出启动菜单。

安装程序初始化后,您将被邀请选择语言

然后就出现了试用或安装 Ubuntu 的选项。

 要继续,请单击 "安装 Ubuntu"。

系统会要求你选择键盘布局。选择好后,点击继续。

接下来,系统会要求你连接无线网络,这将允许 Ubuntu 在安装过程中下载更新和第三方驱动程序(如英伟达显卡驱动程序)。连接Wi-Fi(或选择离线)后,我们就可以继续安装设置了。

1.2.4 安装设置

 系统会提示你选择 "正常安装 "和 "最小化安装 "选项。对于硬盘较小或不需要太多预装应用程序的用户来说,最小化安装非常有用。

在 "其他 "选项中,系统会提示您下载更新以及第三方软件,以便在安装过程中提高设备支持和性能(例如 Nvidia 显卡驱动程序)。建议同时选中这两个复选框。

1.2.5 安装类型

该界面允许你对安装进行配置。如果你希望 Ubuntu 成为硬盘上唯一的操作系统,请选择 "擦除磁盘并安装 Ubuntu"。

如果你的设备目前已安装了其他操作系统,你将获得更多选项,在安装 Ubuntu 的同时安装该操作系统,而不是取而代之。

让我们花点时间详细回顾一下上述所有选项。

a. 在安装其他操作系统的同时安装 Ubuntu

如果你选择了这个选项,你会看到一个简单的界面,允许你选择要安装Ubuntu的硬盘,并通过滑块来决定你希望Ubuntu使用的磁盘空间大小。可用空间受磁盘现有内容的限制,旨在避免覆盖现有文件。

该视图会自动选择硬盘上最大的分区。如果想进行更精细的控制,你可以切换到手动分区选项,下面会有详细说明。

b. 擦除磁盘并安装 Ubuntu

如果选择此选项,Ubuntu 将占用所选驱动器的全部磁盘空间。

如果你的电脑有多个硬盘驱动器,那么只要它们各自有自己的驱动器,这个选项就能让你在安装 Ubuntu 的同时安装现有的操作系统。在这种情况下,请注意选择正确的硬盘!

该选项还允许你使用 LVM 加密整个硬盘。要做到这一点,请在进入上述界面之前打开高级功能选项,然后选择 "为新安装的 Ubuntu 加密以确保安全"。

LVM 是逻辑卷管理(Logical Volume Management)的缩写。通过在设置过程中使用 LVM,可以在安装后更轻松地创建和管理分区。

在接下来的步骤中,系统会提示你创建一个安全密钥,在使用用户凭据登录之前,你需要在启动时输入该密钥。

 

如果您选择加密,重要的是不要丢失您的安全密钥!记下它并将其存放在本地系统之外的安全地方。没有它,你将无法恢复数据!

c. 手动分区

手动分区是为高级用户设计的,他们希望根据自己的使用情况创建特定的配置。因此,我们假定这些用户可以轻松使用该界面,本教程将不再详细介绍具体设置。

在这里,用户可以查看所有现有驱动器和分区,并创建和管理新的分区表和配置。

(警告)已启用 Windows BitLocker
如果您的设备启用了 Windows BitLocker 驱动器加密功能,那么 Ubuntu 将无法收集所需的驱动器信息,从而无法在 Windows 环境下安全安装 Ubuntu。

如果是这种情况,在重启 Ubuntu 安装程序之前,你会收到在 Windows 中禁用 BitLocker 的提示。

1.2.6 准备安装

无论您选择哪个选项,单击 "下一步 "都会跳转到安装配置摘要,让您有机会在单击 "安装 "之前确认您的设置

一旦您继续,Ubuntu 将在后台开始安装过程,您将无法返回到此点。

 1.2.7 选择您的位置

从地图界面选择您的位置和时区,然后单击 "继续"。如果您已连接互联网,系统将自动检测到这些信息。

1.2.8 创建登录信息

在此屏幕上,系统会提示您输入您的姓名和您的计算机名称,以显示在网络上。最后,您将创建一个用户名和一个强大的密码。

您可以选择自动登录或要求输入密码。如果您在旅行中使用设备,建议您启用 "要求输入密码才能登录"。

1.2.9 完成安装

最后,你可以选择将桌面从浅色主题切换到深色主题。 

1.2.10 重启

按照提示拔出安装介质,启动电脑

1.2.11 解决时间不同步问题

timedatectl set-local-rtc 1

若上述方法无用

sudo ntpdate time.windows.com
sudo hwclock --localtime --systohc

 

 二、安装 ROS、ROS2

2.1 使用清华源 ROS 镜像源安装 ROS

新建 /etc/apt/sources.list.d/ros-latest.list,内容为:

deb https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ focal main

然后再输入如下命令,信任 ROS 的 GPG Key,并更新索引:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update

安装 ROS

sudo apt install ros-noetic-desktop-full
sudo apt install python3-rosdep
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

2.2 使用清华源 rosdistro 镜像

在 rosdep 使用流程中,我们会有如下两个步骤

sudo rosdep init
rosdep update

我们替换为以下步骤

# 手动模拟 rosdep init
sudo mkdir -p /etc/ros/rosdep/sources.list.d/
sudo curl -o /etc/ros/rosdep/sources.list.d/20-default.list https://mirrors.tuna.tsinghua.edu.cn/github-raw/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
# 为 rosdep update 换源
export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml
rosdep update# 每次 rosdep update 之前,均需要增加该环境变量
# 为了持久化该设定,可以将其写入 .bashrc 中,例如
echo 'export ROSDISTRO_INDEX_URL=https://mirrors.tuna.tsinghua.edu.cn/rosdistro/index-v4.yaml' >> ~/.bashrc

 2.3 使用清华源 ROS2 镜像源安装 ROS2

输入如下命令,下载 ROS 的 GPG Key:

sudo apt install curl gnupg2
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

解决 github.com 或者 raw.githubusercontent.com 打开慢、打不开问题 

http://t.csdnimg.cn/InuXQicon-default.png?t=N7T8http://t.csdnimg.cn/InuXQ Ubuntu 20.04

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt update

Ubuntu 22.04

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/nullsudo apt update

Ubuntu 20.04 安装 ROS2 Foxy

sudo apt install ros-foxy-desktop python3-argcomplete
sudo apt install ros-dev-tools

2.4 ROS ROS2 同时安装

sudo vim ~/.bashrc
#source /opt/ros/noetic/setup.bash
echo "ros noetic(1) or ros2 foxy(2)?"read edition
if [ "$edition" -eq "1" ];then  source /opt/ros/noetic/setup.bash
else  source /opt/ros/foxy/setup.bash
fi

相关文章:

Windows11 - Ubuntu 双系统及 ROS、ROS2 安装

系列文章目录 前言 一、Windows11 - Ubuntu 双系统安装 硬件信息: 设备名称 DESKTOP-B62D6KE 处理器 13th Gen Intel(R) Core(TM) i5-13500H 2.60 GHz 机带 RAM 40.0 GB (39.8 GB 可用) 设备 ID 7673EF86-8370-41D0-8831-84926668C05A 产品 ID 00331-10000-0000…...

深度学习(学习记录)

题型:填空题判断题30分、简答题20分、计算题20分、综合题(30分) 综合题(解决实际工程问题,不考实验、不考代码、考思想) 一、深度学习绪论(非重点不做考察) 1、传统机器学习&…...

html5实现好看的个人博客模板源码

文章目录 1.设计来源1.1 主界面1.2 认识我界面1.3 我的文章界面1.4 我的模板界面1.5 文章内容界面 2.结构和源码2.1 目录结构2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/135368653 html5实现好看…...

SpringSecurity深度学习

SpringSecurity简介 spring Security是什么? Spring Security 是一个强大且高度可定制的身份验证和访问控制框架,用于保护基于Spring的应用程序。它是Spring项目的一部分,旨在为企业级系统提供全面的安全性解决方案。 一个简单的授权和校验…...

odoo17 | 用户界面的基本交互

前言 现在我们已经创建了我们的新模型及其 相应的访问权限,是时候了 与用户界面交互。 在本章结束时,我们将创建几个菜单以访问默认列表 和窗体视图。 数据文件 (XML) Odoo在很大程度上是数据驱动的,因此模块定义的…...

Intel 性能监视器之二

全文来自Intel开发者手册:Intel? 64 and IA-32 Architectures Software Developer’s Manual Volume 3B System Programming Guide.pdf 注意:下文中已经指出手册中的对应页面和章节,请对照手册原文看,任何个人理解错误&#xff…...

Vert.x学习笔记-什么是事件总线

广义事件总线介绍Vert.x的事件总线Vert.x的事件总线的实现方式Vert.x的事件总线通信模式事件总线与消息队列的区别点对点通信模式请求-应答通信模式发布-订阅通信模式 Vert.x的事件总线应用场景Vert.x的事件总线消息Vert.x的事件总线消息示例Vert.x的事件总线的消息类型 拓展 广…...

STM32学习笔记二十二:WS2812制作像素游戏屏-飞行射击游戏(12)总结

至此,飞行射击游戏已经基本实现该有的功能,已经比较接近早期的商业游戏了。 如果采用脚本,可以完成关卡游戏,如果不用,也可以做成无限挑战游戏。 我们汇总一下制作的过程: 1、建模UML 2、主循环处理过程…...

astadmin安装querylist插件Puppeteer

我本来是想在linux服务器上安装,折腾了一天也没安装成功,由于急着用,就先做window10上安装了,以后有时间再研究centos7上安装 一 首先需要安装fastadmin 框架和querylist插件 这个大家可以自行安装,querylist安装地址…...

Python从入门到网络爬虫(MySQL链接)

前言 在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据成为了一个重要的问题…...

2020年认证杯SPSSPRO杯数学建模A题(第二阶段)听音辨位全过程文档及程序

2020年认证杯SPSSPRO杯数学建模 A题 听音辨位 原题再现: 把若干 (⩾ 1) 支同样型号的麦克风固定安装在一个刚性的枝形架子上 (架子下面带万向轮,在平地上可以被水平推动或旋转,但不会歪斜),这样的设备称为一个麦克风树。不同的麦…...

深入理解CRON表达式:时间调度的艺术

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…...

网络安全—模拟IP代理隐藏身份

文章目录 网络拓扑安装使用代理服务器设置隐藏者设置 使用古老的ccproxy实现代理服务器,仅做实验用途,禁止做违法犯罪的事情,后果自负。 网络拓扑 均使用Windows Server 2003系统 Router 外网IP:使用NAT模式 IP DHCP自动分配或者…...

Resilience4j相关问题及答案(2024)

1、什么是Resilience4j,与Hystrix有何不同? Resilience4j是一个为Java 8和函数式编程设计的故障恢复库,它主要利用了Vavr库中的函数式编程概念。Resilience4j提供了一系列的故障恢复机制,包括断路器(Circuit Breaker&…...

XSKY SDS 产品率先获得 OceanBase V4 新版本认证

近日,北京奥星贝斯科技有限公司(简称:OceanBase)与北京星辰天合科技股份有限公司(简称:XSKY 星辰天合)顺利完成产品兼容性认证。 XSKY 的高性能全闪存储以及混闪存储,与 OceanBase V…...

系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[基础知识]

分类目录:《系统学习Python》总目录 我们可以在类中定义两种方法,它们不需要一个实例就可以被调用:静态方法(staticmethod)大致与一个类中简单的无实例函数的工作方式类似,而类方法则被传人一个类而不是一个…...

kotlin isEmpty/isNotEmpty/isNullOrEmpty和isBlank/isNotBlank/isNullOrBlank

kotlin 中 isEmpty :如果判断的字符为空返回值返回true否则返回false 它的源码 kotlin.internal.InlineOnly public inline fun CharSequence.isEmpty(): Boolean length 0 length 0: 首先检查字符序列的长度是否为 0。如果长度为 0,则表明这个字…...

Qt/QML编程学习之心得:Linux下USB接口使用(25)

很多linux嵌入式系统都有USB接口,那么如何使用USB接口呢? 首先,linux的底层驱动要支持,在linux kernal目录下可以找到对应的dts文件,(device tree) usb0: usb@ee520000{compatible = "myusb,musb";status = "disabled";reg = <0xEE520000 0x100…...

概率论与数理统计 知识点+课后习题

文章目录 &#x1f496; [学习资源整合](https://www.cnblogs.com/duisheng/p/17872980.html)&#x1f4da; 总复习&#x1f4d9; 选择题&#x1f4d9; 填空题&#x1f4d9; 大题1. 概率2. 概率3. 概率4. P5. 概率6. 概率密度函数 F ( X ) F(X) F(X)7. 分布列求方差 V ( X ) …...

Spring Boot实战:深入理解@Service与@Mapper注解

1. Service 注解 Service 是Spring框架提供的一个注解&#xff0c;用于标记类为业务逻辑层的组件。当类上标注了Service注解后&#xff0c;Spring容器会自动扫描并创建该类的一个实例&#xff08;即Bean&#xff09;&#xff0c;这样我们就可以在其他地方通过自动装配&#xf…...

【DevOps-06】Jenkins实现CI/CD操作

一、简要说明 基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成 基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署 二、准备Springboot工程 1、IDEA新建工程 2、填写项目工程信息 3、选择Springboot版本…...

华为面经总结

为了帮助大家更好的应对面试&#xff0c;我整理了往年华为校招面试的题目&#xff0c;供大家参考~ 面经1 技术一面 自我介绍说下项目中的难点volatile和synchronized的区别&#xff0c; 问的比较细大顶堆小顶堆怎么删除根节点CSRF攻击是什么&#xff0c;怎么预防线程通信方式…...

大模型实战营Day1 书生·浦语大模型全链路开源体系

1.大模型为发展通用人工智能的重要途经 专用模型&#xff1a;针对特定任务解决特定问题 通用大模型&#xff1a;一个模型对应多模态多任务 2.InternLM大模型开源历程 3.InternLM-20B大模型性能 4.从模型到应用&#xff1a;智能客服、个人助手、行业应用 5.书生浦语全链条开源…...

Java 集合面试题真实场景还原

Java 集合面试题真实场景还原 文章目录 Java 集合面试题真实场景还原Java常见的集合类ListHashMap Java常见的集合类 面试官&#xff1a;说一说Java提供的常见集合&#xff1f;&#xff08;画一下集合结构图&#xff09; 候选人&#xff1a; 嗯~~&#xff0c;好的。 在java中提…...

AutoSAR(基础入门篇)4.9-Autoar_BSW小结

Autoar_BSW小结 Autoar_BSW小结 一、Autoar_BSW小结 1、BSW组件图 2、BSW的功能概述 3、BSW在工程里的应用实际工程...

Winform中使用Websocket4Net实现Websocket客户端并定时存储接收数据到SQLite中

场景 SpringBootVue整合WebSocket实现前后端消息推送&#xff1a; SpringBootVue整合WebSocket实现前后端消息推送_websocket vue3.0 springboot 往客户端推送-CSDN博客 上面实现ws推送数据流程后&#xff0c;需要在windows上使用ws客户端定时记录收到的数据到文件中&#x…...

Jenkins修改全局maven配置后不生效解决办法、以及任务读取不同的settings.xml文件配置

一、修改Global Tool Configuration的maven配置不生效 说明&#xff1a;搭建好jenkins后&#xff0c;修改了全局的settings.xml&#xff0c;导致读取settings一直是之前配置的。 解决办法一 Jenkins在创建工作任务时&#xff0c;会读取当前配置文件内容&#xff0c;固定在这…...

【elfboard linux开发板】7.i2C工具应用与aht20温湿度寄存器读取

1. I2C工具查看aht20的温湿度寄存器值 1.1 原理图 传感器通过IIC方式进行通信&#xff0c;连接的为IIC1总线&#xff0c;且设备地址为0x38&#xff0c;实际上通过后续iic工具查询&#xff0c;这个设备是挂载在iic-0上 1.2 I2C工具 通过i2c工具可以实现查询i2c总线、以及上面…...

LeetCode-有效的字母异位词(242)

题目描述&#xff1a; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 思路&#xff1a; 这题还是比较简单的&#xff0c;首先将两个字符…...

【AIGC-图片生成视频系列-6】SSR-Encoder:用于主题驱动生成的通用编码器

目录 一. 贡献概述 二. 方法详解 a) 训练阶段 b) 推理生成阶段&#xff1a; 三. 综合结果 四. 注意力可视化 五. 选择性主题驱动图像生成 六. 人体图像生成 七. 可推广到视频生成模型 八. 论文 九. 个人思考 稳定扩散&#xff08;Stable Diffusion&#xff09;模型可…...

云栖建站/搜狗关键词排名此会zjkwlgs

供稿 | Rheos Team 徐朝晖编辑 | 顾欣怡本文2238字&#xff0c;预计阅读时间7分钟更多干货请关注“eBay技术荟”公众号导读Apache Flink作为低延迟、高吞吐的大数据计算引擎&#xff0c;在实时数据处理领域有着优越的地位。本文将从集群生命周期管理、Job生命周期管理、Job快照…...

php网站制作过程中遇到的问题及解决办法/大连seo顾问

众所周知&#xff0c;PMP证书的有效期是3年&#xff0c;如果想保持此证书的有效性&#xff0c;您需要完成两个步骤&#xff1a; 1.在三年之内向PMI申报完成60个PDU&#xff1b; 2.向PMI申请下一个三年续证的有效期并缴费。 流程虽然简单&#xff0c;但是对于首次操作的PMPer会…...

xml wordpress/搜索引擎优化技术

当对数据库进行插入数据后&#xff0c;有时会需要刚插入的数据的id值&#xff0c;以作他用&#xff0c;整理如下&#xff1a;conn pymysql.connect(hostDB_HOST, port3306, userDB_USER, passwdDB_PASSWORD, dbDB_DATABASE, charsetDB_CHARSET)cursor …...

网站建设优化重庆/苏州做网站的专业公司

在优化程序的时候&#xff0c;首先需要找出程序性能的瓶颈在哪里&#xff0c;然后针对该瓶颈进行优化。 gprof就是一个这样的剖析程序。它会确定程序中每个函数花费了多少CPU时间。另外&#xff0c;它还计算每个函数被调用的次数。 下面是简单的使用&#xff1a; 1&#xff1a;…...

使用dw如何给网站做电影/得物app的网络营销分析论文

Description: 大家一定觉的运动以后喝可乐是一件很惬意的事情&#xff0c;但是seeyou却不这么认为。因为每次当seeyou买了可乐以后&#xff0c;阿牛就要求和seeyou一起分享这一瓶可乐&#xff0c;而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子&#xff0c;它们的容…...

本溪网站开发公司电话/做谷歌推广比较好的公司

开宗明义 java8的一个新特性就是在java.util.function中提供了四个函数式编程接口&#xff0c;分别是Consumer、Supplier、Function、Predicate。 其中&#xff0c; consumer即消费接口&#xff0c;传入一个参数&#xff0c;并对其进行相应的操作&#xff08;有点类似于lambd…...