Installing Ubuntu in VMware: Reliable Linux Virtualization for Engineers
A dedicated Ubuntu VM can insulate your dev and test environments from unstable libraries, botched package upgrades, and the usual side effects of “let’s try this toolchain” experiments. When you need to isolate workloads or replicate production-like stacks without reaching for bare metal or dual-boot, VMware Workstation/Fusion provides granular control with minimal risk.
Below is a practical workflow for provisioning a current Ubuntu (tested: 22.04.4 LTS ISO) instance using VMware Workstation Player 17.5.1. Skip to the troubleshooting section if you hit display lockups or bizarre network failures.
Requirements and Preliminaries
Host prerequisites:
- Windows 10/11, macOS 13+, or a mainstream Linux distro
- VMware Workstation Player (≥17.5.1) or VMware Fusion (≥13.0, for macOS)
- At least 4GB free RAM (8GB+ strongly recommended for modern desktops)
- Ubuntu ISO (
ubuntu-22.04.4-desktop-amd64.iso
, 4.7GB)
Obtain Ubuntu ISO here:
https://ubuntu.com/download/desktop
VMware Player download:
https://www.vmware.com/products/workstation-player.html
Step 1: VMware Player Installation
Run the installer as administrator/root. On Windows, expect the following sequence:
- License agreement > Typical installation
- Enhanced keyboard driver: not essential, improves ALT+CTRL+DEL passthrough
- Default network settings (NAT enabled)
- Post-install, a reboot sometimes clears driver integration issues on older hosts
Step 2: VM Creation and Configuration
Not all defaults are optimal. In practice, allocating inadequate resources now leads to bottlenecks later; avoid the temptation.
Quick table of recommended resources for light development:
Setting | Minimum | Recommended | Side effect |
---|---|---|---|
Disk allocation | 20 GB | 32 GB+ | <20GB = apt errors later |
RAM | 2 GB | 4-8 GB | <4GB = sluggish UI |
CPUs | 1 | 2+ | Single-core = lags |
Network | NAT | NAT/Bridged | Bridged = host IP clash |
Procedure:
- Create New Virtual Machine > Choose ISO image.
- Guest OS: Linux → Ubuntu 64-bit.
- Name VM (
ubuntu-22.04.4-lab
recommended for clarity) and VM location (store on SSD if possible). - Disk: Store as single file (slightly better I/O). Don’t compress disk image—can break large file writes.
- Click “Customize Hardware”:
- Set RAM (4096 MB+).
- CPUs: 2 (or 4+, if not heavily multitasking in host).
- Network Adapter: usually
NAT
. Switch toBridged
if VM needs to appear as a separate device on the network.
- Disable unnecessary devices—sound/card reader/webcam—unless needed.
Step 3: Ubuntu Installation
Boot the VM. The following prompt usually appears:
Try Ubuntu | Install Ubuntu
Choose Install Ubuntu.
Key steps:
- Language selection: English (or your choice)
- Updates: Enable “Download updates while installing Ubuntu” (recommended if network is fast/stable)
- Third-party drivers: Enable, especially if you plan to use media codecs or non-free firmware (useful for graphics, even in a VM)
- Disk Configuration: “Erase disk and install Ubuntu” (safe—in VM context).
Note:
Do not manually partition unless you need LVM or encryption for specific test scenarios. - Timezone, username, password setup (avoid “automatic login” in shared labs).
- Installation process (~6–15 minutes depending on host SSD speed).
Known issue: On some hardware, the VM display may freeze post-install. See troubleshooting.
Step 4: First Boot and Installing VMware Tools
Once installation completes:
- Remove ISO from virtual CD drive (
Player > Removable Devices > CD/DVD > Disconnect
). - Reboot VM. Login as configured user.
VMware Tools enhance display/autoresize, bidirectional clipboard, and shared folders:
- Player > Manage > Install VMware Tools
This mounts a virtual CD (/dev/sr0
). - Inside Ubuntu:
This is preferable over the legacy tarball/CD install. Ubuntu’s packages are up to date, easier to upgrade, and integrate cleanly.sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop
- Restart the VM:
sudo reboot
Verification:
After login, drag-resizing the VM window should instantly resize the Ubuntu desktop. If not, check that VMware Tools processes are running:
ps aux | grep vmtools
Step 5: Optimizing and Integrating the VM
-
Shared folders:
Player > VM Settings > Options > Shared Folders: Add host directory; set to “Always enabled”.
Gotcha: Ubuntu user must be in thevmhgfs-fuse
group for auto-mounts. -
Display scaling:
Ubuntu Settings > Displays > adjust scale for HiDPI screens. -
Snapshots:
Player > Manage > Snapshots
Note: Player Edition offers snapshot support, but Workstation Pro is required for advanced snapshot management (revert trees). For critical state or before package upgrades, take a snapshot—restores are far faster than debugging a broken apt upgrade:Error: BrokenCount > 0
-
Development workflow:
Example, deploy LAMP stack isolated for testing:sudo apt install apache2 mysql-server php libapache2-mod-php sudo systemctl enable --now apache2 mysql
The VM environment ensures your main system avoids dependency hell.
Troubleshooting
VM boots to blank screen post-install:
- Edit VM settings > Disable 3D graphics acceleration.
- Attach to virtual console via
Ctrl+Alt+F3
to inspect boot logs:systemd[1]: Failed to start Load Kernel Modules.
Network unreachable, apt
fails:
- Switch between NAT and Bridged mode in network adapter settings.
- Verify
ifconfig
inside the VM; check for assigned IP.
Sluggish UI/stuttering:
- Increase RAM/CPUs if host permits.
- Avoid running demanding container workloads on host simultaneously.
VMware Tools features missing (clipboard/share):
- Confirm
open-vm-tools
package is installed and running. - Sometimes a logout/login is required for new group membership to activate mounts.
Final Notes
Virtualizing Ubuntu via VMware is a robust method for sandboxing workloads, tuning configurations, or simply experimenting with package upgrades without risking your primary OS. Modern open-vm-tools has replaced legacy tar methods for integration—installation is largely automated, but always confirm after first boot.
On occasion, KVM/libvirt may provide better performance for heavy-duty CI/automation, but for GUI workflows and cross-platform support, VMware remains reliable for most use cases.
If a particular hardware feature is missing or misbehaving in the VM, review current VMware Player release notes—device pass-through and driver quirks regularly appear in upstream changes.
Questions, anomalies, or repeatable bugs—keep a snapshot baseline before major upgrades. Saves hours of "why did this package break my stack?" retrospectives.