VMware Communities
Thamper
Contributor
Contributor

The disk has one or more internal errors that cannot be fixed.

The disk 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 or one of the snapshot disks it depends on.

Module 'Disk' power on failed.

Failed to start the virtual machine.

Im using Windows 10 as host and VMWare Workstation 16 player

 

 

0 Kudos
6 Replies
a_p_
Leadership
Leadership

Please extract the attached .zip archive to en empty/new folder, and then drag&drop the VM's folder onto the .cmd file. This will extract the metadata (no user data) from each .vmdk file, and store it in Meatadata*.* files. Then compress/zip these Metadata*.* files, and attach the .zip archive to your next reply. With the number of errors reported in the vmware.log, I can't promise you anything though.

Unless already done, please backup the VM's folder/files prior to any further attempts to fix the issues.

André

 

0 Kudos
a_p_
Leadership
Leadership

Please allow me one question.

What is the W: drive? Is it a local drive, a network share, or an external disk? Is the VM's folder soehow synced using e.g. OneDrive?
I'm asking to understand what may have caused the corruption, and how to avoid it in the future.

André

0 Kudos
Thamper
Contributor
Contributor

Drive W - external USB-SSD with VM files

When I finish my work, I shutdown VM. Then I unplug USB-SSD. When I plug it again, I get this error

0 Kudos
a_p_
Leadership
Leadership

That's what I though. You most likely forgot to properly unmount the USB drive before you unplugged it, so that Windows wasn't able to write cached data to the file.

Anyway, I fixed the virtual disk's metadata, so that you should be able to use the .vmdk again. However, due to the missing data, and duplicate entries in the metadata, I had to make a few assumptions, which means that you'll have to expect some file system corruption/data loss within the guest OS. Be sure to backup the current .vmdk file, and create a snapshot before you power on the VM with the fixed .vmdk file!

Please follow these steps:

  1. Backup STEP7_Intouch2014r2.vmdk unless already done
  2. Increase the file to the expected size by appending binary zeros
    fsutil file seteof STEP7_Intouch2014r2.vmdk 43249434624
  3. Download http://sanbarrow.com/files/dsfok.zip (Details can be found at https://sanbarrow.com/vmdk-tools.html)
  4. Extract the attached Metadata-STEP7_Intouch2014r2-43249434624-fixed.zip into the VM's folder
  5. Use dsfi.exe from the dsfok.zip to inject the fixed metadata into your .vmdk file
    dsfi.exe "Metadata-STEP7_Intouch2014r2.vmdk" 0 13172736 "Metadata-STEP7_Intouch2014r2-43249434624-fixed.bin"
  6. Take a VM snapshot before you power on the VM
  7. Check the guest filesystem and/or backup important guest files

André

0 Kudos
ernst_k
Contributor
Contributor

Hi André

I am having the same problem. I have attached the metadata files. Would it be possible for you to try and fix? I will then follow the same procedure as detailed below. Note that 😧 is a portable USB drive.

0 Kudos
a_p_
Leadership
Leadership

The metadata contains 5 duplicate 64kB blocks. I had to make a decision, and zeroed out the higher duplicate pointers.
The command to inject the modified metadata is:

dsfi.exe "win7-pro-x86.vmdk" 0 16842752 "Metadata-win7-pro-x86-77753679872-fixed.bin"

As an alternative, you may use a Hex-Editor to fix the .vmdk file manually.

Diff:

Address  old new
004CFF49: C2 00

004CFF4A: EC 00
004CFF4B: 08 00
004CFF4C: 80 00
004CFF4D: C2 00

004CFF4E: EC 00
004CFF4F: 08 00
004CFF51: C3 00
004CFF52: EC 00

004CFF53: 08 00
004CFF54: 80 00
004CFF55: C3 00
004CFF56: EC 00
004CFF57: 08 00
004CFF59: C4 00
004CFF5A: EC 00
004CFF5B: 08 00

00CD3F49: C2 00
00CD3F4A: EC 00
00CD3F4B: 08 00
00CD3F4C: 80 00
00CD3F4D: C2 00
00CD3F4E: EC 00
00CD3F4F: 08 00
00CD3F51: C3 00
00CD3F52: EC 00
00CD3F53: 08 00
00CD3F54: 80 00
00CD3F55: C3 00
00CD3F56: EC 00
00CD3F57: 08 00
00CD3F59: C4 00
00CD3F5A: EC 00
00CD3F5B: 08 00

Make sure you have a backup prior to modifying the file, and take a VM snapshot prior to powering on the VM.

André

0 Kudos