VirtualBoxのVHDをコピーして起動したらエラー!UUID重複を回避する魔法のコマンドとは?
久々にOracleのVirtualBoxを使おうと思って、
OSインストール済みのVHDをコピーして使いまわそうとしたらエラーが出て仮想マシンを起動できませんでした。
何か設定ミスでもしたのか考えてみるものの、特に身に覚えもありません。
普通に元あるLinuxをインストールしたVHDをコピーして、
新しい仮想マシンとして作成しようとしただけです。
ちなみにエラーコードはE_INVALIDARG (0x80070057)というものです。
E_INVALIDARG (0x80070057)とは?
エラーコードについて調べてみると、UUIDに関する重複のエラーということらしいです。
UUID、確かソフトウェア上でファイルやフォルダなどのオブジェクトを一意に識別するための識別子だった気がします。エラーメッセージにも「UUID already exsits.」とあるので、完全に競合しているということになります。
VHDのUUIDが重複していることがエラー原因
UUID(Universally Unique Identifier)とは、ソフトウェア上でオブジェクトを一意に識別するための識別子です。UUIDは128ビットの数値だが、通常は16進数で 550e8400-e29b-41d4-a716-446655440000 のように表現します。
もちろんVHDなどの仮想ハードディスクも例外ではなく、
Virtual Box側でUUIDを識別して仮想マシンを管理しているようです。
となれば手動でUUIDを変更してあげなければならないということですね。
実はVirtual Box側にはUUIDを操作する魔法のコマンドがあるようで、今回はそれを使っていきたいと思います。
VHDのUUIDを変更するコマンド
1 2 3 4 | > cd C:\Program Files\Oracle\VirtualBox > VBoxManage.exe -nologo internalcommands sethduuid "C:\Users\{ユーザフォルダ}\VirtualBox VMs\{仮想マシン}{仮想ドライブ名}.vhd" UUID changed to: 4f817f3a-cc68-432f-b63b-cf395f977100 |
コマンドプロンプトで上記のコマンドを実行して、
UUID changedから始まるメッセージが表記されれば処理は完了です。
たったこれだけのコマンドでUUIDを変更することができます。簡単ですね。
再度VirtualBoxでVHDを指定しても特にエラーはでなくなりました。
最新記事 by よっき (全て見る)
- 「Corsair Dominator Titanium DDR5」が描く、自作PCメモリの『美学』と『性能の極致』 - 2026年10月16日
- 「LPCAMM2」が拓く、自作PCメモリの『新時代』と『設計の革命』 - 2026年10月15日
- CXMT 4F²アーキテクチャ DDR5 RDIMMが拓く、メモリ革命の『深淵なる設計思想』 - 2026年10月15日
スポンサードリンク
こちらの記事もどうぞ!
記事公開日:2016年6月4日





