32bit版Windows 7を利用していて、Windows Server 2008 R2のVHDブート環境を構築したいような場合、Windows 7上の仮想化ソフトウェアでは、64bit OSであるWindows Server 2008 R2のVHDファイルが作成できない。このような場合、インストールDVDを利用して、VHDファイルを作成し、そこにWindows 7/Server 2008 R2をインストールすればよい。この方法ならば、ブート・ローダの編集をしなくてもブート・マネージャにVHDブートへのメニューが自動的に追加される。
VHDブートを設定したいコンピュータをインストールDVDから起動する。[Windowsのインストール]のウィザードが表示された時点で、[SHIFT]+[F10]キーでコマンド・プロンプトを開く。
ここで、「diskpart」と入力してdiskpartコマンドを実行する。すると、プロンプトが「DISKPART>」に変わる。ここで以下のコマンドを順番に実行していけばよい。コマンドラインを利用したVHDファイルの作成方法は、「TIPS:仮想ディスクをコマンドラインから作成・管理する」も参照していただきたい。
DISKPART> list vol
このコマンドで、VHDファイルを作成するボリューム(ドライブ名)を確認する。
DISKPART> create vdisk file=<VHDファイルの絶対パス> maximum=<VHDファイルのサイズ(Mbytes)> type=fixed
「type」スイッチは、容量固定(fixed)か容量可変(expandable)の指定が可能だが、容量可変の仮想ディスクにした場合、物理ハードディスクの空き容量よりも少ない容量に指定しておかないと、仮想ディスクのサイズが大きくなり、物理ハードディスクの空き容量がなくなると、起動時にブルースクリーン・エラーが発生してしまう。容量固定でVHDファイルを作成しておいた方が安全だ。なお容量は、Mbytes単位で指定すること。Windows 7では最低でも14Gbytes程度が必要になる(Windows Server 2008 R2では、構成によって大きく異なる)。アプリケーションのインストールなどを考慮すると、最低でも32Gbytes程度の容量は確保しておいた方がよい。
DISKPART> select vdisk file=<VHDファイルの絶対パス>
DISKPART> attach vdisk
DISKPART> exit
これで作成したVHDファイルをマウントして、インストーラに新しいディスクとして認識できるようにする。コマンド・プロンプトを「exit」コマンドで閉じて、インストール・ウィザードの作業を進める。[Windowsのインストール場所を選択してください]の画面で、作成したVHDファイルが未割り当て領域のディスクとして見えているはずだ。ここで、VHDファイルがディスクとして認識されていない場合は、VHDファイルの作成やマウントに失敗している可能性があるので、[SHIFT]+[F10]キーでコマンド・プロンプトを開き、diskpartコマンドでVHDファイルがマウントできているかどうか確認しよう。list diskでディスクが作成されていることを確認し、再度、select vdisk、attach vdiskを実行、[Windowsのインストール場所を選択してください]の画面で[最新の情報に更新]をクリックする。
あとは通常のWindows 7/Server 2008 R2のインストールと同様、このディスクを選択して、ウィザードを進めればよい。
Windows ブート マネージャー
--------------------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume1
description Windows Boot Manager
locale ja-JP
inherit {globalsettings}
default {default}
resumeobject {94298605-4768-11df-9ddc-dd6e025b3733}
displayorder {default}
{current}
toolsdisplayorder {memdiag}
timeout 30
Windows ブート ローダー
--------------------------------
identifier {default}
device vhd=[C:]\VHDBOOT\win.vhd
path \Windows\system32\winload.exe
description Windows 7
locale ja-JP
inherit {bootloadersettings}
osdevice vhd=[C:]\VHDBOOT\win.vhd
systemroot \Windows
resumeobject {94298605-4768-11df-9ddc-dd6e025b3733}
nx OptIn
Windows ブート ローダー
--------------------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7
locale ja-JP
inherit {bootloadersettings}
recoverysequence {94298602-4768-11df-9ddc-dd6e025b3733}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {94298600-4768-11df-9ddc-dd6e025b3733}
nx OptIn
ブート・マネージャの画面のように、デフォルトでは「Windows 7」が並んでどちらがVHDブートのエントリなのか分からなくなってしまうことがある。このような場合、以下のコマンドを実行し、ブート・マネージャの表示名を変更しておくとよい(「TIPS:bcdeditでVista/Windows Server 2008のブートOSメニューを変更する」参照)。
bcdedit /set {default} description "Windows 7 - VHD Boot"
この方法で新規にVHDファイルを作成し、VHDブートさせた場合は、仮想化ソフトウェアなどが必要ないし、ブート・ローダの編集も不要なので手軽だ。Windows 7環境にWindows Server 2008 R2のVHDブート環境を構築したいような場合は、この方法がお勧めだ。
Copyright© Digital Advantage Corp. All Rights Reserved.