既存の仮想マシンと同じUUIDを持つVM構成を開こうとしています


26

最初に同じソースから(単純なファイルコピーを介して)コピーされた2つのVirtualBox仮想マシンを追加しようとすると、2番目の仮想マシンを追加するときにメッセージが表示されます

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(はい、マシンは単純なファイルコピーではなくクローン化されているはずですが、この時点では手遅れです。)

回答:


40

VBoxManage internalcommands sethduuid <VDI/VMDK file>(VBoxインストールディレクトリから実行)を使用してHD UUIDを変更できますが、これには2つの欠点があります:.vboxファイルを更新せず、マシンUUIDを変更しません(VBoxManageでこれを行う方法が見つかりませんでした)、HD UUIDのみ。

次は私のために働いた(Win 7、最新のVirtualBoxバージョン):

  1. VBoxManage internalcommands sethduuid <VDI/VMDK file> 2回実行します(最初はUUIDを便利に生成するためだけで、代わりに他のUUID生成方法を使用できます)
  2. .vboxテキストエディターでファイルを開く
  3. で見つかっ<Machine uuid="{...}"たUUIDをsethduuid、最初に実行したときに取得したUUIDに置き換えます
  4. 置き換えUUIDがで見つかった<HardDisk uuid="{...}"として<Image uuid="{}"あなたが実行したときに得たUUIDと(終わりに向かって)sethduuid二度目に

その後、仮想マシンを追加できます。あまりきれいな解決策ではありませんが、問題を引き起こすことはないようです。


1
これはうまくいきましたが、手動でコピーしていたDVDをVMに「挿入」しました。.vboxファイルを編集したとき、重複したUUIDでDVDを「イジェクト」するように変更<DVDImages>...</DVDImages>する必要があり<DVDImages />ました。
JPhi1618 14

VMにスナップショットがある場合は、「Snapshots」フォルダー内のvdiファイルでも同じ手順を実行する必要があることに注意してください。
ローレン

6

もっと簡単な方法を見つけました。

既存の仮想マシンのクローンを作成します。これにより、おそらく新しいUUIDで新しいバージョンが作成されますが、他のすべての点では同じマシンです。

次に、追加するファイルを\ user(your name)\ Virtual Box VMs \(または仮想マシンの場所)にコピーし、そこにある既存のファイルをすべて上書きして、既存のマシンを置き換えます。

念のため、最初に既存のマシンをバックアップしますが、ここでは問題なく動作しました。これを使用して、既存のバージョンをクローンとして保持しながら、VMの以前のバックアップに戻ります。


十分なディスク容量がある場合、これが最も簡単な方法です、ロバートに感謝します。
sddk

いずれかがこれを行う場合-vboxファイルに、ハードウェアuuidタグがマシンuuid :: <hardware uuid = "{...}">と一致することを確認する必要があります。すべての問題。<hardware uuid = "{...}">
StixO

2

これは古い投稿であることがわかりましたが、このエラーに出くわしました。私はそれを解決しました:

  1. Virtual Box Managerを開く
  2. Virtual Box Managerで仮想マシンを右クリックします
  3. 「削除」をクリックします
  4. ポップアップが表示されます。「削除のみ」を選択すると、Virtual Box Managerから仮想ボックスのすべてのトレースが削除されます。
  5. Virtual Box Managerを閉じます
  6. Linuxファイルマネージャーを使用して、仮想マシンを含むフォルダーを参照します
  7. .vmdk仮想ハードディスクファイルを除くすべてを削除(または移動)
  8. Virtual Box Managerを開く
  9. 「マシン」をクリックします
  10. 「新規」をクリックします
  11. 新しいマシンに名前を付けます(最初に使用したのと同じ名前を使用しました)

    注:マシンの名前は仮想マシンを含むディレクトリの名前になりますので、賢明に選択してください。また、.vmdkファイルを新しいディレクトリに配置する場合は、Virtual Boxで追加の手順を実行することに注意してください。マネージャー

  12. 問題が発生した仮想マシンの適切なタイプとバージョンを選択し、「次へ」をクリックします
  13. 仮想マシンに割り当てるメモリサイズを選択し、[次へ]をクリックします
  14. [既存の仮想ハードディスクファイルを使用]を選択し、その場所を参照して選択します
  15. 「作成」を選択します

そこからプロンプトに従い、仮想マシンを起動します。

すべてが正常に実行され、ウィンドウの再アクティブ化などは必要ありません。


1

また、既存のマシンのクローンを作成し、設定に移動して、以前にコピーした.vmdkを使用するようにストレージを変更することもできます。


1

このエラーのために起動できない場合は、「Oracle VM VirtualBox Manager」からエントリを「削除...」するだけです。これにより競合が解消され、VMを新しい場所から開くことができます。

...その時点で、意図したとおりにクローンを実行できます。私の場合、VMの元の場所をこれ以上必要としていないため、追加の作業は必要ありませんでした。


これは最も単純なソリューションであり、それだけでなく、機能します。
shmu

-1

ユーザーTGRはそれを正しく行いましたが、さらに1つの変更を加える必要がありました。vboxXMLでは、イメージuuidを変更して、ハードディスクuuid(コマンドラインで生成された2番目のUUID)に一致させる必要がありました

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>

-1

私は他のどの方法よりも簡単な方法を見つけました。Virtual Boxインターフェースから仮想マシンを削除するだけです(VMのファイルを削除するかどうかを尋ねられた場合、NOT!と応答するか、VMを失います)。そして、.vboxファイルに移動し、それを(Virtual Boxで)開きます。(VMを削除しながら)UUIDを削除したため、動作するはずです。少なくともそれは私のために働いた...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.