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 よっき (全て見る)
- 「圧着」と「圧接」の違い!コネクタを使った効率的な配線作業! - 2019年10月26日
- 夏の暑さ対策は大丈夫?冷却性能抜群のおすすめCPUクーラー!メモリに干渉しない最強の商品を紹介! - 2018年5月1日
- 自作PC弐号機のケースを換装!SilverStone製のミニタワーで冷却性とかっこよさを追求! - 2018年3月11日
スポンサードリンク
こちらの記事もどうぞ!
記事公開日:2016年6月4日