ROS开发环境搭建:Ubuntu虚拟机安装与避坑指南

发布时间:2026/11/3 21:17:58
ROS开发环境搭建:Ubuntu虚拟机安装与避坑指南

简介:这份PDF教程面向准备进入ROS机器人开发领域的初学者与自学者,聚焦机器人学习中最基础也最容易卡壳的一环——Ubuntu系统的安装与环境搭建,帮助读者在正式接触ROS框架前扫清系统层面的障碍。资源包共1个PDF文件,大小约13.36MB,以图文步骤形式呈现,便于对照操作。内容围绕Ubuntu镜像下载、虚拟机软件选择与创建、虚拟机参数配置、Ubuntu安装及后续ROS环境搭建展开,其中对镜像位数选择、虚拟机名称与存放路径避免中文、硬盘容量至少25GB、UEFI选项等易错细节均有明确提示,可帮助读者少走弯路。目前已有277人学习,适合零基础或需要系统梳理安装流程的ROS学习者参考。

1. 装 ROS 之前,先把 Ubuntu 虚拟机这关过了

很多人以为学 ROS 最难的是写节点、调 TF、跑 SLAM,结果真正卡住第一周的,是 Ubuntu 装不上。我见过太多人 VMware 装完一开机就黑屏,或者装到分区那一步发现没有 UEFI 选项,只能删了重来。这套环境在机器人开发里几乎是标配:Ubuntu 打底,ROS 跑在上面,虚拟机负责隔离。装不好,后面编译工作空间、跑仿真全是连锁反应。这篇笔记按我自己的安装顺序走一遍,从镜像下载到虚拟机参数,再到装完怎么验证,适合刚接触 ROS 机器人、准备在 Windows 上搭开发环境的人照着抄。

2. 装前准备:镜像、虚拟机软件和磁盘规划

2.1 下载 Ubuntu 镜像,位数别选错

镜像来源就是 Ubuntu 官方发布页,找桌面版(Desktop)的 ISO 文件。这里有个反直觉的点:摘要里提到“32 位或 64 位可选”,但 ROS 的现代版本早就只支持 64 位了,32 位镜像装上去后面连 ROS 包都编不过。所以镜像只认 64 位,别为了省空间选 32 位。

下载时注意两件事:一是文件完整性,ISO 动辄两三个 G,下载中断很常见,下完对一下官方给的校验值;二是存放路径,ISO 文件本身放在一个纯英文路径下,比如D:\iso\,别丢在桌面或者中文目录里,VMware 加载镜像时对中文路径的兼容性时好时坏,这是血泪经验。

2.2 VMware 安装:两个勾选项决定后面顺不顺

VMware Workstation 的安装本身不复杂,但安装向导里有两处选择值得说清楚。安装位置那一页,路径里不要出现中文字符,这是原文明确强调的,我一般直接装到D:\VMware\这种短路径下,避免后续虚拟机文件路径过长触发一些玄学问题。

安装过程中的勾选项,原文给了两条相反的指示:“这两个全部不要勾选”和“这两个建议全部勾选”。按我的理解,前者指的是安装向导早期关于用户体验计划、自动更新检查这类联网选项,装开发环境时关掉更干净;后者指的是安装完成后关于快捷方式、文件关联的选项,勾上方便日常启动虚拟机。实际操作时,凡是涉及“发送使用数据”“自动检查更新”的一律不勾,涉及“创建桌面快捷方式”“关联虚拟机文件”的勾上,这个取舍在离线或受限网络环境下尤其重要。

装完先别急着建虚拟机,打开 VMware 确认能正常启动,再往下走。

2.3 磁盘空间:25GB 是底线不是目标

原文写的是“至少 25GB,建议尽可能大”。这句话要拆开看:25GB 是 Ubuntu 桌面系统加基础开发工具的最低要求,但 ROS 的完整桌面版安装加上工作空间编译产物,很容易吃掉 15GB 以上,再算上系统更新缓存、日志,25GB 用不了两个月就告急。

我一般会直接给 60GB 到 80GB,并且选“将虚拟磁盘存储为单个文件”还是“拆分成多个文件”也有讲究:单个文件读写性能略好,但迁移时不好拷;多个文件适合放移动硬盘或者分卷备份。如果是笔记本单盘,选单个文件;如果虚拟机要经常打包带走,选拆分。空间给足了,后面装 ROS 时不用一边编译一边删缓存,省心。

3. 创建虚拟机:名称、类型和 UEFI 三个关键参数

3.1 新建向导里选“自定义”,别用典型

VMware 新建虚拟机有“典型”和“自定义(高级)”两条路。典型模式会帮你把大部分参数默认掉,看着省事,但 ROS 开发环境对硬件版本、固件类型有要求,默认值经常埋坑。原文的流程也是走自定义,我跟着走下来确实更可控。

