VHDファイルは、仮想マシン環境でのみ利用可能なファイルであるため、VHDファイル内のデータを取り出すのは簡単ではない。Windows 7やWindows Server 2008 R2では、VHDファイルを直接マウントしてアクセスできる。
対象OS:Windows 7 / Windows Server 2008 R2
Virtual PCやHyper-Vなどの仮想化ソフトウェアでは、ホストOSやハイパーバイザが管理する物理ハードディスクのファイルシステム内に、仮想マシンが利用する「仮想ハードディスク(VHDファイル)」を作成する。VHDファイルは、ホストOSやハイパーバイザから見ると、OSイメージなどを含む1つのファイルになっており、このファイルにアプリケーションやデータなどが保存される。
仮想化ソフトウェアを起動し、仮想マシンを起動すれば、VHDファイル内のデータなどが見えるものの、ホストOSやハイパーバイザからVHDファイルを直接操作する方法はなかった。そのため、例えばゲストOS上のデータが必要な場合、いちいち仮想マシンを起動し、データをネットワーク共有ドライブなどにコピーする、といった手順が必要であった。
しかしWindows 7/Server 2008 R2からは、VHDファイルを直接マウントし、通常の物理ディスクと同様にアクセスすることが可能になっている。そこで、本稿では、Windows 7/Server 2008 R2において、VHDファイルをマウントする方法を紹介する。
VHDファイルをマウントするには、[ディスクの管理]ツールを利用する方法と、diskpartコマンドを利用する方法の2つがある。
手軽なのが、GUIで操作可能な[ディスクの管理]ツールを利用する方法だ。[スタート]−[プログラムとファイルの検索]に「diskmgmt.msc」と入力して、[ディスクの管理]ツールを起動する。
[ディスクの管理]ツールの[操作]−[VHDの接続]メニューを選択し、[仮想ハードディスクの接続]ダイアログにマウントしたいVHDファイルを指定、[OK]ボタンをクリックする。これでVHDファイルが、空いているドライブレターでマウントされる。
これで、通常のハードディスクと同様、VHDファイルの中のデータなどにアクセス可能になる。「読み取り専用」のチェックを入れずにマウントしておけば、VHDファイルにデータなどを書き込むことも可能だ。
マウントしたVHDファイルをアンマウント(切断)するには、[ディスクの管理]ツールのVHDファイル(ディスク1など)を右クリックし、メニューから[VHDの切断]を選択すればよい。[仮想ハードディスクの切断]ダイアログが開くので、[ディスクの削除後に仮想ハードディスクファイルを削除する]のチェックが外れていることを確認して、[OK]ボタンをクリックする。ここにチェックが入っていると、VHDファイルも削除されてしまうので注意が必要だ。
コマンドに慣れている人は、diskpartコマンドを利用すると、素早くVHDファイルがマウントできるだろう。コマンドプロンプトを起動し、以下のコマンドを実行すればよい。
C:\>diskpart
DISKPART> select vdisk file="c:\vhd\test.vhd"
DISKPART> attach vdisk
DISKPART> exit
「c:\vhd\test.vhd」の部分は、マウントしたいVHDファイルをフルパスで指定する。[ディスクの管理]ツールの場合と同様、VHDファイルが空いているドライブレターでマウントされる。読み取り専用でマウントするには、「attach vdisk readonly」とする。
マウントしたVHDファイルをアンマウント(切断)するには、以下のコマンドを実行すればよい。
C:\>diskpart
DISKPART> select vdisk file="c:\vhd\test.vhd"
DISKPART> dettach vdisk
DISKPART> exit
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.