VHD ブートの設定方法

はじめに

VHD にまつわる tips をお伝えします。 Windows 7 (Windows Server 2008 R2) から仮想ハードディスク (VHD) をネイティブ起動できるようになりました。

VHD とは

VHD とは、Virtual Hard Disk の略です。Hyper-V で用いられる仮想ハードディスクで、単一のファイルで構成されます (拡張子は、  .vhd または、.vhdx)。 VHD は、仕様がオープンになっています。OSP (Open Specification Promise) の一環です。

Through the Open Specifications program, Microsoft is helpin…

ちなみに、VHD ファイルは、 Windows 7, Windows Server 2008 R2 以降から簡単に接続 (= マウント) と、切断 (= アンマウント) することができるようになっています。

VHD の中のフォルダやファイルは、普通にディスクを接続したときと同じようにアクセスできます。

VHD Native ブート

さて、VHD ブートの話しをしましょう。仮想マシンとの違いは、以下です。

  • Hyper-V などの仮想マシン: ホスト OS 上で仮想のゲスト OS を起動する。したがって、ドライバなども仮想のものとなる。
  • VHD ブート: VHD に格納されている  OS を直接ブートする。ホスト OS があるわけではない。ドライバは、ほぼすべてネイティブのものを使う (HDD ドライバのみ、 Virtual Hard Disk 用を使う)。

ホスト OS 上のゲスト OS ではないので、通常の OS と遜色のない快適なパフォーマンスが見込めるとともに、VHD ファイルの管理、運用でディスクや OS 環境を取り扱えるようになります。 VHD でブートした場合、以下の画面ショットのような仮想の HDD ドライバがインストールされ、使用されます。 また、VHD でブートした場合は、ディスク構成は、以下の画面ショットのようになります。

一見では、通常の HDD と違いがわかりにくいですが、この環境では、C: ドライブが VHD ファイルです。ディスクアイコンが青色担っているのが確認できます。 VHD ファイルは、どこに格納されているかというと、 D: ドライブのとあるフォルダに、〜.vhd という名前で格納されています。すなわち、VHD ファイルが格納されている物理ハードディスクは、 D: ドライブとして認識され、通常通りにアクセスできるわけです。 整理すると、

  • システムディスクは、VHD ファイルで、C: ドライブとして認識される
  • 物理ディスクは、  D: ドライブとして認識される
  • VHD ファイルは、D: ドライブの任意のフォルダに格納されている

ということです。 利点は、いくつもあります。

  • VHD は単一ファイルなので、バックアップ/リストアが容易 当然、その VHD ブートで起動しているときにそのファイルを外部媒体にコピーするのは好ましくないと思いますが、他の VHD でブートしているときならば、普通のファイルのコピーと同様の扱いで、バックアップ/リストアできます。 普通のファイルなので、保管時には圧縮すると経済的です (※ ファイルの圧縮をしているときに VHD 接続やブートはできません)。
  • ディスクの拡張/縮小が容易 Windows 7 からは、パーティションの拡張なども比較的容易になりました。とはいえ、後ろのスペースに容量がなければ拡張できません。 VHD ブート環境ならば、ディスクの拡張 = VHD ファイルのサイズ拡張 でしかないので、物理ディスクのファイルのありなしに影響を与えません。VHD を拡張した分だけ、物理ディスクの空き容量は、当然減ります。
  • 大量マルチブート環境も構築できる VHD でブートするため、パーティションを区切ってデュアルブート環境のように数の制限を受けずに OS を切り替えて起動することができます。

VHD ブートのお膳立て

さてさて、VHD ブートを行える環境にするためには、物理ディスクにおいてやっておかなければいけないことがあります。非常にいい加減かつ、簡潔に書くと、一度その物理ディスク(厳密にはブートレコードを格納するディスクでしょうか)に Windows 7 か、Windows Server 2008 R2 をインストールしてください。すると、以下のようにシステムで予約されたパーティションが自動で作成されます。

この領域ができてしまえば、もう先ほど物理ディスクにインストールした OS は極端な話、いらないです。フォーマットしてしまってもいいでしょう。私の環境は上述のように、物理的なディスク上には、OS をインストールしていません。 ※ここの部分はものすごくいい加減に記述しています。

VHD ブートをする 2つのパターン

VHD ブートをするには、VHD ファイルに、OS がインストールされている必要があります。VHD は仮想ディスクイメージですので、通常の方法で、VHD に OS をインストールすることができます。通常の方法とは、 ・マウント済みの VHD に OS をインストールする ・仮想マシンに、OS をインストールする が考えられます。まずは、前者からやり方を紹介します。

正解のない時代のビジネスと現場のお悩みは弊社にご相談ください

サーバントワークス株式会社