VMware Communities
blacky3
Contributor
Contributor

VM lässt sich nicht starten

Hallo zusammen,

ich hatte meinen Windows 10 neu aufgesetzt und meine VMs auf ein USB-Stick kopiert, insgesamt 3 VMs.

2 Kann ich wie gewohnt starten, jedoch klappt der 3. nicht mehr. 

lck-Dateien habe ich alle gelöscht, funktioniert leider nicht.

Beim Start steht folgender Fehler:

The file specified is not a virtual disk

Cannot open the disk 'C:\Users\unkno\Documents\VmWare\Software\Windows 7-cl1.vmdk' or one of the snapshot disks it depends on.

Module 'Disk' power on failed.

Failed to start the virtual machine.

So sieht mein Ordner aktuell aus. 

 

Unbenannt.PNG

 Vielen Dank im Voraus

Beste Grüße

0 Kudos
14 Replies
blacky3
Contributor
Contributor

Hello all,

here again in English:

I had my Windows 10 rebooted and copied my VMs to a USB stick, 3 VMs in total.

2 I can start as usual, however, the 3rd no longer works.

lck files I have deleted all, unfortunately does not work.

At startup I get the following error:

The file specified is not a virtual disk

Cannot open the disk 'C:\Users\unkno\Documents\VmWare\Software\Windows 7-cl1.vmdk' or one of the snapshot disks it depends on.

Module 'Disk' power on failed.

Failed to start the virtual machine.

This is what my folder currently looks like.

 

0 Kudos
Technogeezer
Immortal
Immortal

Could you post the .vmx file for this VM? I'm assuming that the VM was in your home folder originally, but you moved it to its new location, and deleted it in its original location. It's possible that the VM configuration thinks the vmdk file is still in its original folder. That would happen if the path to the virtual disk is a fully qualified path name in the .vmx file. 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
blacky3
Contributor
Contributor

.vmx files unfortunately I can not upload here, is not supported, how should I do that? If you want to look at the location, it is the same as the other two that work.

Thank you for your reply.

 

Unbenannt.PNG

0 Kudos
a_p_
Leadership
Leadership

Some thoughts:

The name "Windows 7-cl1.vmdk" suggests that the VM has been cloned. In case it's a linked clone, can you confirm that the base VM is in place?

The VM had previously been suspended. What may be worth a try is to see whether deleting the .vmss, and .vmem file helps.

Do you see any related information in the VM's vmware.log file?

André

Note: Some file extensions are unfortunately not allowed in the forum, but you can simply rename the files to .txt, or compress/zip them, and attach the .zip archive.

0 Kudos
blacky3
Contributor
Contributor

that I have cloned the VM is correct, the base VM is also still present, yes.

You can find the log file below.

deleting the .vmss- and .vmem-files did not help, only the state is now powered off.

Thanks for the answer.

 

0 Kudos
a_p_
Leadership
Leadership

There's seems to be some corruption in the virtual disk's metadata.

As a first step, please run the following Powershell command in the VM's folder, and attach the resulting vmdkheader.txt to your next reply.

Get-Content .\Windows 7-cl1.vmdk -Encoding Byte -TotalCount 1536 | Format-Hex | Out-File -FilePath .\vmdkheader.txt

André

0 Kudos
blacky3
Contributor
Contributor

When I open Powershell and enter the command directly I get the following error message:

PS C:\Windows\syswow64\WindowsPowerShell\v1.0> Get-Content .\Windows 7-cl1.vmdk -Encoding Byte -TotalCount 1536 | Format-Hex | Out-File -FilePath .\vmdkheader.txt
Get-Content : No position parameter was found that accepts the argument "7-cl1.vmdk".
In line:1 character:1
+ Get-Content .\Windows 7-cl1.vmdk -Encoding Byte -TotalCount 1536 | Fo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-Content], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetContentCommand

how exactly do i execute a powershell command in the folder?

0 Kudos
a_p_
Leadership
Leadership

Sorry my bad, run:

Get-Content ".\Windows 7-cl1.vmdk" -Encoding Byte -TotalCount 1536 | Format-Hex | Out-File -FilePath .\vmdkheader.txt

André

0 Kudos
blacky3
Contributor
Contributor

this will give me the txt file in the attachment.

Does this help you?

0 Kudos
a_p_
Leadership
Leadership

That's not good at all. The header has been completely overwritten.

Do you remember the virtual disk's provisioned size?
Assuming it is 60GB (the default for Win7), then extract the attached .zip archive to a new folder (e.g. "C:\Temp"), and drag&drop the .vmdk file onto the Get-Metadata.cmd. This should create two Metadata files. Compress/zip these two files, and attach the .zip archive to a reply post.

André

0 Kudos
blacky3
Contributor
Contributor

the zip file can be found in the appendix.

The size of the virtual file is the same as the current one, about 51GB.

0 Kudos
a_p_
Leadership
Leadership

I'm afraid that there's nothing I can do for you. The whole metadata has been zeroed out.

If the VM worked before reinstalling the Windows host, then there was either an issue with backing up the VMs, or - if you are lucky and still have the backup - something went wrong with restoring the files. Maybe the files on the backup /USB device) are still ok!?

André

0 Kudos
blacky3
Contributor
Contributor

it was only one folder i had copied to the stick and all 3 VMs were in that folder. Strange is that 2 work and the third does not. Do I have a way to open the vmdk file and copy files from it? or is everything lost for good?

Anyway thanks for your effort and help, very nice.

0 Kudos
a_p_
Leadership
Leadership

Data in VMware Workstation .vmdk files is stored in 64kB blocks, which are referenced/indexed in grain directories, and grain tables. That's the part which has unfortunately been overwritten with zeroes.

There may be a chance that some files that are stored in adjacent blocks can be extracted somehow, but I'm currently not aware of a data recovery tool which can extract files from within another file (the .vmdk file).

Sorry that I can't help you with this, but maybe another user has an idea.

André