ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

VMware 虚拟机安装 Ubuntu 搭建 ROS 开发环境完整教程与避坑指南

VMware 虚拟机安装 Ubuntu 搭建 ROS 开发环境完整教程与避坑指南

简介:这份PDF教程面向ROS机器人开发的入门学习者,聚焦机器人学习环境搭建中最基础也最容易踩坑的一环——Ubuntu系统的安装。内容从Ubuntu镜像的下载与位数选择讲起,逐步延伸到虚拟机软件的安装配置、虚拟机创建与参数设置、Ubuntu镜像加载与安装,并进一步衔接ROS的安装与环境搭建,帮助读者打通从零到可开发状态的完整链路。资源包共1个PDF文件,大小约13.36MB,以图文步骤形式呈现,重点标注了虚拟机名称避免中文、系统版本务必选择Ubuntu 64位、硬盘容量至少25GB、UEFI选项与后期分区的关联等关键细节,便于对照操作与排错。目前已有276人学习,适合刚接触ROS、需要一份清晰安装指引的初学者按图索骥,快速完成开发环境准备。

1. 机器人开发环境搭建:为什么 Ubuntu 装不对,后面全白费

很多人第一次装 ROS 机器人开发环境,卡住的地方不是 ROS 本身,而是 Ubuntu 虚拟机这一步。我见过太多人 VMware 一路下一步,装完发现进不去系统、分辨率不对、网络不通,甚至虚拟机直接起不来。问题往往出在几个不起眼的选项上:虚拟机名称带了中文、系统类型没选 Ubuntu 64 位、固件类型没选 UEFI、磁盘分区选了自动。这些坑在安装阶段不报错,等到装 ROS 的时候才集中爆发,到时候你根本分不清是 Ubuntu 的问题还是 ROS 的问题。这篇笔记面向的是准备在虚拟机里搭 ROS 学习环境的人,不管你是刚接触 Linux 的新手,还是想重新整理一遍安装流程的老手,下面这套步骤和参数取舍都值得对着走一遍。整套流程基于 VMware 虚拟机安装 Ubuntu,装完能正常联网、能进桌面、能继续装 ROS,就算跑通。

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

2.1 Ubuntu 镜像版本怎么选

Ubuntu 镜像的获取渠道很直接,去 Ubuntu 官网的下载页面就能找到。关键是选哪个版本。ROS 的每个发行版都对 Ubuntu 版本有明确对应关系,比如 ROS Noetic 对应 Ubuntu 20.04,ROS Melodic 对应 Ubuntu 18.04。你后面打算装哪个 ROS 版本,现在就选对应的 Ubuntu 版本,不要想着先随便装一个再换,换系统比重新装一遍还麻烦。

架构方面,现在基本只有 64 位可选,32 位镜像早就不在主流支持范围内了。下载的时候认准amd64或者x86_64标识的 ISO 文件,文件大小一般在 2GB 到 4GB 之间。下载完成后建议校验一下 SHA256,虽然麻烦,但能避免镜像损坏导致的安装中途报错。

提示:镜像文件放在一个纯英文路径下,不要放在桌面或者中文目录里,VMware 加载镜像时对中文路径的兼容性时好时坏。

2.2 VMware 安装时的两个关键勾选项

VMware Workstation 的安装过程本身不复杂,但有两个地方需要注意。安装路径不要出现中文字符,这是基本要求,中文路径在后续创建虚拟机时可能引发无法预期的错误。

安装过程中会出现两个勾选项,一个是启动时检查更新,一个是加入客户体验改进计划。这两个我一般都不勾,检查更新会在每次启动时拖慢速度,体验计划对功能没有任何影响。安装完成后需要输入许可证密钥,这个根据你获取的版本正常操作即可。

安装完成后先别急着创建虚拟机,把 VMware 的默认虚拟机存储路径改一下。在编辑菜单里找到首选项,把默认位置改到一个专门的文件夹,比如D:\VMs。这个习惯能帮你省掉后面手动指定路径的麻烦,也能避免虚拟机文件散落在各个盘的根目录。

2.3 磁盘空间和内存的分配逻辑