自定义向导里,硬件兼容性保持默认的最新版本即可,除非你的宿主机 VMware 版本较老。到了“安装客户机操作系统”这一步,选“稍后安装操作系统”,不要在这一步就挂 ISO——先建空虚拟机再挂镜像,后面调整固件类型和磁盘时更灵活,这是很多人忽略的顺序问题。

3.2 操作系统类型必须选 Ubuntu 64 位

这一步是原文反复强调的:“这里请一定选择 Ubuntu 64 位,如果不选,后续步骤会出问题。”原因在于,VMware 会根据你选的客户机类型决定虚拟硬件的默认配置,选成 32 位或者其他 Linux 发行版,后面固件选项里可能根本不给你 UEFI 的入口。

操作上,客户机操作系统选 Linux,版本下拉里找 Ubuntu 64-bit。选完之后,虚拟机名称和位置那一页,名称用纯英文,比如ros-ubuntu,位置放在专门文件夹下,原文说“不要放在某个盘的根目录或者桌面”,我补一句:也别放在 OneDrive 同步目录里,虚拟机磁盘文件被同步进程锁住会导致启动失败。

3.3 固件类型选 UEFI,和分区方式绑定

到了“固件类型”页面,能看到 BIOS 和 UEFI 两个选项。原文写得很直接:“这个一定要选择 UEFI,会涉及到后期的分区。”而且补了一句关键前提:只有前面客户机类型选对了 Ubuntu 64 位,这里才能选 UEFI;选不了就退回去重选。

为什么 UEFI 重要?因为它决定了 Ubuntu 安装时的分区表格式。UEFI 引导对应 GPT 分区表,需要单独划一个 EFI 系统分区;如果这里选了 BIOS,后面安装时按 MBR 走,虽然也能装,但和很多现代教程、脚本的默认假设不一致,出问题时排查方向会跑偏。我一般在这里就定死 UEFI,后面分区按 GPT 来,前后一致。

3.4 处理器、内存和网络按宿主机折中

处理器分配看宿主机核数,4 核以上给虚拟机 2 核,8 核以上给 4 核,别把宿主机核数全给出去,否则宿主机卡死虚拟机也跟着卡。内存同理,16GB 宿主机给 4GB,32GB 给 8GB,ROS 编译时内存吃紧会直接 OOM,这个坑后面排错章节还会提。

网络适配器默认 NAT 就够用,ROS 的单机学习和仿真不需要桥接。如果后面要做多机通信再改桥接,但初装阶段 NAT 最省事,不会因为宿主机网络切换导致虚拟机断网。

4. 安装 Ubuntu:从挂载镜像到分区的完整操作

4.1 挂载 ISO 并进入安装界面

虚拟机建好后,打开设置,找到 CD/DVD 设备,选“使用 ISO 映像文件”,指向之前下载的 Ubuntu 镜像。原文在这里标注“这里加载的就是我们下载的 ISO 镜像”,确认路径无误后启动虚拟机。

启动后会出现 Ubuntu 的引导菜单,选“Try Ubuntu”或直接进安装器都行。原文的建议是先点 Try Ubuntu 或者右上角的关闭按钮,不着急点 Install——这个顺序是为了先进桌面调分辨率。进桌面后右上角倒三角点开,进 Settings,选 Displays,把分辨率调到 1920×1080,原文说“一般 1920×1080 即可”。分辨率不调,安装界面按钮可能被挤出屏幕,点不到“继续”,这是新手最容易卡住的地方之一。

调完分辨率再点桌面上的 Install Ubuntu 开始安装。

4.2 语言、键盘和更新选项

安装器前几页比较直接:语言可以选英文也可以选中文,原文说“可以用英文(顶端),也可以用中文(末尾)”。我的习惯是选英文,因为 ROS 的终端输出、报错信息全是英文,系统语言用英文能减少中英文混排带来的路径和编码问题,后面查日志也顺。

键盘布局默认即可。到了“Updates and other software”这一页,原文有一句“千万不能勾选”,指的是安装时下载更新的选项。装虚拟机时勾了在线更新,安装过程会卡在下载环节,网络一抖就失败,而且拖慢整体进度。正确做法是不勾选安装时下载更新,等系统装完进桌面再统一更新,这样失败了好重试,不影响系统本身。

4.3 安装类型必须选“其他选项”

这一页是全文最关键的分叉点。安装器会给你“清除整个磁盘并安装”“加密安装”“其他选项”几个选择,原文明确写“一定选择 其他选项”。选前两个,安装器会自动分区,你拿不到对 EFI 分区和根分区的控制权,后面想调挂载点、加 swap 都没机会。

