I had a similar situation in vmware fusion trying to use .vmx, which was probably created on windows. I could boot the virtual machine, but any attempt to export the machine using ovftool or use vmware-vdiskmanager was launched using:
Error: Failed to open disk: source.vmdk Completed with errors
diskname was fully valid, the path was valid, permissions were valid, and the only key was to run ovftool with:
ovftool --X:logToConsole --X:logLevel=verbose source.vmx dest.ova Opening VMX source: source.vmx verbose -[10C2513C0] Opening source verbose -[10C2513C0] Failed to open disk: ./source.vmdk verbose -[10C2513C0] Exception: Failed to open disk: source.vmdk. Reason: Disk encoding error Error: Failed to open disk: source.vmdk
as others suggested, I looked into .vmdk. there I found 3 more tips:
encoding="windows-1252" createType="monolithicSparse" # Extent description RW 16777216 SPARSE "source.vmdk"
so first I converted monolithicSparse vmdk to a "pre-allocated virtual disk divided into 2GB files":
vmware-vdiskmanager -r source.vmdk -t3 foo.vmdk
then I could edit "foo.vmdk" to change the encoding, which now looks like this:
encoding="utf-8" createType="twoGbMaxExtentFlat" # Extent description RW 8323072 FLAT "foo-f001.vmdk" 0 RW 8323072 FLAT "foo-f002.vmdk" 0 RW 131072 FLAT "foo-f003.vmdk" 0
and finally, after fixing the .vmx source:
scsi0:0.fileName = "foo.vmdk"
profit:
ovftool source.vmx dest.ova ... Opening VMX source: source.vmx Opening OVA target: dest.ova Writing OVA package: dest.ova Transfer Completed Completed successfully