VMware Communities
_noah
Contributor
Contributor
Jump to solution

vmdk has internal errors and cannot be fixed

Hello

I can't start my VM because of that error message

In log it gives three errors :

Grain #80316 @10346240 is pointed to by multiple GTEs

GT Error (DD): GT[21][399] = 10346240 / 10346240

GT Error (DD): GT[100][353] = 10346240 / 10346240

0 Kudos
2 Solutions

Accepted Solutions
a_p_
Leadership
Leadership
Jump to solution

There are two grain table entries which point to the same 64kB data block.
After looking at the pointers on both locations, I think that the second entry is what needs to be zeroed out.

Please use a Hex-Editor and zero out "00 00 00 00" the 4 highlighted Bytes at Positions 17059716 and 249732 (decimal), to fix the primary and redundant grain table entries.

a_p__0-1711453083512.png

a_p__1-1711453186059.png

In case you do not have a Hex-Editor, you may want to take a look at https://mh-nexus.de/en/hxd/ which is what I use.
Make sure that you are in "overwrite" mode when you do the edits!

André

View solution in original post

a_p_
Leadership
Leadership
Jump to solution

There's nothing wrong with the virtual disk themselves. It rather seems to be a boot priority/order issue.

Close VMware Workstation and add bios.bootDelay = "5000" to the VM's configuration (.vmx) file, which will set a boot delay of 5 seconds, during which you will be able to press 'ESC' and select the boot device.

André 

View solution in original post

0 Kudos
13 Replies
_noah
Contributor
Contributor
Jump to solution

My metadata attached please help me.

0 Kudos
DCasota
Expert
Expert
Jump to solution

Hi,

Please backup the vmdk before making any modifications.

Did you already check the disk?
C:\Program Files (x86)\VMware\VMware Workstation> .\vmware-vdiskmanager.exe -e "yourdisk.vmdk"

You could trigger a repair attempt with:
C:\Program Files (x86)\VMware\VMware Workstation> .\vmware-vdiskmanager.exe -R "yourdisk.vmdk"

Possibly useful weblinks:
Solved: 'Virtual Disk.vmdk' has one or more internal error... - VMware Technology Network VMTN
(- 
Solved: vmdk has internal errors and cannot be fixed - VMware Technology Network VMTN)
(- VMDK-Handbook-Basics (sanbarrow.com))

The first weblink seems promising because it cleans/fixes several issues. @a_p_ Can you provide help to @_noah ?

_noah
Contributor
Contributor
Jump to solution

@DCasota

Thanks for replying

I've tried this:

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -e "data.vmdk"

Disk chain is not consistent: The specified virtual disk needs repair (0x3e86)

C:\Program Files (x86)\VMware\VMware Workstation> vmware-vdiskmanager.exe -R "data.vmdk"

The virtual disk, 'data.vmdk', is corrupted and cannot be repaired.

0 Kudos
DCasota
Expert
Expert
Jump to solution

Unfortunately I'm not experienced anymore with vmdk troubleshooting deepdive. Recreating a vmx somewhere between 2008-2012 was the last time.
The method from @a_p_ solving 1) uncleanShutdown 2) grain table mismatch 3) expected size seems promising. Hopefully he or someone else can provide a curated recipe with your metadata.

a_p_
Leadership
Leadership
Jump to solution

There are two grain table entries which point to the same 64kB data block.
After looking at the pointers on both locations, I think that the second entry is what needs to be zeroed out.

Please use a Hex-Editor and zero out "00 00 00 00" the 4 highlighted Bytes at Positions 17059716 and 249732 (decimal), to fix the primary and redundant grain table entries.

a_p__0-1711453083512.png

a_p__1-1711453186059.png

In case you do not have a Hex-Editor, you may want to take a look at https://mh-nexus.de/en/hxd/ which is what I use.
Make sure that you are in "overwrite" mode when you do the edits!

André

a_p_
Leadership
Leadership
Jump to solution

Reading @DCasota 's reply reminded me to also check the Unclean Shutdown Bit.
You may also want to set this on byte value at offset 72 back from "01" to "00" while using the Hex-Editor.

André

_noah
Contributor
Contributor
Jump to solution

Thank you so much for replying @a_p_ .

I followed your instructions and zeroed the bytes.

offset28.PNG      

offest712.PNG

Its not giving errors but its not still booting.

I tried adding the file as an SCSI disk to a host. After adding it, it did not boot; but when I removed it, it booted.

linux.PNG

0 Kudos
_noah
Contributor
Contributor
Jump to solution

@a_p_ 

I checked it, it was already "00".

offset72.PNG

Please what do i do @a_p_ ?

0 Kudos
_noah
Contributor
Contributor
Jump to solution

Please @a_p_ I still have some issues. 

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

>>> I tried adding the file as an SCSI disk to a host. After adding it, it did not boot; but when I removed it, it booted.

Can you please explain this, and can you rule out that- since you have two virtual disks in the settings - the VM tries to boot from the correct virtual disk?

Maybe the VM's vmware.log contains useful information.

André

_noah
Contributor
Contributor
Jump to solution

@a_p_ I attached the log file

0 Kudos
a_p_
Leadership
Leadership
Jump to solution

There's nothing wrong with the virtual disk themselves. It rather seems to be a boot priority/order issue.

Close VMware Workstation and add bios.bootDelay = "5000" to the VM's configuration (.vmx) file, which will set a boot delay of 5 seconds, during which you will be able to press 'ESC' and select the boot device.

André 

0 Kudos
_noah
Contributor
Contributor
Jump to solution

@a_p_  and @DCasota thank you so much for your time.

0 Kudos