Monthly Archives: 3月 2013

VHDネイティブブートによるテスト環境の構築

とりあえずメモ書き。

1.仮想ディスクの作成。
1.VHD作成
diskpart起動後
create vdisk file=<“file name.vhd”> maximun=<N(MB)> [type={fixed|expandable}]
60GBの容量可変VHDを作る場合には。
create vdisk file=hogehoge.vhd maximun=61440 type=expandable

もしくはdiskmgmt.mscを起動して操作VHDの作成から作る。

2.差分VHDの作成
create vdisk fike=<”file name.vhd”> parent=<”parent vdisk file.vhd”>
parentパラメータで指定する親VHDは相対パスが使えない。絶対パスで指定する必要がある。このため親VHDの位置は移動できないので注意。
また、親VHDには必ず読み取り属性をつけておくこと。


2.OSインストールの準備
1.imagexの準備
WAIKに含まれるimagexが必要になるが、googleで検索すると落ちてるのでWindows7用のを拾ってくる。

2.仮想ディスクのマウント
diskmgmt.mscを起動もしくはdiskpartを起動して仮想ディスクをマウントする。

3.仮想ディスクにOSイメージを展開する。
仮想ディスクをマウントしたドライブをF:
OSのインストールディスクの入ったドライブがL:
とすると。
imagex /apply L:\sources\install.wim <N> F:
でOSのインストールイメージが仮想ディスクに展開される。
<N>は展開するOSによって異なる。
Windows 7×64 Ultimate = 4
Windows 7×86 Ultimate = 5

Windows 8×64 Enterprise =1
Windows 8×86 Enterprise =1
数字はimagex /info L:\sources\install.wimでIndexの数字を調べるか、通常のインストール時に並んでる順番になるようなので起動して調べる。

3.VHDのブートマネージャーへの登録。
1.ブートマネージャーへの登録
面倒くさいのでカレントのコピーを作成する。
bcdedit /copy {current} /d “VHD Boot1”
すると
“エントリ {8369a389-19cb-11e2-95b1-e28627bcdf8d}は正常に作成されました。”と固有の値が表示されるので、このIDをコピーしておく。

次に、VHDの登録をする。
bcdedit /set {GUID} device VHD=[C:]\foo\bar.vhd
bcdedit /set {GUID} osdevice VHD=[C:]\foo\bar.vhd

2つのコマンドが正常に終了したらbcdedit [Enter]でエントリが追加されてるか確認する。

4.運用方法について。
sysrepしてからイメージを他のPCに持っていく方法もあるが、検証目的と言うことであれば、インストール直後の環境が必要になる場合がほとんどなので、下記のようにVHDを管理する。
親:OSのインストールイメージを展開したVHD
子:セットアップ完了直後のVHD
孫:それ以降。
2-3.で作成したOSインストールイメージが入ったVHDを仮にWin000.VHDとする、
create vdisk fike=Win010.vhd parent=Win000.VHD
で、親Win000.VHDの差分としてWin010.VHDを作成する。
Win010.VHDを3-1,2.の方法でブートマネージャに登録し、通常通りセットアップを行い、インストール直後の状態までセットアップを行う。
この状態で、孫VHDを作成する、
create vdisk fike=Win011.vhd parent=Win010.VHD
で、Win010.VHDの差分VHDを作成する。
Win010.VHDをブートマネージャに登録したとき同じように、Win011.VHDもブートマネージャに登録する。
bcdeditで登録したいセクションのGUIDを確認し。
bcdedit /set {GUID} device VHD=[C:]\foo\bar.vhd
bcdedit /set {GUID} osdevice VHD=[C:]\foo\bar.vhd
で上書き登録ができる。
descriptionを変更したい場合には
bcdedit /set {GUID} description “disply name”
で変更できる。

Win011.VHDにWindowsUpdateやドライバ類のインストールが終わった状態でバックアップを取っておけば、以降はWin011.VHDのみ差し替えれば初期環境に戻る。
また他の試験を行いたい場合にはWin012とでもしてブートマネージャに登録を行えば他への影響が避けられる。

5.問題点
1.休止状態が使えない。
2.VHDを置いておくドライブに起動ディスク以外を指定するとなぜか起動しない。
3.VHDの世代管理とファイル名管理が面倒くさい。
4.bcdedtを使ってブートマネージャに登録するのが結構手間。