虚拟机磁盘空间在创建时就要定好,Ubuntu 系统本身加上后续的 ROS 安装、开发工具、数据集,至少需要 25GB。但 25GB 只是底线,我一般建议直接给 60GB 到 80GB。原因很简单,ROS 的完整安装加上 Gazebo 仿真环境、RViz 可视化工具,再加上你后续下载的各种功能包和依赖,25GB 很快就会见底。磁盘空间不足时 Ubuntu 不会立刻报错,而是各种奇怪的问题开始出现,比如无法安装新软件、系统更新失败、编译中途卡死。

内存方面,如果你的宿主机有 16GB 内存,给虚拟机分配 4GB 到 8GB 比较合适。少于 4GB 跑 Ubuntu 桌面版会明显卡顿,尤其是打开浏览器查资料的时候。CPU 核心数给 2 到 4 个就够了,分配过多反而会拖慢宿主机。

配置项最低要求建议配置
磁盘空间25GB60GB 以上
内存2GB4GB 到 8GB
CPU 核心1 核2 到 4 核
网络模式NATNAT
固件类型UEFIUEFI

3. 虚拟机创建与 Ubuntu 安装:从新建到进入桌面的完整操作

3.1 新建虚拟机时的关键选项

打开 VMware,选择创建新的虚拟机。安装类型选「自定义(高级)」,不要选典型,典型模式会跳过很多关键设置,后面改起来更麻烦。

硬件兼容性保持默认的最新版本即可。到了安装客户机操作系统这一步,选择「稍后安装操作系统」,不要选安装程序光盘映像文件。这个顺序很重要,先创建空虚拟机再手动加载 ISO,能避免 VMware 的简易安装模式自动帮你做一堆你不想要的决策。

客户机操作系统选 Linux,版本选 Ubuntu 64 位。这里如果选错了,比如选成了 Ubuntu 32 位或者其他 Linux 发行版,后面固件类型里可能根本看不到 UEFI 选项,分区步骤也会出问题。

虚拟机名称用纯英文,比如ubuntu-ros,不要用中文。位置指向你之前建好的D:\VMs文件夹下的一个子目录,不要直接放在D:\VMs根目录,更不要放在桌面。

处理器配置按前面说的,2 到 4 核。内存给 4GB 以上。网络类型选 NAT,这个模式对新手最友好,虚拟机可以通过宿主机上网,不需要额外配置。I/O 控制器类型和磁盘类型保持默认。

磁盘选择「创建新虚拟磁盘」,容量填 60GB 以上,选择「将虚拟磁盘拆分成多个文件」。拆分的好处是方便迁移,单个文件太大的话复制起来容易出问题。

3.2 固件类型和分区:两个不能选错的地方

虚拟机创建完成后,先不要急着开机。点击编辑虚拟机设置,找到选项标签页,展开高级,确认固件类型选的是 UEFI。如果这里只有 BIOS 可选,说明前面客户机操作系统那一步选错了,退回去重新选 Ubuntu 64 位。

UEFI 和 BIOS 的区别在分区阶段会体现出来。UEFI 模式下需要额外的 EFI 系统分区,如果你用 BIOS 模式装完再切回 UEFI,系统直接起不来。所以这一步必须在安装前确认好。

然后在 CD/DVD 设置里加载你下载的 Ubuntu ISO 镜像。确认「启动时连接」是勾选状态。打印机设备可以删掉,不影响任何操作,留着也只是占一个设备槽位。

3.3 安装过程中的分区操作

开机后进入 Ubuntu 安装界面。第一屏选择语言,用英文或者中文都可以,我一般选英文,因为后续终端里报错信息是英文的,保持一致方便排查。选择「Try Ubuntu」先进入试用桌面,不要直接点 Install。

进入桌面后先做一件事:右上角倒三角菜单里打开 Settings,找到 Displays,把分辨率调到 1920×1080。默认分辨率可能很低,安装界面显示不全,有些按钮点不到。

分辨率调好后,双击桌面上的 Install Ubuntu 开始安装。键盘布局默认即可,语言选 English 或者中文。到了「安装类型」这一步,一定选「其他选项」,也就是手动分区。不要选「清除整个磁盘并安装 Ubuntu」,那个选项会按它自己的逻辑分区,后期扩容和调整都很麻烦。

