2013年8月8日木曜日

Hyper-Vの仮想ディスク(.vhd)を誤って拡張し、差分ディスクのチェーンが切れてしまった場合の対処方法

Hyper-VやVirtual PC、Virtual Serverの仮想マシンで差分ディスクがあるのに親のVHDを拡張してしまうミスをしてしまうことがあります。(親の仮想ディスクは「読み取り専用」にしておくと保護に役立つでしょう。)
この場合、親と子の仮想ディスク(.vhd)のチェーンが切れてしまい、差分ディスクの情報が一切参照できなくなってしまいます。

もしそうなってしまった場合は、以下の方法で復旧可能です。(Windows Server 2012で導入された.vhdxでは使えないかもしれません。)



まず、VhdTool.exeをダウンロードします。

VhdTool.exe
http://archive.msdn.microsoft.com/vhdtool/Release/ProjectReleases.aspx?ReleaseId=5344

2
コマンドプロンプト上でVhdTool.exeをrepairオプション付きで実行し、拡張前の容量に戻す。
VhdTool.exe /repair 親ディスクのパス 差分ディスクのパス

Repair: 親ディスクを拡張による差分チェーンの破損を復旧します。
        親ディスクを以前のサイズに戻します。
        これにより拡張した部分のデータが消失する可能性があります。

3
差分チェーンを復元する。
容量を戻すだけなので、別途「ディスクの検査」で「再接続」ボタンを押下し、差分チェーンの再接続を実行する必要がある。




--------------------
以下のツールでもディスクのサイズを拡張前に戻すことができるが、識別子が書き換えられてしまうため差分チェーンの復元はできない。
このツールはディスクの縮小ができるので、普通の用途では便利だと思う。

VhdResize
http://engineer-memo.com/blogs/engineer-memo/archive/2010/08/10/379.aspx


--------------
Hyper-V 差分ありの親VHDXファイルをアクセスし破損させた場合の対処法
http://nasunoblog.blogspot.jp/2013/07/hyper-v-vhdx-broken.html


0 件のコメント:

コメントを投稿