1. 为什么选择VMware+Ubuntu+Xshell组合
在嵌入式开发领域,环境搭建往往成为新手的第一道门槛。我从业十年间见过太多人卡在环境配置环节,浪费数天时间却连最基本的编译都跑不通。这套组合方案是我经过反复验证的黄金配置,特别适合从Windows平台过渡到Linux开发的工程师。
VMware Workstation Pro的稳定性在虚拟化工具中首屈一指,尤其对USB设备支持完善,这对嵌入式开发至关重要——当你需要调试STM32或树莓派时,虚拟机能直接识别连接到宿主机的硬件设备。最新版VMware 17还优化了内存管理,在16GB内存的笔记本上同时运行两个Ubuntu虚拟机也毫无压力。
Ubuntu LTS版本(推荐22.04)作为最主流的Linux发行版,其软件仓库包含绝大多数开发工具链。相比直接安装双系统,虚拟机方案可以随时创建快照。我就曾因误操作搞崩过系统,但通过快照5分钟就恢复了环境。
Xshell则是Windows下最强大的SSH客户端,其多标签管理和会话组织功能,比Putty等工具高效得多。特别是当需要同时连接开发板和虚拟机时,Xshell的并行会话功能简直救命。最新Xshell 8还加入了SFTP浏览器,文件传输再也不用额外开WinSCP。
2. VMware虚拟机安装避坑指南
2.1 版本选择与安装要点
官网目前提供Workstation 17和16两个主要版本。建议选择17 Pro版,其对Windows 11的兼容性更好。安装时特别注意:
- 不要使用中文路径!默认安装在
C:\Program Files\VMware\是最稳妥的选择 - 安装过程中勾选"增强型键盘驱动程序",这对Ubuntu的终端操作至关重要
- 安装完成后立即禁用自动更新(编辑→首选项→更新)
重要提示:如果主机是AMD Ryzen处理器,需在BIOS中开启SVM Mode(相当于Intel的VT-x),否则虚拟机启动会报错。
2.2 关键网络配置
开发环境最头疼的就是网络问题。推荐采用NAT模式+静态IP的组合:
- 编辑→虚拟网络编辑器→更改设置
- 选择VMnet8(NAT模式),取消勾选"使用本地DHCP服务"
- 设置子网IP为
192.168.88.0,子网掩码255.255.255.0 - 在NAT设置中配置网关为
192.168.88.2
这样后续Ubuntu可以设置静态IP192.168.88.100,既保证网络连通又避免IP变动导致Xshell连接失效。
3. Ubuntu系统安装与优化
3.1 镜像选择与安装
从Ubuntu官网下载22.04 LTS桌面版ISO(约4GB),切勿使用第三方修改版。创建虚拟机时关键参数:
- 磁盘至少分配50GB(实际占用约20GB)
- 内存建议4GB起步(开发Android需8GB+)
- 处理器核心数设为物理核心的一半
安装过程中必须勾选"安装第三方软件",这会自动安装显卡驱动和常用解码器。分区方案选择"自动安装-使用整个磁盘"即可,LVM在开发环境中没必要。
3.2 必做的初始配置
安装完成后立即执行以下命令:
sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential git ssh net-tools sudo systemctl enable --now ssh然后修改静态IP配置:
sudo nano /etc/netplan/00-installer-config.yaml写入以下内容(适配前述网络设置):
network: ethernets: ens33: addresses: [192.168.88.100/24] gateway4: 192.168.88.2 nameservers: addresses: [8.8.8.8, 114.114.114.114] version: 2应用配置:sudo netplan apply
4. Xshell连接与开发环境配置
4.1 Xshell连接优化
在Xshell中新建会话,关键参数设置:
- 协议:SSH
- 主机:192.168.88.100
- 端口:22
- 认证方法:Password(首次连接后可以配置密钥登录)
- 用户名:你的Ubuntu用户名
在属性→终端→键盘中,将"Delete键序列"改为"ASCII 127",这样可以正确识别Ubuntu的终端删除操作。建议开启"日志记录"功能,所有操作自动保存为文本,这对调试排错非常有用。
4.2 共享文件夹配置
在VMware中设置共享文件夹后,Ubuntu需要手动挂载:
sudo mkdir /mnt/host_share sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/host_share -o allow_other为了让挂载永久生效,编辑/etc/fstab追加:
.host:/ /mnt/host_share fuse.vmhgfs-fuse allow_other 0 04.3 嵌入式开发工具链安装
根据不同的嵌入式平台选择安装:
- ARM开发:
sudo apt install gcc-arm-none-eabi - RISCV开发:
sudo apt install gcc-riscv64-unknown-elf - 调试工具:
sudo apt install openocd gdb-multiarch
建议安装VS Code作为IDE:
sudo apt install wget wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/ sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt update && sudo apt install code5. 常见问题排查与性能优化
5.1 网络连接故障排查
如果Xshell无法连接,按以下步骤排查:
- 在Ubuntu执行
ifconfig确认IP配置正确 - 在Windows命令行
ping 192.168.88.100测试基础连通性 - 检查Ubuntu的SSH服务状态:
sudo systemctl status ssh - 查看防火墙设置:
sudo ufw status
5.2 虚拟机卡顿优化
修改VMware虚拟机配置:
- 右键虚拟机→设置→处理器→开启虚拟化引擎
- 选项→高级→勾选"禁用内存页面修整"
- 显示器→取消"加速3D图形"
在Ubuntu中安装VMware Tools:
sudo apt install open-vm-tools-desktop sudo reboot5.3 USB设备识别问题
当开发板无法识别时:
- 确保VMware USB Arbitration Service服务正在运行
- 虚拟机设置→USB控制器→选择USB3.0
- 在Ubuntu中安装udev规则:
echo 'SUBSYSTEM=="usb", MODE="0666"' | sudo tee /etc/udev/rules.d/99-usb.rules sudo udevadm control --reload-rules这套环境我已经在数十个实际项目中验证过稳定性,从简单的STM32开发到复杂的嵌入式Linux系统构建都能胜任。刚开始可能会觉得配置步骤繁琐,但一旦搭建完成,这个环境可以伴随你整个嵌入式开发生涯。建议定期创建虚拟机快照,特别是在安装重要工具链之前,这样即使操作失误也能快速回滚。