VMware Communities
jc_miami
Contributor
Contributor
Jump to solution

Resuming Suspended virtual machine fails with "The file specified is not a virtual disk."

Resuming a Suspended virtual machine fails with "The file specified is not a virtual disk" message. Trying to revert to latest snapshot also fails with same message "Error restoring snapshot: The file specified is not a virtual disk".

The virtual machine worked without issues up until 12/21/2015 when it was suspended. I frequently suspend > resume this vm but for some reason I'm now getting this error. Please help!!!!

0 Kudos
1 Solution

Accepted Solutions
a_p_
Leadership
Leadership
Jump to solution

The file unfortunately doesn't look very promising. It looks like the contents were overwritten,

Unless you have a backup, you can try to replace this file with a "blank" .vmdk file (e.g. copying Windows 7 x64-000002-s100.vmdk) which only contains metadata (size = 327,680), to see whether this lets you use the VM again. Note that you will loose any data that was stored in the original (corrupted) .vmdk file, and that the VM will most likely suffer from file system errors. So make sure you run chkdsk for all partitions within the guest OS.

Anyway, prior to doing this, I strongly recommend that you backup the VM's current files! Once done it might also be a good idea to run chkdsk for the physical drive.

Btw. do you need all the snapshots? With the VM's virtual disk size, and all of these snapshots, the virtual disk consists of ~400 .vmdk files.

André

View solution in original post

8 Replies
a_p_
Leadership
Leadership
Jump to solution

Please provide a complete list of files in the VM's folder, i.e. the output of dir *.* /one (for a Windows host) or ls -lisa (for a Linux host).

If the error shows up in the VM's vmware.log file, please attach this file to a reply post.

André

0 Kudos
jc_miami
Contributor
Contributor
Jump to solution

dir_print.zip

Attached please find the complete list of files in the folder (dir_print.txt).

None of the 4 log files (vmware.log, vmware-0.log, vmware-1.log, vmware-2.log) contain the error but I still included them just in case.

I did find the error in the vmware-ui-3564.log so I included as well.

Thank you very much André!

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

According to the vmware-ui log file the system has an issue with reading "Windows 7 x64-000002-s008.vmdk". At this point I cannot tell whether this is caused by an issue with the physical disk, a metadata corruption in the file itself, or another file system issue.

What I would like you to do is to see whether you can access this file manually. So please copy the file to a temp location to see whether this works.

If you are able to access/copy the file, please extract the file's header/metadata and attach it to a reply post. To do this download dsfok.zip from http://faq.sanbarrow.com/index.php?action=artikel&cat=47&id=111&artlang=en, extract the executables, and run the below mentioned command in the VM's folder.

dsfo.exe "Windows 7 x64-000002-s008.vmdk" 0 327680 "Windows 7 x64-000002-s008.bin"

André

0 Kudos
jc_miami
Contributor
Contributor
Jump to solution

I'm able to manually access the file. Attached please find the requested bin file.

Windows 7 x64-000002-s008.bin

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

The file unfortunately doesn't look very promising. It looks like the contents were overwritten,

Unless you have a backup, you can try to replace this file with a "blank" .vmdk file (e.g. copying Windows 7 x64-000002-s100.vmdk) which only contains metadata (size = 327,680), to see whether this lets you use the VM again. Note that you will loose any data that was stored in the original (corrupted) .vmdk file, and that the VM will most likely suffer from file system errors. So make sure you run chkdsk for all partitions within the guest OS.

Anyway, prior to doing this, I strongly recommend that you backup the VM's current files! Once done it might also be a good idea to run chkdsk for the physical drive.

Btw. do you need all the snapshots? With the VM's virtual disk size, and all of these snapshots, the virtual disk consists of ~400 .vmdk files.

André

jc_miami
Contributor
Contributor
Jump to solution

I will try the blank replace and report the results but first let me confirm I got the correct order:

  1. Backup VM's current files
  2. Run chkdsk on host OS
  3. Replace bad file ("Windows 7 x64-000002-s008.vmdk") with blank one ("Windows 7 x64-000002-s100.vmdk")
  4. Try to resume VM
  5. Run chkdsk on guess OS for all partitions

Please confirm above steps?

As for the snapshots I only need the latest snapshot. Should I delete the others. Will that make any difference?

Once again, thank you very much for your help André!

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

Steps confirmed!

Deleting unneeded snapshots will not only free up disk space on the host, but may also speed up the VM, because data blocks do not need to be read from multiple different files. Although the host OS shouldn't have issue with handling the large number of files, it will at least not hurt to have less open files in use.

André

0 Kudos
jc_miami
Contributor
Contributor
Jump to solution

I followed the steps and I was able to resume and use the VM.

chkdsk on VM reported no problems however on host there were errors reported with the VM disk files (see below)

Stage 4: Looking for bad clusters in user file data ...

Read failure with status 0xc0000185 at offset 0x9e49599000 for 0x10000 bytes.

A disk read error occurredc0000185

The disk does not have enough space to replace bad clusters

detected in file 49095 of name \VM-share\SAILFI~1\WI0D5A~1.VMD.

Read failure with status 0xc0000185 at offset 0xa44ac49000 for 0x10000 bytes.

A disk read error occurredc0000185

The disk does not have enough space to replace bad clusters

detected in file 49526 of name \VM-share\SAILFI~1\WI6563~1.VMD.

Anyways I was able to retrieve the important files from the VM.

One word of advice, whenever you run chkdsk always use the /v  parameter to display details. Otherwise you only get a percent and in my case it was stuck at 10% for hours but it was actually working.

Thank You Thank You Thank You André Smiley Happy

0 Kudos