※この話はVirtualboxのコマンドラインvboxmanageを理解されている方だけにしておいた方が無難です。最悪今のVirtualBoxを壊す事になりかねません。注意してください。
皆さんVirtualbox使ってますか?
私はHostがWindows10x64ProでguestもWindows10x64Proを利用しています。
自分はメイン環境はあまり汚したくないのと、virtualboxの便利機能「snapshot」があることで、やり間違えたと思ったらシャットダウンして、snapshotから元に戻してから再度チャレンジと便利に使わせてもらっています。
しかし形あるものいつか壊れる。
私のHDDも「調子悪いなぁ」と思っていたらやはりセクタ不良。幸い動ける位にはなんとかなったもののVM辺りがどうも怪しい。
というわけで今取れるデータは全てバックアップしHDDを取り替えました。
HostOSはすんなりライセンス認証してもらったものの壊れたVMのDiskはやはり壊れたまま。起動できません。.vboxは残ってあったのでDiskを一から作り直ししました。
vboxさえ残っていればDiskは新しく作り直しできるのです。
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createhd --filename <絶対パス\filename> --size <megabyte>
filenameには絶対パスを付与して作成します。
それをVirtualboxマネージャーで古いHDDをデタッチし、新しいHDDをアタッチさせます。
その後Windowsを入れなおします。HardwareUUIDが一緒のはずなのでデジタル認証も問題なく通りました。
逆に言えば
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" showvminfo <VM名>
の出す情報をどこかにバックアップするべきです。HardwareUUIDが残っていれば復旧できるのです。
新規作成したVMにhardwareuuidをセットするには以下のコマンド
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm <VM名> --hardwareuuid <取っておいたshowvminfoのhardwareuuid>
あとは可能な限り取っておいたshowvminfoに記載のある設定に変更していきます。CPUの数とかNICの設定とかMACアドレスとかですね。
VDIは変えると動かなくなる危険もあるので避けた方がよさそうです。
コメント