2010年03月10日 08時00分 UPDATE
特集/連載

OS起動もできる便利な機能Windows 7の仮想HDD(前編)──ネイティブブートVHDのメリット

Windows 7とWindows Server 2008 R2がVHDおよびVHDブートをネイティブでサポートしたことは、特に開発者とテスターに多くのメリットをもたらす。

[Gary Olsen,TechTarget]

さまざまなメリットもたらすVHD

 Window 7の仮想HDD(VHD:Virtual Hard Disk)は、このOSの素晴らしい機能の1つであり、多くのメリットをもたらす。VHDは仮想化ソフトウェアを使ったことがある人には目新しいものではなく、VHDフォーマットはMicrosoftのVirtual PCやHyper-V、Citrix SystemsのXenServer、Sun MicrosystemsのxVM製品でサポートされている。VMwareのESXサーバも、同社独自のVMDKフォーマットに加えてVHDをサポートしている。

 VHDはソフトウェアによって作成され、HDDの機能を備える。特定のサイズを持っており、マウントし、フォーマットしなければならない。VHDにはファイルをコピーしたりOSをインストールする機能があり、OSをVHDから起動することやディスクのサイズを拡大することも可能で、実際のディスクとほぼ同じように利用できる。MicrosoftのSystem Center Virtual Machine Manager(SCVMM)のようなアプリケーションでは、物理ディスクから仮想ディスクへの変換(P2V変換)が可能だ。これにより、データセンターの物理マシンの設置スペースを簡単に削減できる。さらに、MicrosoftのWindows BackupやSystem Center Data Protection Manager(SCDPM)では、データをVHDに保存できる。

 仮想環境では、VHDはOSのコンポーネントやファイルなどのクライアントまたはサーバのイメージが格納された単一のファイルであり、仮想化ソフトウェアが稼働するホストマシンのファイル構造内に存在する。多くの企業は仮想マシン(以下、VM)のオンラインバックアップを作成する代わりに、VMのVHDファイルをバックアップしている。VHDはポータブルで、ホストマシン間で移動できる。このため、ホストシステムがダウンしたり、メンテナンスのためにシャットダウンしなければならなくなっても、仮想化ソフトウェアが稼働するほかのホストにVMを移動し、そのホストで実行できる。

 ただし、VHDをこのように利用する場合は、Windowsのライセンスの問題に注意する必要がある。その詳細は別稿で説明するとして、ここでは、VHDがさまざまな用途に使えて便利なことを強調するにとどめたい。

Window 7とWindows Server 2008 R2でネイティブにサポート

 最近まで、VHDの作成には専門的な仮想化ソフトウェアを使わなければならなかった。例えば、Windows Server 2008では、 VMのVHDファイルを保存するには以下の手順を踏まなければならなかった。

  • 仮想化をサポートするAMDまたはIntelプロセッサを搭載するHyper-V対応サーバを用意する
  • Hyper-Vをインストールする
  • Hyper-Vマネージャを使ってVHDを作成する
  • VHDにWindowsをインストールする

 さらに、VHDの内容を開き、操作するのにもこれらのアプリケーションを使わなければならなかった。お気に入りのイメージ作成ソフトウェアとSysprep(システム準備ツール)を使ってイメージを準備し、コピー、展開してVMを運用することもできるが、物理マシンをVHDからネイティブに起動する方がメリットが大きいと思う。

 Windows 7とWindows Server 2008 R2では、VHDはネイティブにサポートされるようになり、さらに使い勝手が広がっている。管理者はVHDの作成、オープン、変更を行うことができ、OSをVHDにインストールし、そこから起動させることもできる。両バージョンのWindowsにはこうした機能がすべて搭載されている。

 VHDは物理ディスクに1つのファイルとして保存されるため、マルチブート環境の構築に利用できる。マルチブート構成はWindows NTから可能だったが、独立した複数のディスクパーティションが必要だった。一部のVHDブートシナリオでは、独立したパーティションが必要だが、それぞれ異なるOSや構成シナリオを持つ多数のブートパーティションを1つのディスクに保存し、目的のパーティションから起動できる。

 なお、Windows Server 2008 R2とWindows 7には、VHDブートを可能にする新しいブートローダ機能が搭載されている。この2つのOSだけがVHDブートをサポートしているが、幾つかのブログでは、Windows 7ブートローダの交換により、VHDブートをサポートするようにVistaを構成する方法が説明されている。理屈の上では、GRUBのようなほかのブートローダでもうまくいく可能性がある。

 ネイティブVHDブートは、以下の手順で行う。

  • Windows 7またはWindows Server 2008 R2コンピュータで、適切なサイズのVHDを作成する
  • Windowsイメージを作成し、VHDに適用する
  • BCDEditでブートメニューにVHDブートエントリを追加する
  • マシンの起動時にVHDブートエントリを選択する

 もちろん、ネイティブブートVHDは、物理サーバを手軽にバックアップするために利用できるが、Windows展開サービス(WDS:Windows Deployment Services)と組み合わせて利用することで、仮想化ソフトウェアとともに使う場合と同様に、VMとして展開することもできる。

 VHDとVHDブートのネイティブサポートは多くのメリットをもたらし、特に開発者とテスターがその恩恵を受ける。この機能により、1台のマシンで多くの異なるカスタム環境を起動し、(仮想ではなく)物理ハードウェアコンポーネントを実際に使用できるからだ。これは、システムの変更管理に大きな影響を及ぼすだろう。仮想マシンと物理マシンの両方を使ってテストを行う場合よりもテストが容易になるからだ。さらに、クライアントのアップグレードや展開、イメージのリカバリを行う上で、さまざまな新しい選択肢を利用できそうだ。前述したように、これらの選択肢はOSのネイティブコンポーネントを使うものであり、アプリケーションは使わずに済む。

 あなたが管理しているクライアントをすべてWindows 7に移行しさえすれば、こうしたメリットが生かせる。

本稿筆者のギャリー・オルセン氏は米Hewlett-Packardのグローバルソリューションエンジニアリング部門システムソフトウェアエンジニア。著書に『Windows 2000: Active Directory Design and Deployment』、共著書に『Windows Server 2003 on HP ProLiant Servers』がある。Directory Services分野のMicrosoft MVP。過去にはWindows File Systems分野でも認定されている。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事