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.

MethodBest Use CaseAdvantagesLimitationsMaintenance Approach
Distribution-packaged open-vm-toolsSupported modern Linux distributions, especially server guestsIntegrated with the distribution, easier updates, dependency handling, and kernel compatibilityExact features and package names vary by distributionUse the normal operating system package update workflow
VMware Tools ISO with vmware-install.plOlder guests, environment-specific requirements, or an explicitly required VMware-supplied packageProvides the installer media expected by some older environmentsInteractive installation, manual dependencies, and possible kernel module compilationRepeat 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 -r

On 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-headers

When 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

  1. 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.
  2. Open either Hosts and Clusters or VMs and Templates.
  3. Browse or search for the target Linux VM.
  4. Open the VM console. A VM console provides direct virtual screen and keyboard access to the guest.
  5. Authenticate to Linux with an account that has sudo or root privileges.

Mount the VMware Tools Installer Media

  1. In the inventory, right-click the target VM or open its actions menu.
  2. Choose the guest operating system action for Install VMware Tools. The exact menu wording can vary by vSphere version.
  3. Confirm the operation when prompted.
  4. vSphere connects a VMware Tools virtual CD/DVD image to the VM's virtual CD/DVD drive.
  5. 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/cdrom

Replace /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/cdrom

The 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-distrib

Substitute 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.pl

The 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-distrib

Reboot when the installer requires it or when kernel modules and services need to be activated:

sudo reboot

For 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-tools

Check 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-pager

When 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-tools

The 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 vmtoolsd

On older systems that use Yum, use:

sudo yum install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsd

Fedora

sudo dnf install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsd

SUSE and openSUSE

sudo zypper install open-vm-tools
sudo systemctl enable --now vmtoolsd
systemctl status vmtoolsd

Service 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-tools

For 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

SymptomLikely CauseHow to DiagnoseResolution
VMware Tools media is not visibleCD/DVD device is disconnected, the image was not attached, or vSphere permissions are insufficientCheck the virtual CD/DVD hardware, connection state, and guest detection with lsblkReconnect the device, repeat the VMware Tools guest action, or request the required vCenter permissions
Archive cannot be foundIncorrect mount-point assumption or media was not mountedUse findmnt, lsblk, and mount outputChange to the actual mount point or manually mount the detected optical device
Permission denied while running the installerThe account lacks root or sudo authorizationCheck the current identity and sudo authorizationUse an approved sudo-enabled account or log in through the authorized administrative method
Kernel module build failureMissing compiler tools or headers that do not match the running kernelCompare uname -r with installed header or development package versionsInstall matching dependencies, boot the matching kernel if necessary, and rerun the installer; use supported open-vm-tools when appropriate
Service does not startIncorrect unit, failed module loading, configuration error, or conflicting installationRun systemctl status and review journalctlCorrect the reported dependency or configuration issue, remove conflicts according to policy, and start or enable the correct service
vSphere reports Tools not runningGuest service is stopped, a reboot is pending, or legacy and open-vm-tools installations conflictCheck the guest service, logs, and whether a reboot has occurredStart 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-pager

Use 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.pl may 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.