VMware ESXi and vSphere Cluster Management
Install VMware Tools on a Linux Virtual Machine in VMware vSphere
Learn how to install VMware Tools or open-vm-tools on a Linux VM through vCenter Server, including mounting media, extracting archives, handling kernel modules, and verifying guest integration.
Overview
VMware Tools is a collection of guest operating system drivers and services that improves integration between a Linux virtual machine and the VMware environment. The tools run inside the Linux guest OS, while vCenter Server and the vSphere Web Client use the guest services to exchange information and perform management operations.
Depending on the Linux distribution, VMware product version, virtual hardware version, and installed components, VMware Tools can provide improved display and mouse behavior, guest IP address and status reporting, time synchronization, graceful guest shutdown and restart, quiesced snapshots, and improved network and storage driver support.
This lesson covers both the legacy VMware Tools installer supplied as an installer ISO and the distribution-packaged open-vm-tools implementation. For a supported Linux distribution, open-vm-tools is usually the preferred method. See also this Linux VMware Tools installation guide.
Choose an Installation Method
open-vm-tools is the open-source, distribution-packaged implementation of VMware guest tools. It is maintained through the operating system's normal package repositories and update process. The VMware Tools ISO contains a VMware-supplied archive and the legacy Perl installer, vmware-install.pl.
| Method | Best Use Case | Advantages | Limitations | Maintenance Approach |
|---|---|---|---|---|
| Distribution-packaged open-vm-tools | Supported modern Linux distributions, especially server guests | Integrated with the distribution, easier updates, dependency handling, and kernel compatibility | Exact features and package names vary by distribution | Use the normal operating system package update workflow |
| VMware Tools ISO with vmware-install.pl | Older guests, environment-specific requirements, or an explicitly required VMware-supplied package | Provides the installer media expected by some older environments | Interactive installation, manual dependencies, and possible kernel module compilation | Repeat the VMware Tools installation or follow the organization's approved upgrade process |
Before choosing, follow your organization's compatibility, security, and vendor-support policy. Avoid installing both legacy VMware Tools and open-vm-tools as competing implementations unless the migration procedure specifically requires it. Mixed installations can produce service conflicts or confusing version reports.
Prerequisites and Preparation
- The virtual machine must be powered on.
- You need access through the VM console or another approved administration method.
- You need valid vCenter Server and vSphere Web Client permissions to perform the guest operating system VMware Tools media action.
- You need a Linux account with root access or authorization to use sudo. Sudo allows an approved user to run administrative commands.
- Check that the guest has sufficient writable temporary space for the extracted installer files.
- For the ISO installer, prepare compiler tools,
make, Perl, kernel headers, kernel development packages, and any other dependencies requested by the installer. - Check the active kernel and make sure matching development files are available.
- For a production guest, take a backup or snapshot according to operational policy. A snapshot is not a substitute for a backup and should have an approved retention plan.
Check the running kernel before starting:
uname -rOn Debian or Ubuntu, inspect relevant packages with:
dpkg -l | grep -E 'linux-headers|build-essential|perl'On Red Hat family systems, use:
rpm -q kernel-devel kernel-headersWhen a module must be compiled, the development files must correspond to the running kernel. Installing headers for a newer kernel is not enough if the guest is still booted into an older kernel.
Locate the Linux VM in vSphere
- Connect to the appropriate vCenter Server through the vSphere Web Client. vCenter Server is the centralized platform used to manage ESXi hosts and virtual machines.
- Open either Hosts and Clusters or VMs and Templates.
- Browse or search for the target Linux VM.
- Open the VM console. A VM console provides direct virtual screen and keyboard access to the guest.
- Authenticate to Linux with an account that has sudo or root privileges.
Mount the VMware Tools Installer Media
- In the inventory, right-click the target VM or open its actions menu.
- Choose the guest operating system action for Install VMware Tools. The exact menu wording can vary by vSphere version.
- Confirm the operation when prompted.
- vSphere connects a VMware Tools virtual CD/DVD image to the VM's virtual CD/DVD drive.
- In the VM hardware settings, verify that the CD/DVD device is connected and is using the VMware Tools installer image.
The guest may automatically mount the media. If it does not, identify the optical device and mount it manually. A common device name is /dev/sr0, but do not assume that name without checking.
Find the Mounted CD/DVD in Linux
A mount point is the directory through which Linux exposes a filesystem. Automount locations differ among distributions and desktop environments. Common locations include directories below /media, /run/media, or a manually created directory.
lsblk
findmnt
mount | grep -Ei 'cdrom|sr0|media'Look for an optical device and a filesystem mounted from it. If the media is detected but not mounted, create a mount point and mount the device:
sudo mkdir -p /mnt/cdrom
sudo mount /dev/sr0 /mnt/cdromReplace /dev/sr0 with the optical device reported by lsblk. The VMware Tools image is normally read-only. Do not try to extract files into the mounted media.
List the media contents and identify the compressed VMware Tools archive:
ls -l /mnt/cdromThe filename normally resembles VMwareTools-<VERSION>.tar.gz. The version is part of the actual filename and can differ between vSphere releases.
Extract the Installer to a Temporary Directory
A tar.gz archive is a tar archive compressed with gzip. Extract it into a writable temporary location such as /tmp, rather than running it from the read-only CD/DVD filesystem.
cd /mnt/cdrom
tar -zxf VMwareTools-<VERSION>.tar.gz -C /tmp
cd /tmp/vmware-tools-distribSubstitute the actual archive version. You can use shell completion after typing VMwareTools- to avoid mistyping the filename. If /tmp is restricted or lacks space, select another approved temporary directory.
Run the VMware Tools Installer
vmware-install.pl is the Perl-based installer script included in the legacy VMware Tools archive. Run it with administrative privileges:
sudo ./vmware-install.plThe installer may ask where to place binary files, initialization or service files, libraries, and module configuration files. It may also compile and install kernel modules. Default paths are generally appropriate for a standard Linux filesystem. Accept them only after confirming that they match your organization's filesystem and service-layout requirements.
If the installer reports missing Perl, a compiler, make, kernel headers, or kernel development files, stop and install the required packages through the guest's package manager. A module is code that can be loaded into the Linux kernel to provide driver or other kernel-level functionality; it must be built against a compatible kernel environment.
Read each prompt rather than automatically accepting every default. Record any custom paths or options for future maintenance.
Clean Up and Reboot
After a successful installation, check the virtual CD/DVD connection. The VMware Tools media is normally disconnected or unmounted when it is no longer needed, but the connection state should be verified in vSphere.
cd /
sudo rm -rf /tmp/vmware-tools-distribReboot when the installer requires it or when kernel modules and services need to be activated:
sudo rebootFor a production system, schedule the reboot through the normal maintenance process. If a reboot is deferred, document that the installation may not be fully active until the guest restarts.
Verify the Installation
Verification should cover both the Linux guest and the vSphere management plane. The exact service unit depends on the installation method and distribution.
systemctl status vmtoolsd
systemctl status open-vm-toolsCheck that the relevant service is installed, enabled when appropriate, and active. If the service is not running, inspect its logs:
journalctl -u vmtoolsd --no-pager
journalctl -u open-vm-tools --no-pagerWhen supported, check the VMware Tools version from the guest using the tool's available version command or the package manager. Also inspect the VM's summary in vSphere. It should report VMware Tools as running and current, or otherwise reflect the installed and active state.
Finally, test the guest operations that matter to your environment:
- Guest IP address and status reporting in vSphere
- Graceful shutdown or restart requested through VMware management
- Guest time synchronization behavior
- Snapshot quiescing, if the guest and backup workflow support it
- Expected network and storage driver operation
A successful package installation alone does not prove that every integration feature is available. Validate the functions used by your monitoring, backup, and operations procedures.
Install Supported open-vm-tools
On supported Linux distributions, install the base open-vm-tools package through the normal package manager. Add the desktop integration package only when the VM has a graphical desktop and that integration is needed.
Debian and Ubuntu
sudo apt update
sudo apt install open-vm-tools
sudo apt install open-vm-tools-desktop
systemctl status open-vm-toolsThe desktop package is optional. Do not install it on a minimal server solely because it exists.
Red Hat Enterprise Linux and Compatible Distributions
sudo dnf install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsdOn older systems that use Yum, use:
sudo yum install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsdFedora
sudo dnf install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsdSUSE and openSUSE
sudo zypper install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsdService unit names can vary. If vmtoolsd is not present, list related units with systemctl list-unit-files | grep -i vm and use the unit supplied by the distribution.
Keep open-vm-tools updated through the operating system's normal update workflow. This approach lets the distribution coordinate package versions with kernel updates and other dependencies.
Installation Method Comparison in Practice
For a modern Ubuntu server, the typical workflow is package-based:
sudo apt update
sudo apt install open-vm-tools
systemctl status open-vm-toolsFor a legacy Linux VM whose support policy explicitly requires the VMware Tools ISO, use the vSphere media action, locate the archive, extract it to /tmp, run sudo ./vmware-install.pl, clean up, reboot, and verify the service and vSphere status.
Troubleshooting
| Symptom | Likely Cause | How to Diagnose | Resolution |
|---|---|---|---|
| VMware Tools media is not visible | CD/DVD device is disconnected, the image was not attached, or vSphere permissions are insufficient | Check the virtual CD/DVD hardware, connection state, and guest detection with lsblk | Reconnect the device, repeat the VMware Tools guest action, or request the required vCenter permissions |
| Archive cannot be found | Incorrect mount-point assumption or media was not mounted | Use findmnt, lsblk, and mount output | Change to the actual mount point or manually mount the detected optical device |
| Permission denied while running the installer | The account lacks root or sudo authorization | Check the current identity and sudo authorization | Use an approved sudo-enabled account or log in through the authorized administrative method |
| Kernel module build failure | Missing compiler tools or headers that do not match the running kernel | Compare uname -r with installed header or development package versions | Install matching dependencies, boot the matching kernel if necessary, and rerun the installer; use supported open-vm-tools when appropriate |
| Service does not start | Incorrect unit, failed module loading, configuration error, or conflicting installation | Run systemctl status and review journalctl | Correct the reported dependency or configuration issue, remove conflicts according to policy, and start or enable the correct service |
| vSphere reports Tools not running | Guest service is stopped, a reboot is pending, or legacy and open-vm-tools installations conflict | Check the guest service, logs, and whether a reboot has occurred | Start or enable the correct service, reboot when required, and remove or migrate conflicting implementations using an approved procedure |
Missing or Inaccessible Media
Confirm that the virtual CD/DVD drive exists and is connected. If the guest detects an optical device but does not automount it, use the actual device name from lsblk and mount it manually. If no device appears, reconnect the device in vSphere and check guest kernel messages according to the distribution's logging conventions.
Missing Installer Dependencies
Installer output commonly identifies missing perl, gcc, make, or related utilities. Install them using the distribution package manager, then rerun the installer. Kernel module compilation also requires development files matching the active kernel.
Kernel Updates and Module Errors
After a kernel update, the guest may be running a kernel whose headers are not installed. Compare:
uname -r
rpm -q kernel-devel kernel-headers
dpkg -l | grep -E 'linux-headers|build-essential|perl'Install the correct packages, reboot into the matching kernel if needed, and rerun the installation or update the package-managed tools. Prefer open-vm-tools when it is supported because the distribution package workflow generally handles kernel integration more consistently.
Service Startup Failures
Use both service status and journal logs:
systemctl status vmtoolsd
systemctl status open-vm-tools
journalctl -u vmtoolsd --no-pager
journalctl -u open-vm-tools --no-pagerUse the unit that exists on the guest. Look for missing modules, permission errors, invalid paths, and conflicts with another VMware Tools implementation.
Exam-Relevant Notes
- vCenter Server manages the VM, but VMware Tools services run inside the Linux guest.
- The vSphere Install VMware Tools action mounts an installer image through the virtual CD/DVD drive; it does not by itself complete the Linux installation.
- Distribution package support should normally be preferred over the legacy ISO installer when the distribution and organizational policy support it.
- The VMware Tools archive should be extracted to a writable directory such as
/tmp, not executed from read-only media. vmware-install.plmay compile kernel modules, so matching headers, development packages, compiler tools,make, and Perl may be required.- Always verify both the guest service and the VMware Tools state reported in vSphere.
- Available VMware Tools features depend on the guest distribution, VMware version, virtual hardware, and installed components.