Windows 7/Windows Server 2008 R2でVHDファイルを直接マウントするTech TIPS

VHDファイルは、仮想マシン環境でのみ利用可能なファイルであるため、VHDファイル内のデータを取り出すのは簡単ではない。Windows 7やWindows Server 2008 R2では、VHDファイルを直接マウントしてアクセスできる。

» 2009年11月06日 05時00分 公開
[小林章彦デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象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の接続]メニューを選択する。
  (2)[仮想ハードディスクの接続]ダイアログでマウントしたいVHDファイルを指定する。

VHDファイルをマウントした後の[ディスクの管理]ツール VHDファイルをマウントした後の[ディスクの管理]ツール
VHDファイルがマウントされると、「ディスク 1」が追加される。この画面の例では、VHDファイルに2つのパーティションが含まれていたため、D:ドライブとF:ドライブにそれぞれマウントされた。
  (1)マウントされたVHDファイル。この例では、D:ドライブとF:ドライブにそれぞれマウントされている。VHDファイルの場合、ディスクドライブのアイコンが青色になる。

マウントしたVHDファイルを開いたWindowsエクスプローラの画面 マウントしたVHDファイルを開いたWindowsエクスプローラの画面
マウントされたVHDファイルのF:ドライブをWindowsエクスプローラで開いたところ。このようにVHDファイルの中を、Windowsエクスプローラなどで操作可能になる。

 これで、通常のハードディスクと同様、VHDファイルの中のデータなどにアクセス可能になる。「読み取り専用」のチェックを入れずにマウントしておけば、VHDファイルにデータなどを書き込むことも可能だ。

 マウントしたVHDファイルをアンマウント(切断)するには、[ディスクの管理]ツールのVHDファイル(ディスク1など)を右クリックし、メニューから[VHDの切断]を選択すればよい。[仮想ハードディスクの切断]ダイアログが開くので、[ディスクの削除後に仮想ハードディスクファイルを削除する]のチェックが外れていることを確認して、[OK]ボタンをクリックする。ここにチェックが入っていると、VHDファイルも削除されてしまうので注意が必要だ。

[ディスクの管理]ツールでVHDファイルをアンマウントする [ディスクの管理]ツールでVHDファイルをアンマウントする
VHDファイルをアンマウントするには、VHDファイルをマウントしたディスク(この例では「ディスク 1」)を右クリックして、メニューから[VHDの切断]を選択する。
  (1)[VHDの切断]メニューを選択する。
  (2)[仮想ハードディスクの切断]ダイアログが開くので、[ディスクの削除後に仮想ハードディスクファイルを削除する]のチェックが外れていること確認して、[OK]ボタンをクリックする。

●diskpartコマンドを利用する方法

 コマンドに慣れている人は、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



「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。