USB メモリから起動できる Hyper-V Server 2008 R2 SP1 を 作成する

Hyper-V の Program Manager である Paul Despe さんのブログによれば、「USB メモリから起動可能な Windows は 唯一 Hyper-V Server 2008 R2 のみです」という事なので、USB メモリから起動できる Hyper-V Server 2008 R2 を作ってみることにしました。


USBメモリから起動できれば既存の環境を壊さなくても済むので、Hyper-V Server 2008 R2 をかなり気楽に試すことができます。


残念ながら、Paul Despe さんが作成して Code Plex で公開されているCreate bootable USB drive for Hyper-V Server 2008 R2 は、日本語環境のWindows 7 では動きませんでした。


今回は、手動で作成する以下の手順に乗っ取ってUSBメモリを作成しました。


Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive
http://technet.microsoft.com/en-us/library/ee731893(WS.10).aspx


必要な材料
Windows Automated Installation Kit for Windows 7
Hyper-V Server 2008 R2 SP1
・16GByte の USB メモリ


Amazonで以下のUSBメモリを購入してやってみました。
BUFFALO USB3.0/2.0用 USBメモリー ホワイト 16GB RUF3-K16G-WH


作業環境
Windows 7 (私は、Windows 7 Ultimate 32bit で実施しました)
・ダウンロードしたWindows Automated Installation Kit for Windows 7Hyper-V Server 2008 R2 SP1はISOファイルなのでドライブにマウントできるソフトをあらかじめインストールしておいてください。
・作業には、3つのドライブレターを使います。E:\(Hyper-v 2008 R2 SP1 のISOマウント用)R:\(Hyper-v編集用)Z:\(USB用)

まず、最初にWindows Automated Installation Kit for Windows 7 をインストールします。


次にコマンドラインからコマンドを実行していきます、以下はUSB メモリを作成した際のコマンドラインのログです。所要時間は、だいたい1時間ほど。フォーマットやファイルのコピーなどに時間が掛かるので何かの片手間にすると良いと思います。


途中で以下のようなダイアログが表示されますが、必要ないので×ボタンを押して閉じてください。

2012/03/25 追記 展開イメージのサービスと管理(DISM.exe)ツールを使用して言語・キーボードを日本語に設定できるので、コマンドを追加しています。


Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\TEKK>cd ..

C:\Users>cd ..

C:\>mkdir c:\hvvhd

C:\>diskpart

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: TEKK-PC

DISKPART> create vdisk file=c:\hvvhd\hyperV.vhd maximum=12288 type=fixed

100% 完了しました

DiskPart により、仮想ディスク ファイルが正常に作成されました。

DISKPART> select vdisk file=c:\hvvhd\hyperV.vhd

DiskPart により、仮想ディスク ファイルが選択されました。

DISKPART> attach vdisk

100% 完了しました

DiskPart により、仮想ディスク ファイルがアタッチされました。

DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> assign letter=r

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

DISKPART> format quick fs=ntfs label=hyperV

100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART> exit

DiskPart を終了しています...

C:\>cd /d "c:\program files\Windows AIK\tools\x86\"

c:\Program Files\Windows AIK\Tools\x86>imagex /apply e:\sources\install.wim 1 r:
\

ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Version: 6.1.7600.16385


[ 100% ] Applying progress

Successfully applied image.

Total elapsed time: 13 min 50 sec




C:\>dism /image:r: /Set-AllIntl:ja-JP

展開イメージのサービスと管理ツール
バージョン: 6.1.7600.16385

イメージのバージョン: 6.1.7601.17514


入力ロケールが次に設定されました: ja-JP
システム ロケールが次に設定されました: ja-JP
ユーザー ロケールが次に設定されました: ja-JP
UI 言語が次に設定されました: ja-JP
操作は正常に完了しました。

C:\>dism /image:r: /Set-LayeredDriver:6

