Virtual Boxのvhdファイルしかバックアップしていなかった時にリカバリする方法
はじめにお断りを入れておきます。私はVirtual Boxは詳しくありません。この記事はトラブル対処に対する自分用の記録(φ(..)メモメモ)です。以下、もしご参考になればお読みください。まず環境情報です。
環境情報
Windows 10
Oracle VirtualBox 5.2.8
Ubuntu 14.04 LTS
Oracle VirtualBox 5.2.8
Ubuntu 14.04 LTS
発生した事象
以前作成したVirtual BoxのUbuntuですが、仮想ハードディスク(vhdファイル)しかバックアップを保存していませんでした。そこで新規のUbuntuマシンを作成し、そのハードディスクを以前バックアップしておいた仮想ハードディスク(vhdファイル)に置き換えて起動しようとしたら、以下のエラーが発生しました。
仮想マシン"Ubuntu"のセッションを開けませんでした。 UUID {NGxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} of the medium 'C:\xxxx\ubuntu-ja-14.04-desktop-amd64.vhd' does not match the value {yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy} stored in the media registry ('C:\Users\XXXX\.VirtualBox\VirtualBox.xml'). 終了コード : E_FAIL (0x80004005) コンポーネント: MediumWrap インターフェース: IMedium {zzzzzzzzzzzzzzzzzzzzzzzzz}
対処方法
こういう時はググってみます。私はキーワード「virtual box」&「does not match the value」をいうキーワードで検索しました。すると同じような事に遭遇している人が沢山おられますね。どうやらコマンドラインからVBoxManage.exeを叩いてUUIDを変更すれば良いようです。
C:\>cd C:\Program Files\Oracle\VirtualBox C:\Program Files\Oracle\VirtualBox>VBoxManage internalcommands sethduuid C:\xxxx\ubuntu-ja-14.04-desktop-amd64.vhd yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
無事「UUID changed to: yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy」と表示され、無事、以前作成したVirtual BoxのUbuntuを起動する事ができました。
ちなみにネット上では「vhdファイル」ではなく「vdiファイル」に対するUUID変更の情報が多数あがっていましたが、拡張子が違うだけで両方とも同じ仮想ハードディスクのファイルです。
VDI、VHD、VMDK の違い
- [VDI] VitrualBox Disk Images
- [VHD] Virtual Hard Disk
- [VMDK] Virtual Machine Disk
以上、自分用の備忘録φ(..)メモメモでした。