おそらくWindowsで作成された.vmxを使用しようとしているvmware fusionでも同様の状況がありました。VM を起動することはできましたが、ovftool を使用してマシンをエクスポートしようとしたり、vmware-vdiskmanager を使用しようとすると、次のように爆撃されました。
Error: Failed to open disk: source.vmdk
Completed with errors
ディスク名は完全に有効で、パスは有効で、パーミッションは有効で、唯一の手がかりは ovftool を次のように実行したことでした:
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
他の人が示唆したように、.vmdk をのぞき見しました。その中で私は3つの他の手がかりを見つけました:
encoding="windows-1252"
createType="monolithicSparse"
# Extent description
RW 16777216 SPARSE "source.vmdk"
最初に monolithicSparse vmdk を「事前に割り当てられた仮想ディスクを 2GB ファイルに分割」に変換しました。
vmware-vdiskmanager -r source.vmdk -t3 foo.vmdk
次に、「foo.vmdk」を編集してエンコーディングを変更できます。これは次のようになります。
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
最後に、source.vmx を修正した後:
scsi0:0.fileName = "foo.vmdk"
利益:
ovftool source.vmx dest.ova
...
Opening VMX source: source.vmx
Opening OVA target: dest.ova
Writing OVA package: dest.ova
Transfer Completed
Completed successfully