以下のようにOVFToolを使用してVMXをOVF形式に変換しようとしていますが、エラーが発生します。
C:\Program Files\VMware\VMware OVF Tool>ovftool.exe
vi://vcenter.com:port/folder/myfolder/abc.vmx abc.ovf
Error: Failed to open file: https://vcenter.com:port/folder/myfolder/abc.vmx
Completed with errors
解決策がありましたらお知らせください。
おそらく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
OVFToolでOVF形式にエクスポートしようとすると、同様の問題が発生しました。
Export failed: Failed to open file: C:\Virtual\test\test.vmx.
まず、エディターで.VMXファイル(テキストファイル)を開き、次のような設定を確認しました。
scsi0:0.fileName = "test.vmdk"
nvram = "test.nvram"
extendedConfigFile = "test.vmxf"
適切なファイル名を記載します。それから私はこの行に気づきました:
.encoding = "windows-1251"
これはキリル文字のコードページなので、ウエスタンコードページを使用するように変更しました
.encoding = "windows-1252"
次に、OVFToolを実行すると別のエラーが発生しました
Export failed: Failed to open disk: test.vmdk.
これを修正するには、.VMDKファイルをHEXエディターで開く必要がありました(通常、これは大きなバイナリファイルであるため)。
encoding = "windows-1251"
(ファイルの先頭のどこかにあります)、「1251」を「1252」に置き換えました。
そしてそれはトリックをしました!
私の場合、「abc.vmx」を「abc.ovf」に変換する前にディスク「abc.vmdk」を修復する必要がありました。
これをLinuxに使用します。
$/usr/bin/vmware-vdiskmanager -R /home/user/VMware/abc.vmdk
このリンクを見てください https://kb.vmware.com/s/article/2019259 WindowsおよびLinuxで解決された問題
以下の説明に従って実行してみてください。
C:\ Program Files\VMware\VMware OVF Tool> ovftool C:\ Win-Test\Win-Test.vmx(vmxファイルの場所)C:\ Win-Test\win-test.ovf(宛先)
多分ovftool
はあなたが与えているパスを認識できません。
次のコマンドで試してください:
ovftool --eula@=[path to eula] --X:logToConsole --targetType=OVA --compress=9 vi://[username]:[ESX address] [target address]
ESXアドレスを指定すると、ESXボックスに作成したフォルダが一覧表示されます。次に、フォルダー名を追加して、上記のコマンドを再度トリガーできます。
ボックスにフォルダ階層が存在しない場合は、VM名が一覧表示されます。
[foldername]/[vmname no vmx file name required]
を追加して同じコマンドを再試行します
ovftool --eula@=[path to eula] --X:logToConsole --targetType=OVA --compress=9 vi://[username]:[ESX address]/[foldername if exist]/[vmname no vmx file name required] [target address]
私はこれと全く同じ問題を抱えていました。私の場合、VMXファイルを開き、IDEとサウンドコントローラーをファイルから削除して保存しました。その後、標準の構文のツールを使用してすべてをOVAに変換できました。
例えば落とした:
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-image"
そして:
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
これにより、通常のようにファイルを変換できました。
私にとって.vmxを開いて次の行を削除するとうまくいきました:
sata0:1.deviceType = "cdrom-image"
私の場合、これはうまくいきます:
ide1:0.present = "TRUE"
ide1:0.deviceType = "cdrom-image"
私はtrue
をfalse
に変更し、cdrom-image
は存在しません。この変更により、フォーマット変換が可能になります。