VMware 虚拟机网卡从 e1000 迁移到 vmxnet3 操作手册

宿主:Windows 11 + VMware Workstation Pro 客户机:Ubuntu 24.04 LTS 2026-04-25 实测修订:仅修改 .vmxe1000 改成 vmxnet3 可能导致网络不通;根因通常不是 vmxnet3 驱动缺失,而是 Ubuntu netplan 仍硬编码旧接口名。

1. 结论

正确迁移顺序是:

  1. 在 Ubuntu guest 内确认原网卡 MAC,并把 netplan 改成按 MAC 匹配。
  2. 正常关机。
  3. 在 Windows 宿主上备份 .vmx,把 ethernet0.virtualDeve1000 改成 vmxnet3
  4. 启动 VM。
  5. 验证 guest 内 ens33 使用的驱动已经变成 vmxnet3,并确认网关、外网、DNS 都正常。

不要直接只改 .vmx。Ubuntu 24.04 使用 systemd-networkd/netplan 时,如果配置文件只写了旧接口名,例如 ens33:,换成 vmxnet3 后 VMware 可能改变 PCI 槽位,Ubuntu 会生成新的 predictable interface name,导致原配置找不到设备。

本次实测中,VMware 日志显示:

VMXNET3 user: Activate request succeeds for device 0.

这说明 vmxnet3 设备已经在 VMware 和 Ubuntu 内核中正常激活。此前“系统诊断认为不存在 vmxnet3 设备”的判断不准确,更可能是网络配置没有匹配到新设备。

2. 背景说明

2.1 为什么从 e1000 切到 vmxnet3

e1000 是 VMware 对 Intel E1000 网卡的全仿真实现。它兼容性好,但性能和 CPU 开销较差,尤其在高并发、Tailscale、Docker、SSH 长连接等场景下容易暴露队列拥塞、软中断集中、吞吐上限低的问题。

vmxnet3 是 VMware 的半虚拟化网卡,适合现代 Linux guest。它支持更好的 offload、多队列和更低的虚拟化开销。

迁移后本次实测状态:

interface: ens33
MAC:       00:0c:29:ab:08:71
driver:    vmxnet3
version:   1.7.0.0-k-NAPI
model:     VMXNET3 Ethernet Controller
speed:     10Gbps
queues:    16/16

2.2 关键风险:接口名变化