この記事では、シェルスクリプトを使用して vmware.log ファイルから .vmx ファイルを再作成する手順を説明します。
仮想マシンの .vmx ファイルが見つからない場合、または構成情報が失われている場合は、.vmx ファイルを再作成し、その内容を復元します。
VMware vSphere ESXi
(vCenter Server VM の場合のみ、 Re-creating vCenter VM's vmx file when vmware.log is missing を参照してください。)
vmware.log ファイルから情報を解析するシェルスクリプトを使用して仮想マシンの .vmx ファイルを再構築します:
Notes
touch vmxrebuild.sh && chmod +x vmxrebuild.shvi vmxrebuild.shESC を押して :wq! と入力し保存/書き込みを行い、エディタモードを終了します。 VMXFILENAME=$(sed -n 's/^.*Config file: .*\/\(.\+\)$/\1/p' vmware.log)echo -e "#\041/usr/bin/vmware" > ${VMXFILENAME}echo '.encoding = "UTF-8"' >> ${VMXFILENAME}sed -n '/DICT --- CONFIGURATION/,/DICT ---/ s/^.*DICT \+\(.\+\) = \(.\+\)$/\1 = \2/p' vmware.log >> ${VMXFILENAME}VMXFILENAME=$(sed -n 's/^.*Config file: .*\/\(.\+\)$/\1/p' vmware.log)echo -e "#\041/usr/bin/vmware" > ${VMXFILENAME}echo '.encoding = "UTF-8"' >> ${VMXFILENAME}sed -n '/DICT --- CONFIGURATION/,/DICT ---/ s/^.*DICT \+\(.\+\) = \(.\+\)$/\1 = "\2"/p' vmware.log >> ${VMXFILENAME}uuid.location が変更された場合は、このコマンドを実行して新しい UUID を取得してください。それ以外の場合は、手順 3 と手順 4 をスキップしてください。NEWUUID=$(sed -n "s/^.*UUID: Writing uuid.location value: '\(.\+\)'.*$/\1/p" vmware.log).vmx ファイル内の古いUUIDを新しいUUIDに置き換えるには、次のコマンドを実行してください。if [ "${NEWUUID}" ] then sed -i "s/uuid.location = .*$/uuid.location = \"${NEWUUID}\"/" ${VMXFILENAME} fi ./vmxrebuild.sh詳細については、Recreating a lost or deleted vmx file を参照してください。
このドキュメントが更新されたときに通知を受け取るには、[Subscribe] ボタンをクリックします。