This project is read-only.

Vmdk created with ESX (or ESXi)

May 10, 2010 at 9:15 AM


when I want to retrieve info about a vmdk, which was created by ESX, with volinfo.exe, I get an Exception.

Output of such a call:

K:\Tools\DiscUtils>VolInfo.exe d:\temp\XP-flat.vmdk
VolInfo v0.9.0, available from
Copyright (c) Kenneth Bell, 2008-2010
Free software issued under the MIT License, see LICENSE.TXT for details.

Unhandled Exception: System.IO.IOException: Invalid VMDK descriptor file, more than 20480 bytes in length
   at DiscUtils.Vmdk.DescriptorFile.Load(Stream source)
   at DiscUtils.Vmdk.DescriptorFile..ctor(Stream source)
   at DiscUtils.Vmdk.DiskImageFile.LoadDescriptor(Stream s)
   at DiscUtils.Vmdk.DiskImageFile..ctor(FileLocator fileLocator, String file, FileAccess access)
   at DiscUtils.Vmdk.Disk..ctor(FileLocator layerLocator, String path, FileAccess access)
   at DiscUtils.Vmdk.DiskFactory.OpenDisk(FileLocator locator, String path, FileAccess access)
   at DiscUtils.VirtualDisk.OpenDisk(String path, FileAccess access, String user, String password)
   at VolInfo.Program.DoRun()
   at DiscUtils.Common.ProgramBase.Run(String[] args)
   at VolInfo.Program.Main(String[] args)

Is it known that Vmdks created with ESX don't work?

Ciao Ephraim

May 10, 2010 at 9:27 AM

Ok ,... I was to fast :) ... when I try to open the flat file directly the exception occurs, but when I use it via the Disk DescriptorFile vmdk thing, then it works.

Does every Flat vmdk has such a Disk DescriptorFile ? Or vmdk in general?

Ciao Ephraim