Conversion Error ‘Unsupported Disk Database Entry’

KB ID 0001508

Problem

Seen when attempting to convert a VMware disk (.vmdk) file to a Microsoft disk (.vhd or .vhdx) with Microsoft Virtual Machine Converter.

Convert Disks not a suppoted disk database entry for the descriptor

Microsoft Virtual Machine Converter encountered an error while attempting to convert the virtual machine.
Details: The entry “{value}’ is not a supported disk database entry for the descriptor.

If you click on the ‘Log‘ link you will see something line this;

The entry is not a suppoted disk database entry for the descriptor

The entry 1 is not a supported disk database entry for the descriptor.

You will see a similar error ,if you use the ConvertT0-MvmcVirtualHardDisk PowerShell command;

Disk conversion error

ConvertTo-MvmcVirtualHardDisk : The entry 1 is not a supported disk database entry for the descriptor. At line:1 char:1 + ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath $Winfolder\$VMDK -Vh … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (Microsoft.Accel…nversionService:DriveConversionService) [ConvertTo-MvmcVirtualHardDisk], VmdkDescriptorParseException + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC ommand

ConvertTo-MvmcVirtualHardDisk : One or more errors occurred. At line:1 char:1 + ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath $Winfolder\$VMDK -Vh … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: (Microsoft.Accel…nversionService:DriveConversionService) [ConvertTo-MvmcVi rtualHardDisk], AggregateException + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC ommand

 

Solution

I did some searching and found this was a common error, and that most people were fixing it with a tool called dsfok and using that to extract the descriptor file, and then edit it. Which is great, but all the examples had paths to the vmdk on Windows machines? 

My VMDK was on an ESXi Datastore, (where you would expect it to be). I wasn’t about to start copying vmdk files off to Windows and back again. So I needed a solution that would work in LINUX and was quicker and easier, (I am lazy after all).

There’s two ways I found to fix this, if you are happy using a vi editor in Linux then use option 1, if you are a Windows type and prefer doing things with a GUI then use option 2.

Background: In an ESX environment VM-Name.vmdk is not actually the hard disk, that’s usually called VM-Name-flat.vmdk, the descriptor in your error message, you can find in the VM-Name.vmdk file. (which you can edit in a text editor).

Option 1 – Linux and Vi

SSH into your ESXi host, then change directory to the datastore that has the VM in it;

cd /vmfs/volumes/{Datastore-Name}

Enable SSH Access to VMware vSphere ESX

SSH to VMware Host

Change directory to the folder with your VM in it, and here you can see the VM-Name.vmdk and the VM-Name-flat.vmdk file I was taking about. Edit the file using vi (vi vm-name.vmdk).

Locate VMDK Descriptor

OK, remember my initial error? It was talking about a value of “1” I’ve only got one entry with that value ‘ddb.toolsInstallType = “1”‘, simply comment that line out by prefixing it with a hash, (or pound sign if you’re American). Save and exit the file, then retry the conversion. 

Note: If it wont let you edit the file, you may need to shut down the guest VM.

Using the VI Editor (For Windows Types)

Edit VMDK Descriptor

Option 2 – Windows and WinSCP

Download WinSCP and use it to connect to your ESXi host (SSH needs to be enabled). Navigate to vmfs > volumes > {Datastore-name} > {vm-name} locate the VM-Name.vmdk file and download it to your Windows machine.

Edit VMDK WinSCP Descriptor

You can now edit the file, as above locate the offending line, prefix it with a hash (pound) symbol so that it is ignored, then simply save and upload the file back again, (choosing ‘yes‘ when prompted to overwrite the file). Then retry the conversion.

Edit VMDK WinSCP Descriptor

Related Articles, References, Credits, or External Links

NA

Author: PeteLong

Share This Post On

13 Comments

  1. Hey..thank you very much for the nice blog. It worked like a charm! I tried it in Windows Server 2019 / Hyper V with ESXi 6.5.

    Post a Reply
  2. thank you so much for your help, saved me!

    Post a Reply
  3. In my case, for some reason, there was another vmdk file with the format -0000001.vmdk that had the offending descriptor in it. Mine in particular was “8”. After removing that line, it seemed to work.

    Post a Reply
  4. SUPERB – Thank you very blady much! – Silly error, easy fix. 10/10 would read again. 😀

    Post a Reply
  5. Brilliant! I got the vmdk from ESXi host and dsfok does not show full content in the descriptor file. I was pulling my hair for hours. You helped me! Thanks a lot! In fact, I cannot thank you enough!

    Post a Reply
    • No worries, thanks for the feedback

      Post a Reply
  6. Thank you very much for the solution. In my case the descriptor was “4” but it was the same parameter “ddb.toolsInstallType”.

    Post a Reply
  7. The safer solution is to mount them in vmware player, log in, and remove the vm tools installation, whether it’s the open source or the proprietary version. Then you don’t have conflicts when firing up the OS drives in hyper-v.

    Post a Reply
  8. Not sure how you guys find these solutions but thanks a mil! What a save!!

    Post a Reply
    • Because it happens to me, then I find out how to fix, then I write it up bud 🙂

      Post a Reply
  9. Nice – Worked like a charm! 🙂

    Post a Reply

Leave a Reply to Steven Ketelsen Cancel reply

Your email address will not be published. Required fields are marked *