/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}
前言
对于机器人专业的初学者,想要学习 ROS 开发却不想重装 Linux 双系统、不想配置笨重的虚拟机,WSL2(Windows 子系统)是目前最优的解决方案。它能让你在 Windows 系统中直接运行原生 Linux 环境,性能接近原生系统,文件互通方便,完全满足 ROS 学习和基础开发需求。
本文面向零基础纯小白,从概念科普、环境搭建、报错排查到 ROS 安装,全程步骤化讲解,照着做就能 100% 成功搭建出可用的 ROS 开发环境。
第一章 基础概念扫盲:先搞懂 WSL、Ubuntu、ROS 是什么
很多新手第一步就被各种名词绕晕,这一节用最通俗的话讲清三者的关系与作用。
1.1 三个核心概念
(1)WSL 是什么
WSL 全称 Windows Subsystem for Linux(适用于 Linux 的 Windows 子系统),是 Windows 系统自带的官方功能组件。
- 它不是操作系统,而是一个「桥梁 / 运行平台」
- 作用:让 Windows 不用装双系统、不用开 VMware 虚拟机,就能直接运行 Linux 系统
- 我们在 PowerShell 中输入的所有 wsl 开头的命令,都是在管理这个平台
(2)Ubuntu 是什么
Ubuntu 是一款主流的 Linux 操作系统发行版,和 Windows、macOS 属于同一层级。
- 它是真正的 Linux 系统,拥有独立的文件系统、命令终端、软件包管理工具(apt)
- 我们安装的 Ubuntu-20.04,就是跑在 WSL2 平台上的一个 Linux 系统实例
- 后续所有 ROS 相关命令,都必须在 Ubuntu 终端中执行
(3)ROS 是什么
ROS 全称 Robot Operating System(机器人操作系统),但注意:它不是真正的操作系统。
- 它是一套跑在 Linux(主要是 Ubuntu)上的机器人开发框架 / 工具集,必须依赖 Ubuntu 才能运行
- 提供了机器人开发需要的节点通信、硬件驱动、算法包、可视化工具(RViz、Gazebo)
- 相当于机器人领域的专业开发 SDK,是学习机器人技术的必备工具
1.2 三者的层级关系
从上到下依次依赖,缺一不可:
第二章 WSL2 环境安装与配置
2.1 前置条件检查
WSL2 有两个硬性要求,缺一不可:
检查虚拟化是否开启
- 显示已启用:直接进入下一步
- 显示已禁用:需要重启电脑进 BIOS 开启
BIOS 开启虚拟化方法(已开启就跳过)
重启电脑,开机黑屏时连续按对应按键进入 BIOS:
- 台式机:一般按 Del 键
- 联想:按 F2(部分机型需同时按 Fn)
- 戴尔:按 F2
- 惠普:按 F10
- 华硕:按 F2 或 Del
在 BIOS 中找到对应选项并设置为 Enabled:
- Intel CPU:Intel Virtualization Technology (VT-x)
- AMD CPU:SVM Mode / AMD-V
设置完成后按 F10 保存并重启,进入系统后再次在任务管理器中确认虚拟化已启用。 如果在BIOS找不到相关设置,可以去网上搜索解决方法,有很多
2.2 启用 Windows 系统组件
打开「Windows PowerShell (管理员)」/「终端 (管理员)」 
依次执行以下两条命令,启用 WSL 和虚拟机平台:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
2.3 安装 WSL2 内核并设置默认版本
重启电脑后,再次打开管理员 PowerShell:
wsl —install —no-distribution
wsl —set-default–version 2
执行无报错即说明 WSL2 基础环境搭建完成,有报错就去网上搜索解决方法或者问AI工具
第三章 Ubuntu 20.04 安装与初始化
WSL2 环境就绪后,我们安装真正的 Linux 系统。
3.1 安装 Ubuntu 20.04
为什么选择 20.04 版本:
- ROS1 的最终版本 Noetic 仅官方支持 Ubuntu 20.04
- 教程资料最丰富,新手踩坑最少
安装步骤
打开管理员 PowerShell,执行:
wsl —install –d Ubuntu-20.04
等待系统自动下载并安装,完成后会自动弹出 Ubuntu 终端。
3.2 初始化 Ubuntu
首次打开 Ubuntu 终端,会提示你设置用户名和密码:
设置完成后,你就正式进入 Linux 系统了。

