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.
-
Connect to the ESXi host on which the virtual machine resides using SSH.
-
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)