ros虚拟机使用教程的核心结论是:选对虚拟机软件和Ubuntu版本,按步骤安装后配置ROS环境,整个过程约1小时即可完成,新手只要照着命令操作就能快速上手。
很多刚接触ROS的朋友都卡在第一步不敢在实体机上折腾,怕把系统搞坏,用虚拟机当练习场是明智的选择,它既能模拟真实Linux环境,又能在出错时一键还原,本教程会带你从零开始,解决环境配置中的各种坑。
虚拟机软件选型与系统镜像准备:ros虚拟机环境配置前需要准备什么
虚拟机软件对比:VMware Workstation与VirtualBox怎么选
行业共识认为,虚拟机软件的选择直接决定了后续操作的顺畅度,常用的有两款:
| 对比项 | VMware Workstation | Oracle VM VirtualBox |
|---|---|---|
| 性能表现 | 图形加速更流畅 | 日常使用够用 |
| 操作难度 | 新手友好,向导清晰 | 稍需手动调整 |
| 价格 | 商业软件,需授权 | 完全免费 |
| 快照功能 | 支持多级快照 | 支持,但操作较繁琐 |
| 常见问题 | 安装包较大 | 需要安装扩展包支持USB |
如果你看重稳定性和长期使用体验,VMware更合适;如果预算有限或者只是临时练习,VirtualBox完全能满足需求,我自己用的VMware,因为它的拖拽文件和共享剪贴板功能在虚拟机配置ROS环境时特别方便。
下载Ubuntu镜像与ROS版本匹配
ROS官方支持的Linux发行版中,Ubuntu是最主流的选择,选版本时记住这个匹配规则,基本不会错:
- ROS 2 Humble → Ubuntu 22.04 LTS
- ROS 1 Noetic → Ubuntu 20.04 LTS
- ROS 2 Foxy → Ubuntu 20.04 LTS
新手建议直接选择ROS 2 Humble + Ubuntu 22.04组合,这是当前资料最全、社区最活跃的搭配,去Ubuntu官网下载镜像文件(.iso格式),选择64位桌面版即可,镜像大小约4-5GB,下载时记得核对SHA256校验值,避免文件损坏。
从创建虚拟机到完成ROS安装:新手如何快速上手配置ROS虚拟机环境
创建虚拟机的完整步骤
打开VMware后按以下路径操作:

- 点击“创建新的虚拟机”,选择“典型(推荐)”
- 选择“稍后安装操作系统”(不要直接选ISO,后面再挂载)
- 客户机操作系统选“Linux”,版本选“Ubuntu 64位”
- 设置虚拟机名称和存储位置(位置路径不要包含中文)
- 分配硬件资源:内存至少给4GB(建议8GB),CPU给2核(建议4核),磁盘40GB
- 点击“自定义硬件”,在“CD/DVD”选项里挂载刚下载的Ubuntu ISO镜像
硬件配置这块,我不建议为了省空间选最小值,ROS机器人开发时经常要同时启动多个节点,内存太小直接死机,到时候排查问题比配置环境更痛苦。
Ubuntu安装过程中的关键设置
启动虚拟机后会自动加载安装引导界面,新手注意以下几点:
- 语言选英语或简体中文都可以,不影响ROS使用
- 安装类型选择“清除整个磁盘”并安装Ubuntu(虚拟机内操作,不会影响实体机)
- 联网方式默认NAT即可,后面可切换
- 用户名建议设置为全小写英文,比如
rosuser,避免后续路径出现空格或特殊字符
安装完成后重启,去掉ISO挂载,进入Ubuntu桌面,此时可以Ctrl+Alt+T打开终端,先执行系统更新命令:
sudo apt update && sudo apt upgrade -y
耐心等十几分钟,这期间可以熟悉一下Ubuntu的基本操作。
安装ROS主程序与初始化配置
Ubuntu更新完成后,开始安装ROS 2 Humble,按顺序执行以下命令组,每一行都不要跳过:
sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null sudo apt update && sudo apt upgrade -y
命令添加了ROS官方软件源,接着安装完整桌面版ROS:
sudo apt install ros-humble-desktop

