I migrated to a larger 2TB SSD for my VM storage for ESXi. I installed a fresh copy of ESXi 6.7 onto the new drive. After downloading all of the files for each VM I could see on the old drive's datastore (.vmsd, .vmxf, .vmx, and .vmdk) and uploading them to their respective folders on the new datastore, I was able to re-register the VMs on the new drive without an issue, but when I go to start any of the VMs, I get this error:
"Unable to enumerate all disks. The file specified is not a virtual disk"
If I try to edit the VMs, I get this error:
"Failed - Unable to access file [datastore1] VMName/VMName.vmdk"
Not sure how to proceed from here. The old drive is still intact. I looked for a xxx-flat.vmdk and I can't find any files with that naming scheme, even on the old drive where the VMs still work on.
Did you edit the VMX file?
It will contain references to the virtual disk files. I suspect the paths specified are now wrong, and do not point to the new drive, and still refer to the old drive.
Generally it is easier to migrate VMs between datastores by having both datastores online and either:
Unfortunately it's not feasible for me to have both online at the same time.
How would I go about editing the VMX file? When I hit edit in the web console on the VM, I can see it's pointing to [datastore1] and then what appears to be the correct file path.
The .vmx file could be downloaded to your workstation and can edit it with whatever text editor of your choice making sure it matches the details of the files you have uploaded to the datastore.
Another solution would be creating an empty VM and attach the existing disks from that folder that you copied as this will create a new .vmx file and the details will be automatically updated. However, in case you modified any advanced option at the VM level, you will need to do it again.