选“其他选项”后进入手动分区界面。按 UEFI + GPT 的约定,我一般这样分:一个 EFI 系统分区 512MB 到 1GB,挂载点/boot/efi;一个根分区把剩余空间全给,挂载点/,文件系统 ext4;swap 分区看内存,虚拟机内存给到 8GB 以上可以不单独划 swap,用 swap 文件代替,内存 4GB 的话划 4GB swap 兜底。分区时注意别动到宿主机磁盘,虚拟机里看到的磁盘是虚拟磁盘,容量和你分配的一致,认准那个 60GB 左右的设备再操作。

4.4 时区、用户和安装收尾

分区确认后,安装器会让你选时区、填用户名和密码。用户名同样用纯英文小写,别用中文和空格,这是 Linux 环境的通用规矩,后面 sudo、路径、环境变量都依赖它。密码记牢,虚拟机里改密码虽然能进恢复模式改,但多一道麻烦。

点安装后等进度条走完,提示重启时拔掉 ISO 或者让 VMware 自动断开 CD/DVD 连接,否则又会从镜像启动,循环进安装界面。重启后看到登录界面,说明系统层已经通了,但这只是第一步,ROS 还没影。

5. 避坑排查:装 Ubuntu 时最常见的五个翻车点

5.1 开机黑屏或卡在引导界面

现象:虚拟机启动后黑屏,或者停在Booting from Hard Disk不动。原因多半是固件类型和分区方式不匹配,比如建虚拟机时选了 BIOS,安装时却按 UEFI 分区,引导记录对不上。解决:关机进虚拟机设置,确认固件类型是 UEFI,回到安装器重新走一遍分区,EFI 分区必须存在且挂载点正确。

5.2 安装器里选不了 UEFI

现象:固件类型页面 UEFI 是灰的,点不动。原因就是原文说的,客户机操作系统类型没选 Ubuntu 64 位。解决:退回到操作系统选择那一步,把版本改成 Ubuntu 64-bit,再往下走,UEFI 选项就会出现。这个顺序不能颠倒,先选类型后选固件。

5.3 分区界面看不到空闲空间

现象:手动分区时列表里只有一整块磁盘,没有“空闲”可分配。原因是新建虚拟机时磁盘没有正确初始化,或者之前装过系统残留了分区表。解决:在分区界面选中那块磁盘,点“新建分区表”,确认后就能看到空闲空间。注意这一步会清空虚拟磁盘,确认里面没有要保留的数据再操作。

5.4 安装过程卡在“正在下载语言包”

现象:进度条长时间停在下载语言包或更新环节。原因是安装时勾选了在线更新,网络不稳定导致卡死。解决:强制关机重启,重新进安装器,在更新选项页取消所有下载勾选,装完系统再手动更新。这也是前面强调“千万不能勾选”的实际原因。

5.5 重启后又回到安装界面

现象:安装完成提示重启,结果又进了 Ubuntu 安装器。原因是 ISO 还挂在 CD/DVD 上,虚拟机优先从光驱启动。解决:虚拟机设置里把 CD/DVD 改成“使用物理驱动器”或者直接断开连接,再重启就能从虚拟硬盘引导进系统。

6. 装完怎么验证:三条命令确认环境能跑 ROS

系统装完不等于环境可用,我一般会用三条命令做验收,确认没问题再往下装 ROS。

第一条,确认系统版本和架构:

# 查看发行版版本号和内核架构 lsb_release -a uname -m

lsb_release -a输出里看Description和Release,确认是 Ubuntu 桌面版且版本号符合你要装的 ROS 版本要求;uname -m必须输出x86_64,如果是i686说明装成了 32 位,得重装。这两条一起看,能排除镜像选错和架构不对两类问题。

第二条,确认磁盘和 EFI 分区:

# 查看分区表和 EFI 分区挂载情况 lsblk -f df -h /boot/efi

lsblk -f里应该能看到gpt分区表、一个vfat格式的 EFI 分区挂在/boot/efi,以及 ext4 的根分区。df -h /boot/efi能正常输出容量,说明 EFI 分区挂载成功。如果这里报“没有那个文件或目录”,说明分区时漏了 EFI 挂载点,UEFI 引导迟早出问题,趁早重装比后面修省事。

第三条,确认网络和软件源可用:

# 测试网络连通性并更新软件源索引 ping -c 3 archive.ubuntu.com sudo apt update

ping通说明 NAT 网络正常,apt update能跑完不报错,说明软件源配置没问题。这一步过了,后面装 ROS 的依赖才不会卡在下载环节。如果apt update报错,先检查/etc/apt/sources.list里的源地址,虚拟机里一般用默认源就行,别乱换。

三条都通过,我会再顺手拍一个虚拟机快照,命名成ubuntu-clean。这个快照是后悔药,后面装 ROS 装崩了、环境变量改乱了,直接回滚到干净系统,比一点点排查快得多。从那以后我每次装完基础系统都强制走一遍这三条验证再拍快照,省下的重装时间不止一星半点。希望帮到你。

本文还有配套的精品资源,点击获取