Windows 7 で仮想ハードディスクを取り扱う

SOFTWARE REPORT


仮想ハードディスク

仮想ハードディスク (Virtual Hard Disk Drive) とは、ハードディスク上のファイルをあたかも実際のハードディスクのように利用する仕組みです。

これを効果的に用いているものに仮想化技術というものがありますが、ひとつの大きなハードディスクを複数のハードディスクに分割して、それらを複数の仮想 PC で利用する、といったことが可能になります。

他にも、ディスクの移動や交換がファイルのコピー作業程度で済むようになるため、バックアップや複製といった作業が非常に単純化されるというメリットもあると思います。

 

Windows 7 や Windows Server 2008 R2, Hyper-V Server 2008 R2 でも、標準で仮想ハードディスクがサポートされるようになりましたので、その利用方法について、ひと通り確認しておくことにします。

なお、Windows Server 2008 (R1) では、仮想ハードディスクはサポートされていない様子です。

 

仮想ハードディスクを操作する

仮想ハードディスクは、拡張子が .VHD として割り当てられたファイルです。

このファイルを扱うためには、Windows 7 や Windows Server 2008 R2 に搭載されている DISKPART コマンドを利用することになります。

diskpart

コマンドプロンプトから上記命令を実行したうえで、そのコンソール上で各種作業を行います。

仮想ハードディスクを作成する

容量可変の 1GB 仮想ハードディスク "Disk1.vhd" を作成する場合、次の命令を実行します。

create vdisk file="C:\Temp\Disk1.vhd" maximum=1000 type=expandable

容量固定の 100MB 仮想ハードディスク "Disk2.vhd" を作成する場合には、次の命令になります。

create vdisk file="C:\Temp\Disk2.vhd" maximum=100 type=fixed

また、次のようにして、既存の仮想ハードディスク "Disk1.vhd" と同じ内容の仮想ハードディスク "Disk3.vhd" を作成することも可能です。

create vdisk file="C:\Temp\Disk3.vhd" source="C:\Temp\Disk1.vhd" type=fixed

この時、type 引数を使用して容量の可変と固定を指定しますが、これを指定しないと固定ディスクとして作成されるので注意しましょう。また、maximum 引数による容量の変更はできません。

仮想ハードディスクをマウントする

直前に CREATE VDISK によって作成された仮想ハードディスクは、次のようにしてマウントできます。

attach vdisk

作成済みの別の仮想ハードディスクをマウントする場合には、次のような流れになります。

select vdisk file="C:\Temp\Disk2.vhd"

attach vdisk

ここで、"\\ServerName\SharedFolder\Disk.vhd" というように、ネットワークのパスを指定することも可能です。

Hyper-V Server 2008 で作成した VHD ファイルもマウントすることができるので、データのバックアップを取得する場合や、ディスクを拡張したい時などに便利かもしれません。

マウントされている仮想ハードディスクを確認する

マウントされている仮想ハードディスクを確認するには、次の命令を実行します。

list vdisk

このようにすると、次のような一覧が画面上に表示されます。

仮想ディスク ### ディスク ### 状態 種類 ファイル
仮想ディスク 0 ディスク 3 追加済み 固定 C:\Temp\Disk3.vhd
仮想ディスク 1 ディスク 4 アタッチされたディスクは開いていません 拡張可能 C:\Temp\Disk1.vhd

ここで、状態に "アタッチされたディスクは開いていません" と表示されてしまうものがありますが、とりあえず、そのままでも普通に利用することが出来る様子です。

仮想ハードディスクにパーティションを作成する

仮想ディスクにパーティションを作成するには、まず、その仮想ハードディスクが何番のディスクとしてマウントされているかを知る必要があります。

それを確認するためには "LIST VDISK" を使用します。

そして、表示された情報の中から "ディスク ###" 欄のディスク番号を確認したら、次のようにしてそのディスク番号を選択し、パーティションの作成からフォーマット、ドライブレターの割当を行う流れになります。

select disk 3

create partition primary

format fs=ntfs label="VHD3" quick

assign letter=K:

これで、"ディスク 3" として割り当てられた "仮想ディスク 0" が、NTFS フォーマットされて、K: ドライブとして利用することが出来るようになりました。

 

なお、仮想ハードディスクに Windows 7 をインストールして、起動ディスクとすることも可能だそうです。

試していないので詳しいことは判りませんけど、Windows 7 インストールの最初の画面で [Shift] + [F10] をクリックしてコマンドプロンプトを起動したら、上記の方法で仮想ハードディスクを作成してアタッチすれば、仮想ハードディスクへのインストールも可能のようです。

この時は、フォーマット (FORMAT) やドライブレターの割り当て (ASSIGN) は、Windows 7 のインストーラーが行ってくれるので必要ありません。

仮想ハードディスクをアンマウントする

マウントした仮想ハードディスクをアンマウントしたい場合には、次のようにします。

select vdisk file="C:\Temp\Disk1.vhd"

detach vdisk

これで、仮想ハードディスク "C:\Temp\Disk1.vhd" をアンマウントすることができます。