VHD (ファイルフォーマット)

Virtual Hard Disk (VHD) は、ハードディスクドライブと構造的に似せているファイル形式である。VHDは多くの仮想化パッケージで様々なオペレーティングシステム（WindowsやLinux等）をインストールするために利用されている。もともとはコネクティクスの仮想マシンで利用されていたが、マイクロソフトによるコネクティクスの仮想マシンの技術を買収後、2005年6月にMicrosoft Open Specification Promiseの下でサードパーティーが利用できるVHD Image Format Specificationを策定した。

 利用 
VHDを使用して1つのホストマシンに複数のオペレーティングシステム (OS) を用意することができる。実際のハードディスクを用意するコストを抑えることができ、例えば開発者は用意した複数のOSを使用してソフトウェアのテストを行うことができる。ホストサーバー側の多くのアプリケーションは仮想マシンのVHDを直接修正する目的は以下のことを含む。

VHDとホストファイルシステム間のファイルの移動
バックアップと復元
アンチウイルスとセキュリティ
イメージの管理とパッチ
VHDから実際のディスクへの変換、または実際のディスクからVHDへの変換、その他
VHDでの供給と、ライフサイクル管理

 ソフトウェアのVHDの対応 
VHDはVirtual PCやVirtual Server、Hyper-Vといったマイクロソフトの仮想化テクノロジで使用されている。そのほかVHDに対応しているソフトウェアの一例を以下に挙げる。
シトリックス・システムズのXenでも標準で採用されている。サン・マイクロシステムズのSun xVMバージョン2とその一部であるVirtualBoxでは既定の仮想ディスクではないもののVHDに対応している。
VMware製品では、VMware製品用の仮想ドライブに変換できる。
Windows VistaのWindows Complete PCバックアップと復元のバックアップのバックアップフォーマットとして使用されている。
Windows 7とWindows Server 2008 R2では、VHDの作成・マウントに対応し、Windows 7 EnterpriseとUltimate、Windows Server 2008 R2ではマウントしたVHDからのブートにも対応している。

 サポートしている形式 
容量固定
あらかじめ決めたボリュームサイズと同等のファイルサイズで作成される。ステートレスになるため、VHDファイルのフラグメント化やメタデータ破損を防ぐことができる。また、ホスト上のファイルオフセットとゲスト上のディスクオフセットが一致するため下位レイヤーのアライメントと揃えることが容易である。しかし、サイズが大きいために物理的なVHDファイルの取り扱いが難しくなることもある。
容量可変
あらかじめ決めたボリュームサイズよりも小さいファイルサイズで作成され、使用に応じてVHDファイルのサイズが増加する。この形式の場合、オフライン編集を行うことによってファイルサイズが縮小し、物理的なVHDファイルの移動が容易になる。
差分
元のVHDイメージと使用した場合の差分を扱う。
ハードディスクへのリンク
物理ハードディスクのリンクまたはパーティションとして使用する形式。Virtual Serverやバージョン2007までのVirtual PCでサポートされていた。Windows Virtual PCやHyper-V、Windows 7以降のVHDサポートではサポートされていない。
分割
論理フォーマットではなく格納方式であり、固定+分割/可変+分割/差分+分割で使われる。Virtual Serverやバージョン2007までのVirtual PCでサポートされていた。Windows Virtual PCやHyper-V、Windows 7以降のVHDサポートではサポートされていない。

 オフライン編集 
オフラインになっている容量可変に作成したVHDは、Hyper-VやVirtual PCを使用してサイズを縮小することができる。Hyper-VではHyper-V Managerから「ディスクの編集」を実行する。

 VHDの利点 
重要な利点は、VHDから物理マシンをブートすることから得られる。

 簡単な配布 - 人や部単位で必要な標準環境を事前に構成して用意することができる。
 バックアップと復元 - バックアップ先の一つの候補としてVHDを選択することができる。例えば、VHDのコンテンツの変更（ウイルスの感染やファイルの削除）は簡単に元に戻すことができる。
 複数のユーザーでの使用 - 複数のユーザーが、元のVHDとそれぞれのユーザーの差分VHDを作成し使用するということも可能になるため、それぞれのユーザーが安全に実行可能な環境を用意することができる。しかし、元のVHDを狙われるということが無いように適切なセキュリティ管理を行うことで効果を得られる。

 VHDX 

VHDXはVHDの後継として開発された。

 VHDからの向上点 
最大64TBまでサポート
メタデータの二重化とログジャーナリングによる耐障害性の向上
アライメントを考慮したデータ割り当て
任意のデータを埋め込めるカスタムメタデータのサポート

 外部リンク 
 VHD
 マイクロソフトのバーチャルハードディスク概要
 Virtual Hard Disk Image Format Specification 
 Disk2vhd HDDのイメージをそのままVHD化することが出来る
 ネイティブブート仮想ハードディスクとは
 VHD tool 
 VHDX
 Hyper-V 仮想ハードディスクフォーマットに関するテクニカルプレビュー
 Hyper-V Virtual Hard Disk Format Overview 
 VHDX Format Specification v1.00 
 [MS-VHDX]: Virtual Hard Disk v2 (VHDX) File Format 

Category:ディスクイメージ
Category:仮想化
Category:マイクロソフト