VirtualBox のマウントエラー

VirtualBox の「マウント」というのは私が作った言葉ですが、他にいい言葉が見つからなかったので適当に作りました。
Linux mint の VirtualBox に Windows xp やら Windows 7 を入れていろいろ実験してみたのですが、うまくいかないと最初からクリーンインストールというのを繰り返していました。 VirtualBox に Windows を iso イメージからインストールするのは10分くらいでできるので、どん詰まったらクリーンインストールすればいいのです。

しかし、そのうちさすがにクリーンインストールが面倒になって、そのバックアップを取ったりして、 その後にまた新たにインストールし直すと以前のバックアップを使えなくなることに気付きました。

Window 7 では簡単なアプリをインストールしただけでも、全体で 25 GB にもなるのでバックアップファイルを使えないと非常に面倒です。 しかも、「WorldVoice 英語2」を何回もインストールし直すとインストールの回数が上限ですとか警告が出ます。 もうこれ以上やってると、同じものをもう1つ購入せざるを得なくなるかもしれません。

「the same UUID as an existing virtual machine」というエラー

Windows 7 をインストールしてそのファイル全体をバックアップして、その後に一度 win 7 を除去してから再びクリーンインストールをすると出現するエラーです。 ああ、それはそうかなと思いました。さすがは Oracle。
このエラーを見た時わけがわからなかったので、もうバックアップファイルを使うのは無理だと思いました。しかし上に書いたような理由で、それでは非常に困るのです。

そこで、ネット検索して解決できないかといろいろ探してみました。 で、多くのサイトが推奨しているのが このサイト
そこでやってみました。以下の「win7.vdi」の UUID を変更してみます。

カレントディレクトリを合わせて

VBoxManage internalcommands sethduuid win7.vdi

とすると、UUID が変更されますがやはりマウントできません。
でエラーを見ると

UUID {67311131-ede5-4df5-aa8a-09a01139a173} of the medium 
'/home/user/VirtualBox VMs/win7/win7.vdi' does not match the value 
{f5ec7797-247f-4fbf-a199-50cf7f9babba} stored in the media registry 
('/home/user/.config/VirtualBox/VirtualBox.xml').

win7.vdi does not match the value {xxxxx} stored in the media registry というエラー

乱数発生させたような UUID と記録されている UUID は違いますよという意味かと思います。ということは、UUID を一致させればいいことになります。 記録されているのは {f5ec7797-247f-4fbf-a199-50cf7f9babba} と書かれているのでこれと同じ UUID にすればいいんでしょう。でもどうやって?

ネット検索せずに以下のようにしたらアッサリと UUID を希望通りに変更できました。当てずっぽうでやってみるのが私の癖なのですが、今回は正解。

VBoxManage internalcommands sethduuid win7.vdi f5ec7797-247f-4fbf-a199-50cf7f9babba

これができるのであれば VirtualBox は本当に便利ですね。
多分全体をエクスポートすれば、他のマシンにも持っていけるのではないかと思います。Oracle はあまり詳しい訳ではありませんが、この辺は Oracle らしくない?

「1つ以上のディスクイメージに現在アクセスできません」という警告

Windows 7 をマウントすることはできたのですが、上のような警告が出ます。 ただしこれはエラーではなくて警告のようでうまく操作すれば Windows 7 を起動して操作することはできます。
しかし、上の図で「次回からこのメッセージを表示しない」にチェックして「無視」を押すと「Fatal error」で Windows 7 が起動できなくなるようです。

それでも、一度 Windows 7 を除去してエクスポートしておいた win7.ova をインストールすると上の警告は消えるようです。

なお、「仮想アプライアンスのエクスポート」を実行すると、29 GB あるシステム全体が 15 GB の win7.ova というファイルになってエクスポートされます。 おそらく、システム全体の圧縮されたエクスポートファイルかと思うので、まだ実験していませんが他のマシンに持っていけるのではないかと思います。

(2018年4月2日)