欢迎光临
我们一直在努力

告别卡顿虚拟机!WSL2 安装 Ubuntu20.04+ROS 教程(2026 最新版,零基础适配)

/* 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 三者的层级关系

从上到下依次依赖,缺一不可:

  • 最底层:Windows 系统(你的电脑主系统)
  • 第二层:WSL2 组件(Windows 提供的 Linux 运行平台—-桥梁)
  • 第三层:Ubuntu 20.04(真正的 Linux 操作系统)
  • 第四层:ROS (安装在 Ubuntu 中的机器人开发工具)

  • 第二章 WSL2 环境安装与配置

    2.1 前置条件检查

    WSL2 有两个硬性要求,缺一不可:

  • CPU 硬件虚拟化已开启
  • Windows 版本支持(Win10 2004 以上 / Win11 全版本)
  • 检查虚拟化是否开启
  • 同时按Ctrl + Alt + Delete,然后打开「任务管理器」
  • 切换到「性能」选项卡 → 点击左侧「CPU」
  • 查看右侧信息中的「虚拟化」字段:
    • 显示已启用:直接进入下一步
    • 显示已禁用:需要重启电脑进 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 核心组件:
  • wsl —install —no-distribution

  • 设置全局默认使用 WSL2:
  • 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 终端,会提示你设置用户名和密码:

  • 输入自定义用户名(全小写英文,比如 nvidia),回车
  • 输入密码(输入时屏幕不显示字符,属于正常现象,比如 nvidia),回车
  • 再次输入密码确认,回车
  • 设置完成后,你就正式进入 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

  • 输入数字 3,选择「一键配置:rosdep」,然后选择中科大的镜像源
  • 等待安装完成后,执行命令验证:
  • rosdepc update

    显示更新成功即可。后续使用时,将官方教程中的 rosdep 替换为 rosdepc 即可。

    4.6 入门测试:运行小海龟示例

    ROS 自带经典的小海龟示例,是新手必跑的第一个程序,用来验证 ROS 通信机制是否正常。

  • 第一个ubuntu终端启动 ROS 核心:
  • roscore

  • 新开第二个ubuntu终端,启动小海龟仿真器:
  • rosrun turtlesim turtlesim_node

    此时会弹出一个小海龟窗口。

    在这里插入图片描述

  • 新开第三个ubuntu终端,启动键盘控制节点:
  • 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博客

    赞(0)
    未经允许不得转载:171主机测评 » 告别卡顿虚拟机!WSL2 安装 Ubuntu20.04+ROS 教程(2026 最新版,零基础适配)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址