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

发布时间:2026/10/23 9:24:36

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.04ROS 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 到 8GBCPU 核心1 核2 到 4 核网络模式NATNAT固件类型UEFIUEFI3. 虚拟机创建与 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-toolsapt 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 -hlsb_release -a输出 Ubuntu 版本号确认和你下载的镜像版本一致。uname -r查看内核版本后面装 ROS 时有些依赖对内核版本有要求。ping测试网络能通说明 NAT 配置正确。df -h查看磁盘使用情况确认根分区挂载正常且空间充足。free -h查看内存和交换分区交换分区大小应该和你设置的一致。如果这几个命令输出都正常说明 Ubuntu 基础环境已经就绪可以开始装 ROS 了。在装 ROS 之前再拍一个快照名称写「Ubuntu 就绪-装 ROS 前」。这个快照是你后续所有操作的起点ROS 装出任何问题都可以回到这里重新来。从那以后我每次装虚拟机都强制走一遍快照流程系统装好拍一个装完 ROS 拍一个配完工作空间再拍一个。看起来多花了几分钟但省下的是重装系统的一两个小时。希望帮到你。本文还有配套的精品资源点击获取
延伸阅读

更多相关文章

2026/10/23 9:24:36

PLC标准化编程实战:从架构设计到IO映射的八步法

简介:这份PDF资料面向工业自动化工程师与PLC编程学习者,聚焦S7-1200/S7-1500平台的标准化编程方法与设计,帮助解决程序严谨性差、可复制性低、技术提升难等常见痛点。内容围绕程序结构规划、变量命名规则、设备对象分解与状态模型构建展开&am…

2026/10/23 9:19:34

RISC-V AI全栈软件生态构建与优化实践

1. RISC-V与AI全栈软件生态的现状与挑战RISC-V作为开放指令集架构,近年来在AI领域展现出独特优势。与传统x86和ARM架构相比,RISC-V的模块化设计允许开发者根据AI工作负载特点定制指令集,这种灵活性为AI加速提供了新的可能性。但在实际落地过程…

2026/10/23 9:19:34

夸克网盘直链下载技术解析与实现

1. 夸克网盘解析与直链下载技术解析作为一名长期研究云存储技术的开发者,我发现夸克网盘作为国内主流网盘之一,其文件分享机制存在明显的技术特点。与常规网盘不同,夸克采用动态加密直链配合身份验证的混合模式,这给需要批量下载或…

2026/10/23 10:25:06

基于k-means算法的中老年高血压人群的分析系统的设计与实现|大数据专业项目|毕设项目|大数据专业设计|毕设

一、項目介绍 摘 要 本系统基于k-means算法,针对中老年高血压人群进行了深入的分析与设计。系统采用了先进的技术框架,后端使用Django框架负责数据管理和服务端逻辑,前端则采用Vue框架构建用户界面,实现了前后端分离的高效开发模…

2026/10/23 10:25:06

基于大数据分析的电动汽车充电推荐系统设计与实现-多因素综合评分模型|毕设答辩|大数据专业项目|毕设项目|大数据专业

## 一、項目介绍 摘 要 随着电动汽车的广泛应用,充电设施的合理利用成为关键。本研究旨在开发一套基于大数据分析的电动汽车充电推荐系统,以提升用户体验并优化充电站运营。该系统采用Django 框架构建后端,凭借其强大的功能实现数据的高效处…

2026/10/23 10:25:06

ModernWMS 仓库管理教程:部署后跑通一单入库与出库

ModernWMS 仓库管理教程:部署后跑通一单入库与出库 【免费下载链接】ModernWMS The open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the original commerc…

2026/10/23 10:20:06

RFID手持机如何实现图书馆藏秒级盘点与精准管理

在智慧图书馆建设加速推进的今天,图书盘点作为图书馆基础业务管理的核心环节,正经历着从人工逐本核对到智能化批量采集的深刻变革。随着国家《关于推进智慧图书馆体系建设的意见》明确提出加快RFID、人工智能、大数据等技术在图书馆领域的应用&#xff0…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