Freigeben über


VHD ブート ~ VPC で作成した VHD で Native Boot ~ その2

前回からの続きで、いよいよデモ環境の設定手順に入っていきます。

■Virtual PC に Windows 7 をインストールimage

普通にインストールしてください。

ちなみに、今回使用したのは、XP Mode でもおなじみ(?)の Windows Virtual PC RC版です。

VHD ブート用に特別に何かを行う必要はありません。前回も書きましたが、VHD も、固定でも可変でも、どのタイプでも構いません(固定をお勧めします)。

ちなみに、Virtual PC だと、仮想マシン上の Windows 7 でも Aero Glass が有効になります(リモートデスクトップでも同様です)。

 

■VHD ブートのための下準備

さて、VHD ブートのための下準備に入りますが、やらなければいけないことは、おそらく想像つくかと思います。今動いているのは、仮想マシン上です。これを物理マシン上で稼働させるわけですので・・・そうです!imageハードウェア構成が変わるわけですね。したがって現在読み込んでいる仮想マシン用のドライバではないものを使う必要がでてくることになります。したがって、実施するのは sysprep になります。

sysprep したら仮想マシンは、シャットダウンしてしまいましょう。

 

■VHD ブートのための bcdedit

さて、ここからは、以前に書いた内容プラスα の記載となります。使うのは bcdedit です。

コマンドプロンプトを管理者権限で、起動し、以下の手順でコマンドを実行します:

既存のエントリをコピー

C:\>bcdedit /copy {current} /d "Windows 7 x86 - VHD"
エントリは {yyyyyyyy-yyyy-yyyyy-yyyyy-yyyyyyyyyyyyy} に正常にコピーされました。

Virtual PC で作成した VHD と関連付け

C:\>bcdedit /set {yyyyyyyy-yyyy-yyyyy-yyyyy-yyyyyyyyyyyyy} device vhd=[C:]\VHD\win7.vhd
この操作を正しく終了しました。

C:\>bcdedit /set {yyyyyyyy-yyyy-yyyyy-yyyyy-yyyyyyyyyyyyy} osdevice vhd=[C:]\VHD\win7.vhd
この操作を正しく終了しました。

C:\>bcdedit /set {yyyyyyyy-yyyy-yyyyy-yyyyy-yyyyyyyyyyyyy} detecthal yes
この操作を正しく終了しました。

念のため、システムのプロパティで、起動システムに設定したもの(上記の例だと「Windows 7 x86 - VHD」)が表示されていることを確認しておきましょう。

■そして VHD でブート

ブートメニューで、設定したもの(上記の例だと「Windows 7 x86 - VHD」)を選択し、OS を起動します。この際に残念ながらブルースクリーンが出てしまう場合は、何か問題があるのでしょう。

私の経験上では、以下の二つの場合にブルスクリーンになりました。

  • VHD を可変で作成した場合かつ、VHD ファイルを格納しているボリュームの空き容量が、VHD の最大サイズ未満の場合
    ブルースクリーン上にもその旨記載されています。VHD の最大サイズより物理的な格納庫の容量が少ないということで、これは納得です。ということもあるので、私は、固定をお勧めします。固定の方が可変のように都度容量が増えていかないため、パフォーマンスでも優位です。
  • ドライバがマッチしない
    ブルースクリーンから読み取るとそういうことのようです(すみません、詳細まで追求してません)。どうも、ハードディスクの種類(IDE とか、SCSI とか、、、AHCI とか)のあたりに起因しているようです。ただし、sysprep 済みの VHD ではこのケースは発生しておりません(その3にて、このあたりで遭遇した苦労話はさせていただきます)。

OS が起動し、利用可能になるまでに、システムの初期化からはじまります。sysprep していますので。これで物理マシンに合わせたシステムの構成で OS が起動してきますので、以後は、そのまま使うことが可能です。

 

さて、次回(最終回の予定)では、効果的なデモにするための裏ワザ編へ♪(といってももうほとんどやることはありません)Virtual PC でも Native Boot でもどちらでも起動が可能な環境にする方法をさらっと書きたいと思います。

ながさわ
https://twitter.com/tomohn