3.3 WSL 与 Windows 的文件互通
这是 WSL 最方便的特性之一:
在 Ubuntu 中访问 Windows 文件
Windows 的所有磁盘都挂载在 /mnt/ 目录下,比如 C 盘路径为 /mnt/c/,D 盘为 /mnt/d/。
在 Windows 中访问 Ubuntu 文件
打开文件资源管理器,地址栏输入 \\\\wsl$ 回车,即可看到 Ubuntu 系统的所有文件。
第四章 ROS Noetic 安装(小鱼一键安装法)
ROS 官方安装步骤繁琐,且国内网络容易失败。我们使用国内开发者「小鱼」的一键安装脚本,自动换源、自动配置环境,成功率接近 100%。
注意:Ubuntu 20.04 对应 ROS1 的 Noetic 版本,不要选错成 Melodic(Melodic 仅适配 Ubuntu 18.04)。
要使用小鱼的一键安装系列,需要下载一个脚本,然后执行这个脚本,进行ROS的安装与环境的配置(此脚本还可以安装很多工具,具体可以看鱼香大佬的说明 )
4.1 执行一键安装脚本
所有操作都在 Ubuntu 终端 中执行,:

wget http://fishros.com/install -O fishros && . fishros

输入你的 Ubuntu 密码,回车进入工具菜单,然后就会看见选择安装界面,小鱼脚本除了安装ROS还可以支持很多工具安装,这里我们选择 1 ROS安装。

4.2 具体步骤选择安装选项
按照终端提示,依次输入对应数字并回车:
第一步:输入 1,选择「一键安装:ROS (支持 ROS 和 ROS2, 树莓派 Jetson)」
第二步:输入 1,选择「更换系统源再继续安装」(强烈建议更换,避免下载失败)
第三步:输入2,选择「更换系统源并且清理第三方源」
第四步:输入1,选择「自动测速选择最快的源」,我推荐选择中科大镜像源,清华的容易被封
第五步:选择 ROS 版本,输入 noetic(ROS1) 对应的数字(脚本会自动适配你的系统,一般为 1 号选项)

第六步:选择安装类型,输入 1,选择「桌面版」(功能最全,包含 RViz、Gazebo 等可视化工具,适合学习),耐心等待下完即可看到「安装成功」的提示,就说明 ROS Noetic 已经安装到你的 Ubuntu 系统中了。
4.3 验证 ROS 是否安装成功
新开一个 Ubuntu 终端(必须新开,环境变量才会生效),输入命令:
roscore
如果终端正常启动,显示 started roslaunch server、ros_comm version 等信息,说明 ROS 安装完全成功。
按 Ctrl + C 可以停止运行。
4.4 配置 rosdep(可选,编译源码必备)
rosdep 是 ROS 的依赖管理工具,后续编译 ROS 功能包时需要用到。官方原版国内网络无法使用,我们安装小鱼适配的国内版 rosdepc。
wget http://fishros.com/install -O fishros && . fishros
rosdepc update
显示更新成功即可。后续使用时,将官方教程中的 rosdep 替换为 rosdepc 即可。
4.6 入门测试:运行小海龟示例
ROS 自带经典的小海龟示例,是新手必跑的第一个程序,用来验证 ROS 通信机制是否正常。
roscore
rosrun turtlesim turtlesim_node
此时会弹出一个小海龟窗口。

rosrun turtlesim turtle_teleop_key
选中第三个终端,按键盘方向键,就能控制小海龟移动,说明 ROS 环境完全可用。
常见的一个问题
问题:
经常打开Ubuntu系统闪退,在window终端输入wsl,提示“WSL2 无法启动,因为此计算机上未启用虚拟化。 请确保计算机固件设置中“虚拟机平台”可选组件已启用,且虚拟化已开启。”
解决方法: 我发现是Hyper-V 每次更新后都会禁用,修复过程:
- 打开服务管理器并确保Hyper-V 虚拟机管理服务设置为自动并已启动。
- 打开CMD并运行bcdedit /set hypervisorlaunchtype auto这将确保 Hyper-V 每次都随 Windows 启动。
- 打开PowerShell 然后输入Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All。这会强制 Windows 重新安装 Hyper-V 组件。
- 最后重启电脑,重新打开就好了
总结
通过 WSL2 + Ubuntu 20.04 + ROS Noetic 的组合,你已经拥有了一套完整的机器人开发环境。相比于传统虚拟机,WSL2启动更快、资源占用更低、文件互通更方便,非常适合入门学习和日常开发。
后续学习可以从 ROS 基础概念、话题通信、服务通信开始,逐步进阶到导航、建图、机械臂控制等内容,祝学习顺利!
ros1学习可以看下面的学习教程👇
ROS1学习笔记-CSDN博客