手动分区界面里,找到那块 60GB 的虚拟磁盘,它通常显示为/dev/sda,下面全是「空闲」空间。选中空闲空间,点左下角的加号开始创建分区。UEFI 模式下需要创建三个分区:

# 分区方案(在安装界面的手动分区工具中操作) # 1. EFI 系统分区 # 大小:512MB # 类型:EFI System Partition # 挂载点:/boot/efi # 2. 交换分区 # 大小:4096MB(与虚拟机内存一致) # 类型:Swap Area # 挂载点:无 # 3. 根分区 # 大小:剩余全部空间 # 类型:Ext4 日志文件系统 # 挂载点:/

EFI 分区是 UEFI 启动必需的,没有它系统装完无法引导。交换分区在内存不足时充当虚拟内存,大小一般设成和虚拟机内存一样。根分区挂载到/,所有系统文件和用户数据都在这里。

分区完成后,安装启动引导器的设备选择 EFI 分区对应的设备,通常是/dev/sda。确认分区方案无误后点「现在安装」,弹出的确认窗口里核对一下分区变化,没问题就继续。

安装过程中会提示是否下载更新和安装第三方软件,这两个都不勾,等系统装完再手动处理,安装阶段勾选会拖慢进度,而且可能因为网络问题卡住。用户名和密码用纯英文,密码设一个你记得住的,后面 sudo 操作会频繁用到。

安装完成后重启,如果提示移除安装介质,直接回车即可。重启后应该能看到登录界面,输入密码进入桌面,说明 Ubuntu 系统本身已经装好了。

4. 装完系统后的基础配置:网络、分辨率、快照

4.1 确认网络和系统更新

进入桌面后第一件事是确认网络通不通。打开 Firefox 随便访问一个页面,如果能打开说明 NAT 网络正常。如果打不开,检查 VMware 的网络适配器设置,确认是 NAT 模式,然后在 Ubuntu 右上角网络图标里确认有线连接是启用的。

网络通了之后,打开终端执行系统更新:

# 更新软件包列表 sudo apt update # 升级已安装的软件包 sudo apt upgrade -y # 安装常用工具 sudo apt install -y curl wget git vim net-tools

apt update是刷新软件源索引,apt upgrade是实际升级已安装的包。-y参数表示自动确认,省去每次都要输入 y 的麻烦。后面那行安装的是后续开发常用的工具,curl 和 wget 用于下载文件,git 用于拉取代码,vim 是文本编辑器,net-tools 提供 ifconfig 等网络查看命令。

4.2 虚拟机快照:装 ROS 前的后悔药

系统更新完成后,在 VMware 菜单里找到「虚拟机」→「快照」→「拍摄快照」。名称写「Ubuntu 基础环境」,描述里备注一下当前状态。这个快照是你装 ROS 之前的还原点,后面 ROS 装崩了、依赖冲突了、环境变量改乱了,都可以一键恢复到这一步,不用重装系统。

我一般会在三个时间点拍快照:系统刚装好、ROS 装完、工作空间配置完。每个快照占用的磁盘空间不大,但能省掉大量重装时间。这是虚拟机环境里最值得养成的习惯,没有之一。

4.3 分辨率固定和共享文件夹

如果重启后发现分辨率又变回去了,在 VMware 菜单里安装 VMware Tools。Ubuntu 桌面版通常会自动提示安装,如果没有提示,在虚拟机设置里挂载 VMware Tools 的 ISO,然后在 Ubuntu 里手动安装。装完之后分辨率会跟随窗口大小自动调整,复制粘贴和共享文件夹也能正常使用。

共享文件夹的配置在虚拟机设置的选项里,添加宿主机的一个目录,勾选「总是启用」。在 Ubuntu 里访问/mnt/hgfs/目录就能看到共享的文件。这个功能在宿主机和虚拟机之间传文件很方便,不用依赖网络传输。

5. 避坑记录:安装 Ubuntu 时最容易翻车的五个地方

