SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows 8 Enterprise を VHDX / 差分 VHDX ブート

leave a comment

Windows 8 は VHDX (VHD も可) でブートすることが可能です。
今回は Windows 8 Enterprise を VHDX / 差分 VHDX でブートするための手順をまとめていきたいと思います。
VHDX ブートをすることで既存の環境を残したまま、パーティション構成を変更せずに物理環境でブートすることができます。
Windows 8 で普段使用しているハードのデバイスドライバをインストールすることができるかを確認する場合、物理環境にインストーする必要があります。
そのような場合は今回紹介する VHDX ブートを使用するとよいと思います。
今回の投稿では Hyper-V 2.0 のゲスト OS で検証をしているため、ディスクの構成は以下のようになっています。
image
なお、Windows 8 のインストールメディアですが、Windows 7 USB/DVD ダウンロード ツール を使用することで、USB のブートメディアを作成することができます。

■Windows 8 Enterprise を VHDX ブート


VHDX ブートするためには VHDX を作成して、その仮想ディスクに対してインストールをする必要があります。
インストールの方法はいろいろとあると思いますが、私は以下の方法でインストールしています。

  1. Windows 8 のインストールメディアで起動
  2. 以下の画面までインストーラーを進める
    image
  3. 今回は未フォーマットのディスクを使用しているので Shift + F10 でコマンドプロンプトを開いて以下のコマンドを実行し、パーティションを作成
    # すでに使用しているハードディスクを使用する場合、この作業は不要です。

    diskpart
    select disk 0
    create part primary
    format fs=ntfs quick
    assign
    exit
    exit

    GUI からパーティションの割り当てを行った場合、以下の画像のように先頭に 350MB のパーティションが作成されていると思います。
    image
    Hyper-V のゲスト OS で試していた限りは、上記のパーティション構成だとインストールの途中で [0x8007002] のエラーが発生してしまい、インストールをすることができませんでした。
    # インストールするファイルの準備中で (2% ~ 3% のタイミングでエラーになりました)
    image
    そのため、今回は 1 パーティション構成としています。
    image

  4. Shift + F10 を押してコマンドプロンプトを起動
    image
  5. 以下のコマンドを実行して VHDX を保存するフォルダを作成
    mkdir C:VHDX
  6. 以下のコマンドを実行
    diskpart
    create vdisk file=”c:vhdxbase.vhdx” maximum=40960 type=expandable
    attach vdisk
    exit
    exit
  7. 最新の情報に更新をクリックして、アタッチした VHDX を表示させ、そのディスクを選択してインストールを行う
    # このドライブに ~ の表示がありますがインストールすることができます。
    image
  8. OS のインストールが終了したらシャットダウンします。
    image
    image

 

■差分 VHD ブート


続いて差分 VHD を使用してブートしてみたいと思います。
手っ取り早く差分 VHD ブートをするため、一度 Windows 8 のインストールメディアで起動します。

  1. Shift + F10 を押してコマンドプロントを起動
    image
  2. 以下のコマンドを実行して差分 VHDX を作成
    diskpart
    create vdisk file=”c:vhdxdiff.vhdx” parent=”c:vhdxbase.vhdx”
    exit
  3. 以下のコマンドを実行して BCD のエントリを変更
    bcdedit /set {default} device “vhd=[C:]vhdxdiff.vhdx”
    bcdedit /set {default} osdevice “vhd=[C:]vhdxdiff.vhdx”
  4. 以下のコマンドを実行して再起動
    wpeutil reboot

以上で差分 VHDX を使用したブートは完了です。
VHDX ブートした場合は軌道に使用した VHDX ファイルが最大サイズまで拡張されましたが差分 VHDX ブートした場合は、差分 VHDX のファイルが最大サイズまで拡張されます。
image
今回は {default] の BCD のエントリを変更しましたが、以下のコマンドを実行することで既定のエントリをコピーして変更することも可能です。

bcdedit /copy {default} /d “Copy Entry”
bcdedit /set {<コピーされたエントリの GUID>} device “vhd=[C:]vhdxdiff.vhdx”
bcdedit /set {<コピーされたエントリの GUID>} osdevice “vhd=[C:]vhdxdiff.vhdx”

複数の差分 VHDX (差分 VHD) を使用したい場合にはエントリをコピーして使用することになるかと。
Windows 8 では OS の選択画面が変更されているので、BCD のエントリをコピーするとこのような画面になります。
image
先頭の 350MB のパーティションが存在している場合にエラーとなってしまったのが気になるのですが、Windows 8 + VHDX を使用して VHDX ブート / 差分 VHDX ブートはできそうですね。
なお、先頭に 350MB のパーティションが存在している物理環境では正常に VHDX ブートのインストールが 3% より先に進んだので 1 パーティション構成以外でも動作すると思います。

Share

Written by Masayuki.Ozawa

8月 18th, 2012 at 12:07 pm

Posted in Windows Client

Tagged with

Leave a Reply