Taken from http://www.lavmug.org/node/31
“Could not power on VM : No swap file. Failed to power on VM” – This issue is caused when a VM guest tries to power on and some other ESX host has one or more guest files open. This is usually due to a crash or fault in the ESX Cluster that HA did not complete successfully.
Here is how to fix:
#1) Login to each ESX’s service console and issue this command: is case sensitive.
For ESX2.x and 3.0.x type: ps -ef | grep vm_guest_name
For ESX3.5.x type: ps -efwww | grep vm_guest_name
If the VM is not running on the ESX host you are on, you will get something like:
root 3483 3217 0 10:38 pts/2 00:00:00 grep vm_guest_name
If you get something like this: (This is the process that has your file open in ESX)
root 1092 1 0 10:33 ? 00:00:00 /usr/lib/vmware/bin/vmkload_app /usr/lib/vmware/bin/vmware-vmx -ssched.group=host/user -# name=VMware ESX Server;version=3.5.0;licensename=VMware ESX Server;licenseversion=2.0 build-82663; -@ pipe=/tmp/vmhsdaemon-0/vmx6a6188c22e804baf; /vmfs/volumes/48729e6e-7cf3b2df-6ca0-001ec9b1b30a/vm_guest_name/vm_guest_name.vmx
#2) You will want to kill the process that is still holding your VM guest files open. You can do this by typing:
kill -9 pid
Example using above VM: kill -9 1092 ( you will notice the pid/process ID in bold)
#3) After doing this, you should be able to Power On your VM guest.
*** Please remember that some HA/DRS issue could have caused this error. Please take a close look at your guest/hosts logs OR call VMware support.