
简介这份PDF教程面向ROS机器人开发初学者与在校学生聚焦机器人学习环境搭建中最基础也最容易卡壳的一环——Ubuntu系统的安装与配置。内容从Ubuntu镜像的下载与位数选择讲起逐步延伸到虚拟机软件的安装、虚拟机创建、操作系统类型与版本选择、存储位置与硬盘容量规划、网络与硬件资源分配并进一步衔接ROS的安装与环境搭建帮助读者打通从零到可开发状态的完整链路。资源包共1个PDF文件大小约13.36MB以图文步骤形式呈现重点标注了虚拟机名称避免中文、镜像版本务必选择Ubuntu 64位、硬盘至少分配25GB、UEFI选项与后续分区的关系等易错细节便于对照操作与排错。目前已有276人学习适合希望系统掌握ROS开发环境准备、少走弯路的学习者参考。1. 机器人开发环境第一道坎为什么 ROS 学习必须从 Ubuntu 装起很多人兴冲冲打开 ROS 教程第一步就卡在环境上。ROS 不是装在 Windows 里的普通软件它深度依赖 Linux 的进程管理、文件系统和网络栈而 Ubuntu 是官方支持最完整、社区资料最厚的发行版。你后面要跑的节点通信、TF 变换、rviz 可视化底层都跟系统环境强绑定。这份课程资源把 Ubuntu 安装单独拎出来讲恰恰说明它是整个 ROS 机器人学习链条里绕不过去的地基。适合谁刚接触机器人开发、手头只有一台 Windows 电脑、想先把环境跑通再学算法的人。虚拟机方案能让你在不重装系统的前提下得到一个干净的 Ubuntu 环境装坏了删掉重来就行试错成本极低。2. 虚拟机方案选型与 VMware 安装为什么不用双系统2.1 虚拟机、双系统、WSL 三条路的取舍在 Windows 上搞 Ubuntu常见做法就三种双系统、虚拟机、WSL。双系统性能最好但每次切换要重启分区操作一旦失误可能丢数据对新手不友好。WSL 启动快、资源占用低但图形界面和硬件直通一直是个玄学跑 rviz 和 Gazebo 经常出各种显示问题。虚拟机方案在隔离性和完整性之间取了个平衡你得到一个完整的 Ubuntu 桌面能跑图形化工具宿主机文件不受影响快照功能还能当后悔药用。我一般会建议 ROS 初学者走虚拟机这条路原因很实际ROS 的很多调试工具依赖完整的桌面环境和网络配置WSL 在这块坑太多而双系统对只想先试试水的人来说太重。等你确定要长期搞机器人开发了再考虑装双系统或者直接上 Ubuntu 物理机也不迟。2.2 VMware 安装过程中的两个关键勾选项VMware Workstation 的安装本身不复杂但有两个地方值得单独说。安装路径不要出现中文字符这是血泪经验——很多开发工具对中文路径的支持就是不行后面编译 ROS 包的时候报一堆莫名其妙的错排查半天发现是路径问题。安装过程中会出现两个勾选项课程里明确说了“这两个全部不要勾选”通常指的是加入客户体验提升计划和自动检查更新这类选项。另外两个建议勾选的一般是创建桌面快捷方式和关联虚拟机文件。这些选项不影响功能但能让你后面用起来顺手。# 安装完成后验证 VMware 是否正常工作 # 查看 VMware 服务状态Windows 下用管理员权限打开终端 sc query VMware Authorization Service sc query VMware DHCP Service sc query VMware NAT Service # 三个服务都应该是 RUNNING 状态 # 如果某个服务没起来虚拟机网络会出问题这段命令是检查 VMware 后台服务有没有正常启动。Authorization Service 负责虚拟机权限DHCP 和 NAT 服务负责虚拟机的网络地址分配和转发。如果这三个服务有任何一个没跑起来你后面装完 Ubuntu 会发现上不了网或者宿主机和虚拟机之间 ping 不通。遇到这种情况在服务管理器里手动启动或者重装 VMware 时确保以管理员权限运行安装程序。2.3 创建虚拟机时的参数决策新建虚拟机时选“自定义高级”而不是“典型”因为典型模式会帮你做很多默认决策而这些默认值不一定适合 ROS 开发。比如典型模式默认硬盘 20GB对 ROS 来说不够用。操作系统类型选 Linux版本必须选 Ubuntu 64 位。课程里特别强调“如果不选后续步骤会出问题”这不是吓唬人。选错版本类型会导致 VMware 用错误的虚拟硬件配置最直接的后果是后面 UEFI 选项出不来而 UEFI 又直接关系到分区方案。虚拟机名称和存放位置都不要用中文原因跟安装路径一样。存放位置建议专门建一个文件夹不要放桌面或者盘符根目录。桌面路径通常带用户名有些工具处理不了根目录则容易跟其他文件混在一起时间长了你自己都分不清哪个文件夹是虚拟机。# 虚拟机创建完成后建议在宿主机上确认虚拟机文件结构 # 假设虚拟机存放在 D:\VMs\ROS_Ubuntu ls -la /d/VMs/ROS_Ubuntu/ # Git Bash 或 WSL 下的查看方式 # 或者在 Windows 资源管理器里直接看 # 典型文件结构 # ROS_Ubuntu.vmx —— 虚拟机配置文件 # ROS_Ubuntu.vmdk —— 虚拟硬盘文件 # ROS_Ubuntu.nvram —— 虚拟 BIOS 设置 # vmware.log —— 运行日志出问题时看这个虚拟机文件结构值得了解一下尤其是 .vmx 和 vmware.log 这两个。.vmx 是配置文件里面记录了内存大小、硬盘路径、网络模式等参数有时候图形界面改不动的东西可以直接编辑这个文件。vmware.log 是运行日志虚拟机启动失败、网络异常的时候日志里通常有明确报错。3. Ubuntu 镜像加载与系统安装从 ISO 到桌面3.1 镜像挂载与启动顺序确认下载 Ubuntu 镜像这件事本身没什么好说的但有一个点容易翻车下载完之后要确认 ISO 文件完整网络中断导致的半截文件在安装时会报各种奇怪的错误。常见做法是核对文件大小或者用校验工具比对哈希值。在 VMware 里加载 ISO 镜像位置在虚拟机设置的 CD/DVD 选项里选择“使用 ISO 映像文件”然后浏览到下载好的文件。课程里提到“这里加载的就是我们下载的 ISO 镜像”确认加载成功后启动虚拟机应该能看到 Ubuntu 的启动菜单。# 在 Ubuntu 启动菜单出现时可以按 Esc 或 Shift 进入引导选项 # 如果直接进了安装界面但你想检查镜像完整性可以在 Try Ubuntu 模式下操作 # 进入 Try Ubuntu 桌面后打开终端检查 ISO 挂载情况 lsblk # 应该能看到一个 loop 设备或者 sr0 设备那就是 ISO 镜像 # 查看 ISO 文件系统类型 file -s /dev/sr0 # 输出应包含 ISO 9660 CD-ROM filesystemlsblk 列出所有块设备你能看到虚拟硬盘和光驱设备。file -s /dev/sr0 确认光驱里挂载的确实是 ISO 9660 文件系统。如果这里显示的不是 ISO 文件系统说明镜像加载有问题需要回到 VMware 设置里重新挂载。3.2 安装类型选择与分区方案Ubuntu 安装过程中有一个关键分叉点安装类型选择。课程里明确说“一定选择其他选项”也就是手动分区。为什么不用“清除整个磁盘并安装 Ubuntu”因为虚拟机里虽然可以随便清但手动分区能让你理解 Linux 的目录结构而且后面如果要做磁盘扩容或者调整分区有手动分区的经验会从容很多。手动分区至少需要两个分区根分区 / 和交换分区 swap。根分区用 ext4 文件系统挂载点选 /大小建议 20GB 以上。交换分区大小一般设为内存的 1 到 2 倍如果你给虚拟机分配了 4GB 内存swap 给 4GB 到 8GB 都行。如果打算用休眠功能swap 要大于物理内存。课程里提到“这个一定要选择 UEFI会涉及到后期的分区”UEFI 引导模式下分区表是 GPT传统 BIOS 是 MBR。选 UEFI 的话分区时还需要一个 EFI 系统分区大小 512MB 左右类型选 EFI System Partition。这个分区不挂载到 / 或 /home它是独立存在的负责引导系统启动。# 安装完成后在 Ubuntu 终端里验证分区方案 lsblk -f # 输出示例 # NAME FSTYPE LABEL MOUNTPOINT # sda # ├─sda1 vfat EFI /boot/efi # ├─sda2 ext4 / # └─sda3 swap [SWAP] # 查看分区表类型 sudo parted /dev/sda print # Partition Table: gpt 表示 GPT 分区表对应 UEFI 引导lsblk -f 会显示每个分区的文件系统类型和挂载点。EFI 分区应该是 vfat 格式挂在 /boot/efi根分区 ext4 挂在 /swap 分区显示为 [SWAP]。parted 命令确认分区表是 GPT 还是 MBR如果是 UEFI 引导但分区表显示 msdos说明安装时分区方案选错了后面引导可能会出问题。3.3 安装过程中的几个“千万不能勾”课程里有一页专门写了“千万不能勾选”虽然具体内容没有展开但根据 Ubuntu 安装的常见流程这里通常指的是安装过程中询问是否下载更新和是否安装第三方软件这两个选项。安装时下载更新会让安装过程变得很慢而且如果网络不稳定可能卡在半路。第三方软件包括显卡驱动、WiFi 驱动、媒体解码器等在虚拟机环境里这些通常不需要装了反而可能引入兼容性问题。我的习惯是安装时全部不勾等系统装好、网络配通之后再按需安装。这样安装过程最快出问题也容易定位——至少你知道问题不是安装时引入的。安装完成后重启如果一切正常你会看到 Ubuntu 的登录界面。第一次登录后建议先做两件事更新系统包和安装 VMware Tools或者 open-vm-tools。VMware Tools 负责宿主机和虚拟机之间的剪贴板共享、文件拖拽、分辨率自适应不装的话用起来会很别扭。# 更新系统包列表并升级已安装的包 sudo apt update sudo apt upgrade -y # 安装 open-vm-tools 和桌面支持 sudo apt install open-vm-tools open-vm-tools-desktop -y # 安装完成后重启 sudo rebootapt update 刷新软件源列表apt upgrade 升级已安装的包。open-vm-tools 是 VMware Tools 的开源版本Ubuntu 官方源里就有比手动挂载 VMware Tools 安装镜像方便得多。open-vm-tools-desktop 提供图形界面相关的功能比如分辨率自适应和剪贴板共享。装完重启虚拟机应该就能全屏显示宿主机和虚拟机之间也能复制粘贴了。4. 避坑与排查安装过程中最容易翻车的五个点4.1 虚拟机启动后黑屏或卡在启动界面现象虚拟机开机后一直黑屏或者卡在 Ubuntu 启动画面不动。原因常见的有三种——ISO 镜像损坏、虚拟机内存分配不足、显卡加速冲突。镜像损坏是最常见的尤其是从非官方渠道下载的镜像。内存不足在分配了 2GB 以下时容易出现。显卡加速冲突则是 VMware 的 3D 加速和某些显卡驱动不兼容。解决先核对 ISO 的哈希值确认镜像完整。然后检查虚拟机内存设置ROS 开发建议至少 4GB。如果还是黑屏在虚拟机设置的显示器选项里把“加速 3D 图形”取消勾选试试。4.2 安装过程中找不到硬盘现象进入分区界面后列表里没有任何磁盘可选。原因虚拟机硬盘没有正确挂载或者硬盘控制器类型跟 Ubuntu 安装程序不兼容。常见于创建虚拟机时硬盘类型选了 SCSI 但安装程序没有对应驱动。解决关闭虚拟机在设置里把硬盘控制器改成 SATA 或者 NVMe重新启动安装程序。如果还是不行删除虚拟硬盘重新添加一块确保创建时选择了“将虚拟磁盘存储为单个文件”。4.3 安装完成后重启进入 GRUB 命令行现象重启后没有进入 Ubuntu 桌面而是停在 grub 提示符。原因UEFI 引导模式下EFI 分区没有正确配置引导文件或者启动顺序里没有把 Ubuntu 的引导项排在最前面。解决在 VMware 虚拟机设置里检查启动顺序确保硬盘排在光驱前面。如果还是进不去用 Ubuntu 安装 U 盘进入 Try Ubuntu 模式用 efibootmgr 命令检查和管理 EFI 启动项。# 在 Try Ubuntu 模式下检查 EFI 启动项 sudo efibootmgr -v # 查看是否有 Ubuntu 的启动项以及启动顺序 # 如果 Ubuntu 启动项存在但顺序不对调整顺序 sudo efibootmgr -o 0001,0002,0000 # 0001 是 Ubuntu0002 是其他0000 是默认efibootmgr -v 列出所有 EFI 启动项和当前启动顺序。如果 Ubuntu 的启动项存在但排在后面用 -o 参数调整顺序把 Ubuntu 的编号放到最前面。这个操作在 Try Ubuntu 模式下做改完后重启就能正常进入系统。4.4 虚拟机网络不通现象Ubuntu 里能 ping 通 127.0.0.1但 ping 不通外网apt update 失败。原因VMware 网络模式设置问题。NAT 模式下虚拟机通过宿主机上网如果 VMware NAT 服务没启动或者虚拟机网络适配器没连接就会断网。桥接模式则需要宿主机所在网络有 DHCP 服务。解决先检查 VMware 的 NAT 和 DHCP 服务是否运行。然后在虚拟机设置里确认网络适配器已连接网络模式选 NAT。如果还不行在 Ubuntu 里手动触发 DHCP 重新获取地址。# 查看网络接口状态 ip addr show # 找到 ens33 或类似名称的接口看是否有 inet 地址 # 如果没有地址手动触发 DHCP sudo dhclient ens33 # 再次查看是否获取到 IP ip addr show ens33 # 测试网络连通性 ping -c 4 8.8.8.8 ping -c 4 www.ubuntu.comip addr show 查看所有网络接口。虚拟机的网卡通常叫 ens33 或 ens160。如果没有 inet 地址说明 DHCP 没成功。dhclient 命令手动请求地址。ping 8.8.8.8 测试 IP 层连通性ping 域名测试 DNS 解析。如果 IP 能通但域名不通是 DNS 配置问题检查 /etc/resolv.conf。4.5 磁盘空间不够用现象用了一段时间后Ubuntu 提示磁盘空间不足apt install 失败。原因创建虚拟机时硬盘只给了 25GBROS 完整安装加上 Gazebo 模型库、rviz 配置文件、编译中间文件很容易超过这个数。课程里说“至少 25GB建议尽可能大”这是有道理的。解决VMware 支持虚拟硬盘扩容但扩容后还需要在 Ubuntu 里扩展分区和文件系统步骤稍微有点绕。更省事的做法是一开始就给足空间建议 60GB 起步如果宿主机硬盘充裕直接给 100GB。# 查看磁盘使用情况 df -h # 查看各个挂载点的使用率 # 查看目录占用空间 du -sh /usr/* | sort -rh | head -10 # 找出 /usr 下占用最大的目录 # 清理 apt 缓存 sudo apt clean sudo apt autoremove -ydf -h 看整体使用率du -sh 看具体目录占用。ROS 相关的大头通常在 /opt/ros 和 ~/.gazebo。apt clean 清理下载的包缓存autoremove 删除不再需要的依赖包。这些操作能腾出一些空间但如果是硬盘本身太小还是得扩容。5. 装完系统之后验证环境与衔接 ROS 安装5.1 系统层面的检查清单Ubuntu 装好之后别急着装 ROS先花几分钟确认系统本身没问题。我一般会走一遍这个检查清单网络通不通、时间对不对、软件源快不快、磁盘空间够不够、VMware Tools 有没有生效。# 1. 检查网络 ping -c 2 www.ubuntu.com # 2. 检查系统时间 timedatectl status # 确保时区和时间正确时间不对会导致 apt 更新报签名错误 # 3. 检查软件源速度 sudo apt update # 看更新过程是否流畅如果卡顿可以换国内源 # 4. 检查磁盘空间 df -h / # 5. 检查 VMware Tools vmware-toolbox-cmd -v # 输出版本号说明工具正常运行timedatectl 确认系统时间时间偏差太大会导致 apt 的 GPG 签名验证失败。apt update 看软件源响应速度如果慢得离谱换国内镜像源能快很多。vmware-toolbox-cmd -v 验证 VMware Tools 是否正常工作这个命令能输出版本号就说明工具在跑。5.2 为 ROS 安装做准备软件源与依赖ROS 的安装对 Ubuntu 版本有严格要求不同 ROS 版本对应不同的 Ubuntu 版本。虽然这份课程主要讲 Ubuntu 安装但装完系统后紧接着就是 ROS 环境搭建所以有些准备工作可以提前做。常见做法是先把软件源换成国内镜像然后安装一些基础编译工具和依赖库。这些操作在 ROS 安装之前做能避免后面因为网络问题卡住。# 备份原有软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 查看当前 Ubuntu 版本代号 lsb_release -cs # 输出类似 focal、jammy 等 # 根据版本代号替换软件源以 jammy 为例 sudo sed -i s|http://archive.ubuntu.com|http://mirrors.aliyun.com|g /etc/apt/sources.list sudo sed -i s|http://security.ubuntu.com|http://mirrors.aliyun.com|g /etc/apt/sources.list # 更新软件源 sudo apt update # 安装基础工具 sudo apt install -y build-essential cmake git python3-piplsb_release -cs 输出 Ubuntu 的版本代号这个代号在配置 ROS 软件源时要用到。sed 命令批量替换软件源地址换成国内镜像能显著提升下载速度。build-essential 提供 gcc、g、make 等编译工具cmake 是 ROS 包编译的标配git 用来拉取源码python3-pip 管理 Python 依赖。这些工具在后续 ROS 开发中都会用到。5.3 快照给虚拟机留一颗后悔药系统装好、环境配通之后强烈建议在 VMware 里打一个快照。快照记录当前虚拟机的完整状态后面不管怎么折腾哪怕把系统搞崩了一键恢复就能回到这个干净状态。我自己的习惯是至少打两个快照一个是刚装完 Ubuntu 的纯净状态一个是 ROS 装好、基础环境配通的状态。这样后面不管装什么新东西出了问题都能快速回退不用从头再来一遍安装流程。# 在 VMware 图形界面里打快照的步骤 # 1. 确保虚拟机处于关机或挂起状态建议关机 # 2. 菜单栏选择“虚拟机” - “快照” - “拍摄快照” # 3. 填写快照名称和描述比如“Ubuntu 20.04 纯净系统” # 4. 点击“拍摄快照” # 恢复快照 # 菜单栏选择“虚拟机” - “快照” - “快照管理器” # 选中要恢复的快照点击“转到”快照文件会占用额外的磁盘空间但相比重装系统的代价这点空间花得值。注意快照不是备份如果宿主机硬盘坏了快照和虚拟机一起丢。重要数据还是要单独备份到宿主机或者外部存储。5.4 从 Ubuntu 到 ROS环境衔接的注意事项Ubuntu 装好只是第一步后面 ROS 安装还有一堆细节。但有几个点现在就可以注意能避免后面踩坑。第一系统语言。安装时如果选了中文终端里有些命令的输出会是中文而很多 ROS 教程和报错信息是英文的中英文混杂会增加排查难度。我一般建议安装时选英文或者装完后把系统语言改成英文至少终端环境保持英文。第二用户权限。ROS 的某些操作需要 sudo但日常开发不建议一直用 root。安装时创建的用户默认在 sudo 组里够用了。后面如果遇到权限问题先想清楚是文件权限不对还是真的需要 sudo不要无脑加 sudo。第三时间同步。ROS 的节点通信依赖时间戳如果虚拟机时间跟宿主机偏差太大多机通信或者仿真时会出问题。装完系统后确认时间同步正常必要时配置 NTP 服务。# 检查当前语言环境 echo $LANG # 如果是 zh_CN.UTF-8可以改成 en_US.UTF-8 # 临时修改当前终端语言 export LANGen_US.UTF-8 # 永久修改系统语言 sudo update-locale LANGen_US.UTF-8 # 重新登录后生效 # 检查时间同步状态 timedatectl status # 确保 System clock synchronized: yesLANG 环境变量控制终端和系统的语言。临时修改只影响当前终端会话永久修改需要 update-locale 然后重新登录。timedatectl 的 synchronized 状态显示时间是否已同步如果是 no检查 systemd-timesyncd 服务是否运行。5.5 一个容易被忽略的细节虚拟机分辨率虚拟机装好之后如果分辨率不对窗口要么太小看着费劲要么太大超出屏幕。课程里提到在 Try Ubuntu 模式下可以调整分辨率但装完系统后同样需要设置。正确做法是装好 open-vm-tools-desktop 之后在 Ubuntu 的显示设置里调整分辨率。如果分辨率选项里没有你想要的值可能是 VMware Tools 没生效或者需要手动配置。# 查看当前显示器和分辨率 xrandr # 输出会列出所有可用分辨率和当前设置 # 如果 open-vm-tools-desktop 已安装但分辨率选项不全 # 尝试重启 VMware Tools 服务 sudo systemctl restart open-vm-tools # 或者在 VMware 菜单里选择“查看” - “自动调整大小” - “自动适应客户机”xrandr 列出显示器和可用分辨率。如果列表里只有 800x600 和 1024x768 这种低分辨率说明 VMware Tools 的显示驱动没正常工作。重启 open-vm-tools 服务或者在 VMware 菜单里触发自动调整通常能解决。从那以后我每次装完虚拟机系统第一件事就是打快照第二件事是确认 VMware Tools 和网络第三件事才是装开发环境。这三步走完后面不管怎么折腾都有退路。希望帮到你。本文还有配套的精品资源点击获取