这个包包含ROS核心、可视化工具和常用模拟器,安装包较大,预计需要20-30分钟,安装完成后配置环境变量:
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc source ~/.bashrc
还需要安装colcon构建工具和年级管理工具:
sudo apt install python3-colcon-common-extensions python3-argcomplete
到这里,ROS虚拟机环境配置的核心部分就完成了,为了验证安装结果,打开一个新终端,输入ros2 --help,如果能看到命令列表,说明ROS已成功运行。
创建并测试第一个ROS工作空间
环境配置的最终检验是能建一个工作空间并编译,执行:
mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src ros2 pkg create --build-type ament_cmake test_pkg cd ~/ros2_ws colcon build
编译完成后,source工作空间:
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc source ~/.bashrc
用colcon build没有报错,就说明编译链正常,再快速验证一下通信机制启动一个话题发布端:
ros2 run demo_nodes_cpp talker
另一个终端运行:
ros2 run demo_nodes_cpp listener
能看到两端互相传输数据,说明ROS的核心通信正常,这一步成功,你的ROS虚拟机环境配置就算真正毕业了。
解决虚拟机卡顿和网络连不通问题:ros虚拟机配置教程进阶优化
桥接模式与NAT模式怎么选
虚拟机安装完成后,最常遇到的是网络问题,VMware默认使用NAT模式,虚拟机只能单向访问外网,无法被宿主机外的设备访问,如果你需要让虚拟机里的ROS与实体机或开发板通信,建议切换为桥接模式。
操作路径:VMware菜单栏 → 虚拟机 → 设置 → 网络适配器 → 选择“桥接模式”。
切换后,虚拟机就像局域网内的一台独立电脑,会获得路由器分配的IP,此时在虚拟机里执行ifconfig查看IP,在实体机终端ping这个地址,能通就说明网络正常。
虚拟机性能优化与3D加速设置
ROS环境里跑Rviz(可视化工具)时,虚拟机容易卡顿,优化方案按优先级排序:
- 开启3D加速:虚拟机设置 → 显示器 → 勾选“加速3D图形”,显存拉到128MB
- 增加内存:如果宿主机内存充足,把虚拟内存调到8GB以上
- 调整CPU:给虚拟机分配4核及以上,并勾选“虚拟化Intel VT-x/EPT”
- 关闭Ubuntu动画:设置 → 外观 → 性能 → 关闭动画效果

需要注意,开启3D加速前必须安装VMware Tools,安装方法:VMware菜单栏 → 虚拟机 → 安装VMware Tools,在Ubuntu内解压并执行sudo ./vmware-install.pl,全程默认回车即可,装好后,拖拽文件、自适应分辨率、剪切板共享都会正常,这是提升ROS开发效率的关键一步。
Q&A:ros虚拟机使用教程常见疑问解答
虚拟机里安装ROS需要多大磁盘空间?
Ubuntu系统本身约10GB,ROS 2 Humble完整桌面版约4GB,加上编译缓存和各种依赖包,建议给40GB以上磁盘,如果空间紧张,至少也要30GB,否则运行一段时间后系统会因磁盘不足出错,虚拟磁盘文件可以在VMware里设置为“立即分配所有空间”,能提升读写性能,但会占用实体物理空间。
用VitualBox安装ROS和VMware差别大吗?
操作步骤几乎一样,只是在创建虚拟机和安装增强功能时有细微差别,VirtualBox需要额外下载“扩展包”来支持USB和共享剪贴板,性能上VirtualBox的图形加速较弱,跑Rviz时可能比VMware卡,但做基础学习练习够用,如果长期从事ROS开发,我更建议在VMware上花费精力。
ROS 1和ROS 2在虚拟机里安装流程一样吗?
大概流程相同,但ROS 1的Noetic版本使用Python2和catkin工具,ROS 2使用Python3和colcon,虚拟机配置ROS环境时,新版工具链对系统依赖的处理更自动化,直接学会ROS 2就能跳过很多旧版历史包袱,社区新出的功能包也优先发布ROS 2版本。
如果你按照本教程走完,现在应该有一个能正常编译、通信的ROS虚拟环境,后续学习机器人建图、导航或机械臂控制时,这个虚拟机就是你的试验田随便折腾,坏了就恢复快照,完全不影响宿主机。新手快速上手配置ROS虚拟机环境的关键是三件事:版本匹配要查清楚,命令执行不跳步,遇到网络问题先切换桥接模式,按这个思路走,你就能把精力真正放到学习ROS本身,而不是和系统环境死磕。