3、Ubuntu虚拟机安装:VMware/VirtualBox安装、Ubuntu 22.04 LTS安装流程、网络配置
在嵌入式Linux驱动开发中,虚拟机是搭建开发环境的核心载体。本章将详细讲解如何在Windows/Linux宿主机上安装VMware或VirtualBox虚拟机软件,并完成Ubuntu 22.04 LTS的安装与网络配置。正确的虚拟机配置能够为后续的交叉编译工具链部署、内核编译与驱动调试提供稳定、隔离的运行环境。
3.1 虚拟机软件选型对比
目前主流的虚拟机软件包括VMware Workstation Pro/Player和Oracle VM VirtualBox。两者在性能、功能与授权方式上存在差异,开发者应根据实际需求选择。
| 特性 | VMware Workstation Pro/Player | Oracle VM VirtualBox |
|---|---|---|
| 授权方式 | Pro版商业授权;Player版免费(个人使用) | 开源免费(GPLv2) |
| 性能表现 | 3D加速、磁盘I/O性能优秀 | 中等,适合轻量级开发 |
| 快照与克隆 | 支持完整快照、链接克隆 | 支持快照、完整克隆 |
| 共享文件夹 | VMware Tools支持 | 增强功能(Guest Additions)支持 |
| 网络模式 | NAT、桥接、仅主机、自定义 | NAT、桥接、仅主机、内部网络 |
| USB透传 | 支持USB 3.0 | 支持USB 2.0/3.0(需扩展包) |
| 适用场景 | 高性能开发、大型内核编译 | 学习、轻量级驱动测试 |
3.2 VMware Workstation安装流程
以下以VMware Workstation 17 Pro为例,展示在Windows 11宿主机上的安装步骤。
- 下载安装包:访问VMware官网下载Workstation 17 Pro安装程序(约600MB)。
- 运行安装向导:双击安装程序,勾选“我接受许可协议中的条款”。
- 选择安装路径:建议保持默认路径(
C:\Program Files\VMware\),避免中文路径。 - 取消勾选“启动时检查产品更新”:减少启动时的网络请求。
- 输入许可证密钥:若为试用版可跳过,后续通过“帮助→输入许可证密钥”激活。
- 完成安装并重启:安装完成后建议重启宿主机,确保VMware相关驱动生效。
3.3 VirtualBox安装流程
VirtualBox安装更为轻量,适合快速部署。
- 下载安装包:从Oracle VM VirtualBox官网下载对应宿主机的版本(Windows/Linux/macOS)。
- 运行安装:双击安装程序,所有选项保持默认即可。
- 安装扩展包(可选):下载与版本匹配的Extension Pack,支持USB 3.0、RDP等高级功能。
- 安装增强功能:虚拟机启动后,通过“设备→安装增强功能”安装Guest Additions,提升显示与共享体验。
VT-x is not available)。
3.4 Ubuntu 22.04 LTS虚拟机创建与安装
Ubuntu 22.04 LTS(Jammy Jellyfish)是当前嵌入式Linux开发的主流发行版,支持长期更新与广泛的内核版本。以下以VMware为例,VirtualBox操作类似。
3.4.1 创建虚拟机
- 新建虚拟机:点击“创建新的虚拟机”,选择“典型(推荐)”。
- 选择安装来源:选择“稍后安装操作系统”,避免自动安装导致分区不可控。
- 选择客户机操作系统:Linux → Ubuntu 64位。
- 命名虚拟机:例如“Ubuntu22.04-DriverDev”,位置选择剩余空间充足的磁盘(建议≥50GB)。
- 指定磁盘容量:建议分配40~80GB,选择“将虚拟磁盘拆分成多个文件”(便于迁移与快照)。
- 自定义硬件:内存建议4~8GB,处理器核心数≥2,网络适配器选择NAT模式。
3.4.2 安装Ubuntu 22.04 LTS
- 挂载ISO镜像:在虚拟机设置中,CD/DVD驱动器选择下载的Ubuntu 22.04 LTS ISO文件。
- 启动虚拟机:进入安装界面,选择语言为“English”(避免终端路径中文乱码)。
- 键盘布局:选择“English (US)”。
- 安装类型:选择“Erase disk and install Ubuntu”(虚拟机内操作,不影响宿主机)。
- 创建用户:设置用户名与密码,建议勾选“Log in automatically”减少开发时重复输入。
- 等待安装完成:安装过程约10~20分钟,完成后重启并移除ISO镜像。
sudo apt update && sudo apt upgrade -y 更新系统包。同时安装VMware Tools(虚拟机→安装VMware Tools)或VirtualBox增强功能,实现剪贴板共享与自适应窗口。
3.5 网络配置:NAT与桥接模式详解
网络配置是虚拟机与宿主机、外部网络通信的关键。嵌入式驱动开发中,常需要虚拟机与开发板处于同一网段(桥接模式)或通过NAT访问外网下载源码。
3.5.1 NAT模式(网络地址转换)
虚拟机通过宿主机IP访问外网,宿主机与虚拟机处于不同子网。适用于仅需虚拟机上网下载包、无需与局域网设备直连的场景。
- 优点:无需占用局域网IP,配置简单。
- 缺点:局域网其他设备无法直接访问虚拟机。
- 配置检查:虚拟机内执行
ip a查看IP(通常为192.168.xxx.xxx),执行ping 8.8.8.8测试外网连通性。
3.5.2 桥接模式(Bridged)
虚拟机直接桥接到宿主机物理网卡,与宿主机处于同一局域网,拥有独立IP。适用于NFS挂载、TFTP下载、SSH连接开发板等场景。
- 优点:虚拟机与开发板、宿主机可直接通信。
- 缺点:占用局域网IP,需确保网络环境支持(如公司网络可能限制MAC地址)。
- 配置步骤:在虚拟机设置中,网络适配器改为“桥接模式”,并指定正确的物理网卡(有线或无线)。
3.5.3 仅主机模式(Host-Only)
虚拟机仅与宿主机通信,无法访问外网。适用于纯本地开发调试,避免网络干扰。
| 场景 | 推荐模式 |
|---|---|
| 下载apt包、git clone | NAT |
| 与开发板NFS/TFTP通信 | 桥接 |
| 本地内核调试、无网络需求 | 仅主机 |
| 同时需要外网与局域网通信 | 桥接 + 宿主机共享网络 |
3.6 虚拟机网络配置SVG架构图
下图展示了三种网络模式在宿主机、虚拟机与外部网络之间的数据流向关系。
3.7 网络配置验证与常见问题
3.7.1 验证网络连通性
安装完成后,在虚拟机终端执行以下命令验证网络配置是否生效:
# 查看IP地址
ip a
# 测试宿主机连通性(NAT模式)
ping 192.168.100.1
# 测试外网连通性
ping 8.8.8.8
# 测试DNS解析
ping www.baidu.com
# 查看路由表
ip route
3.7.2 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 虚拟机无法获取IP | DHCP服务未启动 | 检查宿主机VMware DHCP Service是否运行;重启虚拟机网络:sudo systemctl restart NetworkManager |
| 桥接模式无法上网 | 物理网卡选择错误 | 在虚拟机设置中,桥接模式指定正确的有线/无线网卡 |
| NAT模式能ping通网关但无法上网 | 宿主机防火墙拦截 | 关闭宿主机防火墙或添加VMware NAT规则 |
| 虚拟机与宿主机互相ping不通 | 网络模式不匹配 | 确认两者处于同一网络模式(NAT/桥接/仅主机) |
| VirtualBox报错“VT-x is not available” | Hyper-V冲突 | 以管理员身份运行:bcdedit /set hypervisorlaunchtype off 并重启 |
3.8 本章小结
本章完成了虚拟机软件选型、VMware/VirtualBox安装、Ubuntu 22.04 LTS虚拟机创建与安装,以及NAT/桥接/仅主机三种网络模式的配置与验证。正确的虚拟机网络配置是后续交叉编译工具链安装、内核源码下载与NFS根文件系统挂载的基础。建议开发者在实际工作中优先使用桥接模式并固定IP,以获得最佳的开发体验与网络稳定性。