5.1 虚拟机名称或路径带中文导致创建失败

现象:创建虚拟机时提示「无法创建虚拟机」或者创建完成后无法启动,报错信息里包含乱码路径。

原因:VMware 对中文路径的支持不完整,虚拟机配置文件和磁盘文件路径中出现中文时,部分版本的 VMware 无法正确解析。

解决:虚拟机名称和存储路径全部用英文和数字,路径中不要有空格。已经创建的中文路径虚拟机,删掉重建,不要尝试重命名,配置文件里的路径引用不会跟着改。

5.2 固件类型选不了 UEFI

现象:在虚拟机设置的高级选项里,固件类型只有 BIOS 可选,UEFI 是灰色的。

原因:创建虚拟机时客户机操作系统版本选错了,没有选 Ubuntu 64 位。VMware 根据操作系统类型决定可用的固件类型。

解决:退回到创建虚拟机的第一步,重新选择客户机操作系统为 Linux,版本为 Ubuntu 64 位。已经创建好的虚拟机改不了这个选项,只能删掉重建。

5.3 分区时找不到 EFI 分区选项

现象:手动分区界面里,创建分区时类型下拉菜单中没有「EFI System Partition」这个选项。

原因:固件类型不是 UEFI,或者安装启动方式实际走的是 BIOS 兼容模式。

解决:确认虚拟机设置里固件类型是 UEFI,并且安装时是通过 UEFI 方式引导的。如果确认无误还是找不到,检查 ISO 镜像是否完整,重新下载镜像再试。

5.4 安装完成后重启进入黑屏或 grub 命令行

现象:安装过程一切正常,重启后没有进入登录界面,而是黑屏或者停在grub>提示符。

原因:启动引导器安装位置不对,或者 EFI 分区没有正确创建和挂载。

解决:用 Ubuntu 安装 U 盘或 ISO 进入试用模式,用efibootmgr检查启动项,或者直接重新安装,分区时确保 EFI 分区存在且挂载到/boot/efi,引导器安装设备选对。

5.5 系统装完但网络不通

现象:进入桌面后浏览器打不开网页,终端里ping外网地址不通。

原因:VMware 网络模式设置不对,或者 Ubuntu 网络配置没有自动获取到 IP。

解决:检查虚拟机设置里的网络适配器,确认是 NAT 模式。在 Ubuntu 终端执行ip addr查看是否有 IP 地址,如果没有,执行sudo dhclient ens33(网卡名以实际为准)手动获取。如果还是不行,在 VMware 虚拟网络编辑器里恢复默认设置。

6. 验证安装是否跑通:三个检查点和一个习惯

系统装完不代表环境可用,需要做几个验证。第一个检查点是终端能正常执行 sudo 命令,打开终端输入sudo apt update,能正常刷新软件源列表说明权限和网络都没问题。第二个检查点是分辨率正常,桌面显示完整,没有黑边或者显示不全的情况。第三个检查点是虚拟机快照功能可用,拍一个快照然后恢复,确认能正常回到快照状态。

# 验证系统版本和内核 lsb_release -a uname -r # 验证网络连通性 ping -c 4 www.baidu.com # 验证磁盘分区 df -h # 验证内存和交换分区 free -h

lsb_release -a输出 Ubuntu 版本号,确认和你下载的镜像版本一致。uname -r查看内核版本,后面装 ROS 时有些依赖对内核版本有要求。ping测试网络,能通说明 NAT 配置正确。df -h查看磁盘使用情况,确认根分区挂载正常且空间充足。free -h查看内存和交换分区,交换分区大小应该和你设置的一致。

如果这几个命令输出都正常,说明 Ubuntu 基础环境已经就绪,可以开始装 ROS 了。在装 ROS 之前,再拍一个快照,名称写「Ubuntu 就绪-装 ROS 前」。这个快照是你后续所有操作的起点,ROS 装出任何问题都可以回到这里重新来。

从那以后我每次装虚拟机都强制走一遍快照流程,系统装好拍一个,装完 ROS 拍一个,配完工作空间再拍一个。看起来多花了几分钟,但省下的是重装系统的一两个小时。希望帮到你。

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

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进