コピーしたVM を追加しようとしたら、エラーがでる。 uuid ってのがVM のハードディスクみたいなやつの識別ID でこれが「おんなじやつがある!」ってエラーのようです。
仮想マシン"H:/WindowsServer2016 Windchll/WindowsServer2016 Windchll.vbox"を開けませんでした。
Trying to open a VM config 'H:/WindowsServer2016 Windchll/WindowsServer2016 Windchll.vbox' which has the same UUID as an existing virtual machine.
終了コード : E_FAIL (0x80004005)
コンポーネント: MachineWrap
インターフェース: IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}
呼び出し先: IVirtualBox {d0a0163f-e254-4e5b-a1f2-011cf991c38d}
which has the same UUID as an existing virtual machine
エラーの再現手順。
ツール> ようこそ>「追加」をクリック。
図1: VirtualBox マネージャーのメイン画面。VM 一覧の下に「ようこそ」画面が表示されており、「追加(A)」ボタンをクリックしようとしている。
「.vbox」ファイルを選択。
図2: 「仮想マシンファイルを選択」ダイアログ。「WindowsServer2016 Windchll.vbox」ファイルが選択されている。
エラーが出る。
図3: VirtualBoxのエラーダイアログ。「仮想マシン”H:/WindowsServer2016 Windchll/WindowsServer2016 Windchll.vbox”を開けませんでした。…which has the same UUID as an existing virtual machine」というエラーメッセージと、終了コード「E_FAIL (0x80004005)」、コンポーネント「MachineWrap」が表示されている。
UUID を確認。
エディタで開いてヘッダーを見たいところですが、ファイルが大きくて、開かないので、一旦HDD メディアとして登録する。
ツール> メディア>「追加」
図4: VirtualBox マネージャー画面。メニューの「メディア(M)」項目が赤枠と矢印で示されている。
図5: VirtualBox メディアマネージャー画面。既存の .vdi ファイル一覧が表示されており、「追加(A)」ボタンが赤枠で示されている。
「.vdi」ファイルを選択。
図6: 「仮想ハードディスクファイルを選択してください」ダイアログ。「WindowsServer2016 Windchll.vdi」ファイルが選択されている。
エラーメッセージにUUDI が表示されている。
図7: VirtualBoxのエラーダイアログ。「Cannot register the hard disk…because a hard disk…with UUID {a49854c8-…} already exists」というエラーメッセージ(E_INVALIDARG)が表示され、重複しているUUIDが確認できる。
重複しているVM を特定する。
UUID が分かれば、重複しているVM も特定できる。
「検索」をクリックし。 「UUID で検索」に切り替えて、エラーのID を検索すると、重複しているマシンのHDD を特定できた。
図8: VirtualBox メディアマネージャー画面。「検索(S)」ボタンが赤枠と矢印で示され、「UUID で検索」欄にエラーで表示されたUUID「a49854c8-9a78-」を入力した結果、ディスクツリー内で該当する「WindowsServer2016 Windchll.vdi」がハイライトされている。
「プロパティ」をクリックして、「属性」、「情報」タブなどの情報から、UUID が使われているVM を特定します。
図9: 同じくメディアマネージャー画面。「プロパティ(P)」ボタンが赤枠で示され、「属性」「情報」タブに該当ディスクの場所やサイズなどの詳細情報が表示されている。
解決策
解決策は、どちらかの「UUID」を変更して、重複を回避することです。 その一番簡単で安心な方法は、「片方のVM をクローン化してオリジナルを削除する。」だと思います。
重複しているVM を一旦除去。
重複先のVM が判明したので、一旦VM マネージャーのリストから除去します。
テーブルからVM 名を右クリック(メニュー)>「除去」をクリック。
図10: VirtualBox マネージャー画面。「WindowsServer2016 Windchll (install done..)」VM を右クリックしたコンテキストメニューが開いており、「除去(R)…」項目が赤枠で示されている。
「除去のみ」を選択。
図11: 「VirtualBox – 質問」確認ダイアログ。「以下の仮想マシンを除去しようとしています: WindowsServer2016 Windchll」というメッセージとともに、「すべてのファイルを削除」「除去のみ」「キャンセル」の3つの選択肢が表示されている。
UUID を変更したいVM を登録。
除去が出来たら、 ツール> ようこそ>「追加」をクリック。
図12: VirtualBox マネージャー画面。一覧表示切替のドロップダウンから「ようこそ」メニュー項目が赤枠と矢印で示されている。
図13: VirtualBox マネージャーの「ようこそ」画面。「追加(A)」ボタンが赤枠で示されている。
エラーが出て登録できなかった「.vbox」ファイルを選択。
図14: 「仮想マシンファイルを選択」ダイアログ。先ほどエラーで登録できなかった「WindowsServer2016 Windchll.vbox」ファイルが選択されている。
リストに追加できました。
図15: VirtualBox マネージャー画面。「WindowsServer2016 Windchll (install done..)」のツールチップが表示され、システム・ストレージ・ネットワークなどの詳細情報とともに、VM が正常に再登録できたことが確認できる。
追加したVM をクローン化して、UUID を変更。
リストからVM 名を選択して右クリック(メニュー)>「クローン」を選択。
図16: VirtualBox マネージャー画面。VM を右クリックしたコンテキストメニューが開いており、「クローン(O)…」項目が赤枠で示されている。
名前:適当に(わかりやすいと良いと思いますが、好きな名前で。)
パス:適当に(空き容量が十分にある場所を指定。) ※少なくともクローン元のVM フォルダのサイズより空き容量が多い場所。
クローンのタイプ:すべてをクローン
スナップショット:すべて
追加オプション:「ハードウェアUUID を保持」のチェックを外す。
図17: 「仮想マシンのクローン」ダイアログ。名前は「WindowsServer2016 Windchll のクローン」、パスは H:、クローンのタイプは「すべてをクローン(F)」、スナップショットは「すべて(E)」に設定されており、追加オプションの「ハードウェアUUIDを保持(H)」チェックボックスは外されている。
ひたすら待ちます。(VM のサイズと、ハードウェアの性能次第。)
図18: クローン作成の進行状況ダイアログ。「Cloning Disk ‘WindowsServer2016 Windchll.vdi’…(2/90)」と表示され、進捗は0%。
クエストでもやりながら待ちます。
図19: FFXIV(ファイナルファンタジーXIV)のゲーム画面。クエストログに「海都と砂都と」と表示されたフィールドエリアで、クローン作成を待つ間にゲームをプレイしている様子。
そろそろ終わりそうです。
図20: クローン作成の進行状況ダイアログ。進捗は85%まで進み、「残り時間9分」と表示されている。
もう少し、クエストを進めます。
図21: FFXIVのゲーム画面。先ほどとは別の、通路状のダンジョンエリアでのプレイ画面。
クローンが完成しました。
図22: VirtualBox マネージャー画面。作成が完了したクローン「WindowsServer2016 Windchllのクローン (SQL Server 2017 installed..)」が選択されており、スナップショットツリーが表示されている。
オリジナルと見比べて、スナップショットなど、想定通りになっているか確認します。 欲を言えば、起動確認なんかもしておいた方がいいかも。
図23: VirtualBox マネージャー画面。クローン元のオリジナル「WindowsServer2016 Windchll (SQL Server 2017 installed..)」が選択されており、クローンと同じ構成のスナップショットツリーが表示され、比較できるようになっている。
クローン元のオリジナルを除去。
クローンに問題がなければ、オリジナルを除去します。
図24: VirtualBox マネージャー画面。オリジナルの「WindowsServer2016 Windchll (SQL Server 2017 installed..)」を右クリックしたコンテキストメニューが開いており、「除去(R)…」項目が赤枠で示されている。
「すべて削除」を選択すれば、リストから除去されるだけでなく、ハードディスク上からもデータが削除されます。 (どのオプションで除去するかは任意です。 クローン化に問題があっても、自己責任なので、大事なデータなのであれば、「除去のみ」にしておいてデータは残しておいた方がいいでしょうね。)
図25: 「WindowsServer2016 Windchll: Deleting files」というファイル削除の進行状況ダイアログ。スナップショットファイルが削除されている様子で、進捗は82%(24/28)。
一旦除去したVM を再追加。
この時点で、UUID が重複しているVM がなくなりましたので、一旦除去したVM をもとに戻します。
ツール> ようこそ>「追加」 から、「.vbox」ファイルを選択。
図26: 「仮想マシンファイルを選択」ダイアログ。UUID の重複が解消された「WindowsServer2016 Windchll.vbox」ファイルが選択されている。
再登録できました。
図27: VirtualBox マネージャー画面。VM が一覧に再登録され、「WindowsServer2016 Windchll (install done…)」として選択状態で表示されている。
(Visited 2,855 times, 1 visits today)