VMware Workstation on Ubuntu: Streamlined Local Virtualization
Running multiple operating systems natively on a single Linux workstation is a core requirement for development, incident simulation, and QA environments. VMware Workstation Pro remains a standard choice for this use case—especially if you require features beyond the capabilities of VirtualBox or KVM.
Below is a concise baseline for installing VMware Workstation Pro 17.x on Ubuntu 22.04 LTS. Steps are largely similar for 20.04 and even 24.04 (if running mainline kernels, see “Kernel Header Mismatch” below).
System Prep
Before installation, your system must have the correct compilation environment, or VMware’s modules will fail to build.
sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r) wget -y
build-essential
andlinux-headers-$(uname -r)
are mandatory; DKMS is not strictly required but is recommended so modules rebuild on kernel upgrades.
Note: Custom kernels or low-latency kernels will often lack headers unless manually installed. Check with:
dpkg -l | grep linux-headers
uname -r
Downloading the Installer
Grab the latest .bundle
from VMware’s official site. Clipboard the direct download link from VMware Workstation Pro and use wget
on your workstation:
wget https://www.vmware.com/go/getworkstation-linux
mv getworkstation-linux VMware-Workstation-Full.bundle
Occasionally, you’ll get a filename suffix (VMware-Workstation-Full-17.5.0-22583795.x86_64.bundle
). Adjust accordingly.
Permissions: Executable Bit
Set the executable bit on the installer, or you’ll get a “Permission denied”:
chmod +x VMware-Workstation-Full.bundle
Installation
Launching the installer requires root. If a graphical session exists, the GUI wizard initiates by default:
sudo ./VMware-Workstation-Full.bundle
- Accept the EULA
- Choose shortcut placement
- Configure system-wide or per-user settings as needed
If running on a headless or remote system, prevent GUI invocation with:
sudo ./VMware-Workstation-Full.bundle --console --eulas-agreed --required
This emits real-time log to stdout. If the process hangs, re-run with sh -x
for shell debug output.
Initial Launch and Module Compilation
Start VMware from the UI launcher or:
vmware &
On first run, VMware attempts to compile kernel modules (vmmon
and vmnet
). When kernel headers are missing or version-mismatched, you’ll see:
C header files matching your running kernel were not found.
Gotcha: For a mismatched kernel (e.g., after a dist-upgrade), either downgrade to the previous kernel or ensure you have the headers for your current kernel before proceeding.
Create and Run a Test VM
Example: Deploy an Ubuntu 22.04 desktop VM.
wget https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso
- In VMware, select Create a New Virtual Machine
- Choose “Typical” for most use cases.
- Select the downloaded ISO.
- Allocate at least 2 CPUs, 4 GB RAM for reasonable desktop performance; disk: 20 GB minimal practical workspace.
- Power on VM. Verify network bridge/NAT functionality and guest additions.
Practical Notes and Troubleshooting
- Module Compilation Fails:
- Revisit
linux-headers-$(uname -r)
installation. - Sometimes, upstream VMware tools break on bleeding-edge kernels; consult
/tmp/vmware-root/vmware-*.log
for build errors.
- Revisit
- USB Passthrough: Requires membership in the
usb
group and udev reload. Not seamless on all laptops. - License/Paid Features: Without a purchased key, Pro install reverts to a 30-day trial. For noncommercial uses, VMware Player may suffice.
- Alternative: KVM/QEMU is native, free, and headless-friendly, but lacks some of the snapshot and UI niceties.
Non-Obvious Tip
Add your user to the vmware
group for finer access control (especially when scripting VM launches), then sudo systemctl restart vmware
.
Known Issues
- Secure Boot blocks unsigned kernel module loading. Ubuntu may prompt to enroll a Machine-Owner Key (MOK). Complete this workflow or temporarily disable Secure Boot in UEFI.
- Wayland Sessions: VMware’s display integration is more reliable under Xorg/X11. Wayland may present degraded graphics or clipboard interoperability.
VMware Workstation is now operational on your Ubuntu system. Maintain module compatibility post-kernel upgrades with periodic checks, especially before a mission-critical lab.
Questions on automating VM deployment, integrating with Vagrant, or targeting specific guest OSes? See the advanced guides—or contribute improvements upstream.