展開イメージのサービスと管理ツール
バージョン: 6.1.7600.16385

イメージのバージョン: 6.1.7601.17514

操作は正常に完了しました。

c:\Program Files\Windows AIK\Tools\x86>diskpart

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: TEKK-PC

DISKPART> select vdisk file=c:\hvvhd\hyperV.vhd

DiskPart により、仮想ディスク ファイルが選択されました。

DISKPART> detach vdisk

DiskPart により、仮想ディスク ファイルがデタッチされました。

DISKPART> exit

DiskPart を終了しています...

c:\Program Files\Windows AIK\Tools\x86>diskpart

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: TEKK-PC

DISKPART> list disk

ディスク 状態 サイズ 空き ダイナ GPT
### ミック
------------ ------------- ------- ------- --- ---
ディスク 0 オンライン 111 GB 1024 KB
ディスク 1 オンライン 14 GB 0 B

DISKPART> select disk 1

ディスク 1 が選択されました。

DISKPART> clean

DiskPart はディスクを正常にクリーンな状態にしました。

DISKPART> create partition primary

DiskPart は指定したパーティションの作成に成功しました。

DISKPART> select partition 1

パーティション 1 が選択されました。

DISKPART> active

DiskPart は現在のパーティションをアクティブとしてマークしました。

DISKPART> format quick fs=ntfs

100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

DISKPART> assign letter=z

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

DISKPART> exit

DiskPart を終了しています...

c:\Program Files\Windows AIK\Tools\x86>copy c:\hvvhd\hyperV.vhd z:
1 個のファイルをコピーしました。

c:\Program Files\Windows AIK\Tools\x86>cd /d "c:\program files\Windows AIK\tools
\PETools\x86\"

c:\Program Files\Windows AIK\Tools\PETools\x86>bootsect /nt60 z: /force /mbr
Target volumes will be updated with BOOTMGR compatible bootcode.

Z: (\\?\Volume{ec963046-647e-11e1-b8f5-001e4cf5cb47})

Successfully updated NTFS filesystem bootcode.

\??\PhysicalDrive1

Successfully updated disk bootcode.

Bootcode was successfully updated on all targeted volumes.

c:\Program Files\Windows AIK\Tools\PETools\x86>diskpart

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: TEKK-PC

DISKPART> select vdisk file=z:\HyperV.vhd

DiskPart により、仮想ディスク ファイルが選択されました。

DISKPART> attach vdisk

100% 完了しました

DiskPart により、仮想ディスク ファイルがアタッチされました。

DISKPART> exit

DiskPart を終了しています...

c:\Program Files\Windows AIK\Tools\PETools\x86>bcdboot r:\windows /s z:
ブート ファイルは正常に作成されました。

c:\Program Files\Windows AIK\Tools\PETools\x86>reg load HKLM\HyperVTemp r:\windo
ws\system32\config\system
この操作を正しく終了しました。

c:\Program Files\Windows AIK\Tools\PETools\x86>reg add "HKLM\HyperVTemp\ControlS
et001\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ
/d "" /f
この操作を正しく終了しました。

c:\Program Files\Windows AIK\Tools\PETools\x86>reg delete "HKLM\HyperVTemp\Contr
olSet001\Control\Session Manager\Memory Management" /v ExistingPageFiles /f
この操作を正しく終了しました。

c:\Program Files\Windows AIK\Tools\PETools\x86>reg unload HKLM\HyperVTemp
この操作を正しく終了しました。

c:\Program Files\Windows AIK\Tools\PETools\x86>diskpart

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: TEKK-PC

DISKPART> select vdisk file=z:\hyperV.vhd

DiskPart により、仮想ディスク ファイルが選択されました。

DISKPART> detach vdisk

DiskPart により、仮想ディスク ファイルがデタッチされました。

DISKPART> exit

DiskPart を終了しています...

c:\Program Files\Windows AIK\Tools\PETools\x86>