Hi,
I got the following message when startup the virtual machine:
The disk 'D:\Virtual Machines\XPProf_jdownloader\XPProf_Standard-cl1.vmdk' has one or more internal errors that cannot be fixed. Restore from a backup copy of this disk.
The specified virtual disk needs repair
Cannot open the disk 'D:\Virtual Machines\XPProf_jdownloader\XPProf_Standard-cl1-000002.vmdk' or one of the snapshot disks it depends on.
Module 'Disk' power on failed.
Failed to start the virtual machine.
I have a lot of Errors like this:
2019-10-20T12:19:49.952+02:00| vmx| I125: DISKLIB-SPARSECHK: [D:\Virtual Machines\XPProf_xpprof\XPProf_Standard-cl1.vmdk] GT Error (EE): GT[102][389] = 25435136 / 25435136
2019-10-20T12:19:49.952+02:00| vmx| I125: DISKLIB-SPARSECHK: [D:\Virtual Machines\XPProf_xpprof\XPProf_Standard-cl1.vmdk] Resolving GT[102][389] = 0
The log file has 98Mb and it seems that i can not add it
Tryed the vmware-vdiskmanager.exe, but did not work
Any Idea?
Welcome to the Community,
did something unexpected happen, which may have caused this, e.g. a power outage, out of disk space issue, ...?
As a first step run dir *.* /one > filelist.txt in the VM's folder, and attach the resulting filelist.txt to a reply post.
André
Ok, let's see how the virtual disks' metadata looks like.
To extract the metadata, please create another, temporary VM with the same virtual disk size, and make sure that you select "Store virtual disk in a single file". Then run the dir *.vmdk command in that VM's folder, and make note of the .vmdk file's size.
After that, download dsfok.zip from http://faq.sanbarrow.com/index.php?action=artikel&cat=47&id=111&artlang=en, extract the executables, run the below mentioned command in the corrupted VM's folder, compress/zip all the "xxx-....bin" files, and attach the .zip archive to a reply post
for %i in (*.vmdk) do @dsfo.exe "%i" 0 #### "xxx-%~ni.bin"
Note: Replace #### with the temporary VM's .vmdk file's size.
André
The good news is that the newly created VM has an error free virtual disk 😉
If you want me to take a look at the corrupted .vmdk files, you need to run the command in the corrupted VM's folder, which will create two .bin files.
André
Thank you
I summed up the size of both .vmdk. Added this value to the dsfo command and got 2 bin files.
When i zip those files i got a zip file with about 9GB. Something more than the largest bin file. This is correct?
So i have to upload this to a file hoster.
Sebastian
I summed up the size of both .vmdk
Let's clarify this.
According to the "xxx-temp.bin" that you've provided earlier, the metadata size (file size) is 7.929.856 Bytes. Assuming that this is the correct temp.vmdk file's size, the command to extract the metadata from the two .vmdk files is:
for %i in (*.vmdk) do @dsfo.exe "%i" 0 7929856 "xxx-%~ni.bin"
What you should get, are two .bin files with exactly this size (7.929.856 Bytes).
André
Thanks,
yes, i got two.bin files with the exact size of the two .vmdk.
Then i zipped this two .bin files.
According to the "...temp.bin" i got .bin filesize of 7.929.856 and after packing it with zip, the .zip file got a size of 14.200 byte. So a very high compression.
The .bin file of my damaged system has about 9GB. When i pack it, the .zip file also got size about 9GB. So a very bad compression.
My question now was whether this poor compression is normal?
Thanks fpr your help!
The .bin file of my damaged system has about 9GB. When i pack it, the .zip file also got size about 9GB. So a very bad compression.
That's actually impossible, we are extracting only a few MB from the .vmdk files.
Please delete the current .bin file and run the extract command again. Maybe something went wrong with the first attempt!?
André
I tried again.
1. I navigate to the VMs directory.
D:\Virtual Machines\XPProf_xpprof>dir *.vmdk
Datenträger in Laufwerk 😧 ist DATEN
Volumeseriennummer: 48D2-4E8D
Verzeichnis von D:\Virtual Machines\XPProf_xpprof
20.10.2019 10:45 7.929.856 XPProf_Standard-cl1-000002.vmdk
09.10.2019 14:57 9.079.881.728 XPProf_Standard-cl1.vmdk
2 Datei(en), 9.087.811.584 Bytes
0 Verzeichnis(se), 37.779.369.984 Bytes frei
2. I execute your command
D:\Virtual Machines\XPProf_xpprof>for %i in (*.vmdk) do @dsfo.exe "%i" 0 9087811584 "xxx-%~ni.bin"
OK, 7929856 bytes, 0.031s, MD5 = d53a36a3cdd668bf9b89079493086f76
OK, 9079881728 bytes, 70.824s, MD5 = a9e592a129fc6d00a8f6ee5d75e5c733
3. I packed the two .bin files with 7-Zip
Did i somthing wrong?
You are specifying an incorrect number of bytes to extract from the .vmdk file.
Instead of:
for %i in (*.vmdk) do @dsfo.exe "%i" 0 9087811584 "xxx-%~ni.bin"
run:
for %i in (*.vmdk) do @dsfo.exe "%i" 0 7929856 "xxx-%~ni.bin"
André
I have two .vmdk. so i thought i have to sum up their sizes. When i do it with "7929856" i only have the size of the smalest vmdk
When i do it with "7929856" i only have the size of the smalest vmdk
That's correct, what I need is only the metadata (header, grain directories/tables, ...) which are stored in the first 7929856 bytes of each .vmdk file, but not your user data.
André
This doesn't seem to be a simple metadata issue, but an issue with a truncated data file.
According to my test results, the virtual disk's provisioned size is 60GB with ~37GB are (were) used, but the data file is only ~9GB in size.
ERROR: Mismatch - Size = 9.079.881.728, Expected = 37.298.110.464 (Diff = -27.556.864 kB)
There are unfortunately not really another option than to restore the missing data from backups. Trying to recover data from the physical disk will most likely also not be successful anymore, because I guess that most of the files previously used sectors on the physical disk have already been overwritten.
Sorry for the bad news.
André
Thanks for your help, anyway. Best regards