Verifying ESXi virtual machine file names
search cancel

Verifying ESXi virtual machine file names

book

Article ID: 316523

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

This article provides steps to verify the files names that are associated with a virtual machine, the correct procedure to follow when renaming a virtual machine and methods of overcoming problems when these files become corrupted. If there are any discrepancies between what a virtual machine expects to find and what is present, the virtual machine fails to power on.
 
  • Unable to power on a virtual machine
  • Powering on a virtual machine fails
  • Cannot power on virtual machine
  • Error when attempting to power on a virtual machine: A file was not found

Environment

VMware vSphere ESXi 6.0
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7
VMware vSphere ESXi 7.0
VMware vSphere ESXi 8.0

Resolution

A manual name change of any file associated with a virtual machine may render the virtual machine unable to start.
 
Note: Avoid spaces, brackets, or non UTF-8 characters when naming virtual machines and their associated files.
 
To check the files that are associated with a virtual machine, use the configuration file (.vmx file) of the virtual machine.
 
To find the configuration file location of the virtual machine, use the /bin/vim-cmd command. For more information on the vim-cmd command, refer to Performing common virtual machine-related tasks with command-line utilities.
  1. Connect to the ESXi host on which the virtual machine resides using SSH.
  2. Run this command:

    vim-cmd vmsvc/getallvms

    This returns the paths to the configuration files of every virtual machine registered on that ESXi Server host. For example, '/vmfs/volumes/storage1/vm1/vm1.vmx' .
After finding the configuration file, check each file associated with the virtual machine.
 
Example Entries
 
NVRAM File nvram = "examplevm.nvram"
VMXF File extendedConfigFile = "examplevm.vmxf"
Hard Disk (.vmdk file) scsi0:0.fileName = "examplevm-000001.vmdk"
Hard Disk (.vmdk file) not located in same directory scsi0:1.fileName = "/vmfs/volumes/46b2f3ea-########-####-001122334455/examplevm/examplevm.vmdk"
Swap File (.vswp) sched.swap.derivedName = "/vmfs/volumes/46b2f3eb-########-####-001322557733/examplevm/examplevm-c8466559.vswp"
 
The file names listed in the configuration file are what the virtual machine expects and needs to find to power on.
 
If "File not found" errors appear when trying to power on the virtual machine, the log files in the virtual machine directory indicate which file is causing the issue.

For example: Mar 27 17:13:38.680: vmx| DISKLIB-LINK : "/vmfs/volumes/46b2f3ea-########-####-001122334455/examplevm/examplevm.vmdk" : failed to open (The system can not find the file specified)
 
To troubleshoot issues with file names of the virtual machine, see Verifying ESX/ESXi virtual machine file integrity.



Additional Information