Windows 7のWindows Virtual PCやWindows Server 2008 R2のHyper-Vなどの仮想化ソフトウェアでは、仮想マシンで利用するための「仮想ハードディスク(VHDファイル)」と呼ばれるファイルを使用する。このファイルの中には、仮想マシンで利用するハードディスクのイメージが1つのファイルとして保存されており、1つのボリューム上に複数のOSがインストールできたり、VHDファイルをコピーすることでディスク・イメージのバックアップができたりするというメリットがある。
Windows 7/Windows Server 2008 R2では、VHDファイルの直接アクセスがサポートされており、VHDの作成や読み書きが可能なほか、EnterpriseとUltimateの2つのエディションではVHDファイルからブートできる機能がサポートされている(Windows Server 2008 R2はすべてのエディションでVHDファイルからのブートをサポートしている)。これにより、Windows 7 EnterpriseやUltimateのシステム・イメージが含まれたVHDファイルからの起動(VHDブート)が可能である。
C:\> vhdtool /create test.vhd 40000000
Status: Creating new fixed format VHD with name "test.vhd"
Status: Attempting to create file "test.vhd"
Status: Created file "test.vhd"
Status: Set the file length
Error: Unable to set valid data length with error:
VHD ToolによるVHDファイルの作成例
40000000bytes(約38Mbytes)のVHDファイルを作成してみた。「Unable to set valid data length with error」というエラーが表示されるが、VHDファイルは問題なく作成できている(このエラーについては、MSDN Code GalleryのVHD Toolページの[Discussions]タブの中でも質問が出ているが、原稿執筆時点では明確な回答は得られていない)。作成するだけの空きディスク領域がない場合もエラーとなる。