Hyper-V

Hyper-VでP2V

PCのHDDにインストールされている既存のOS環境を、そのままHyper-V上の仮想環境に変換する方法がある。P2V(Physical to Virtual)だ。

http://www.microsoft.com/japan/powerpro/TF/column/do_01_1.mspx
P2V(Phisycal to Virtual)

Disk2Vhd というフリーのツールで、物理OSのディスク内容を、そのままvhdファイルに変換できる。 これを使ってvhdファイルを生成して、それをHyper-Vの仮想マシンに割り当てるのだが、 そのままだと仮想OSとして起動できない。

そこで、Disk2Vhdの画面にある"Prepare for use in VirtualPC"にチェックを入れてvhdを生成することで、 HALを一時的にHyper-V対応のものに挿し替えた状態のvhdファイルを生成してくれる。 これで仮想OSとしてvhdから起動できる。

HALについては、次のサイト参照。
http://www.atmarkit.co.jp/fwin2k/win2ktips/010halchk/halchk.html

実際にWindows2003R2の実環境をこれで仮想化したところ、Hyper-V上で起動できた。

しかしHyper-Vの統合サービスをインストールするときに「HALのアップグレードが必要です。」と出て、アップグレード後再起動しても、また同じメッセージが出て、これの繰り返しになってしまい、統合サービスがインストールできなかった。このままだとネットワークアダプタも見えない状態なので使えない。

そこで

C:\boot.ini

を確認したところ

"/HAL="

付きの行が追加されていたので、 それを削除して起動したところ、統合サービスのインストールが続行された。

| | コメント (0) | トラックバック (0)

Hyper-Vのネットワーク

仮想マシンから物理ネットワークに接続できるように、仮想ネットワークの設定を「外部」(既定)にしてあると、そのネットワークを使って、管理OSと外部との通信でNetBTが使えないことがあった。

ただ、「外部」以外にしてから再度「外部」にしたらNetBTが有効になった。
Hyper-Vの問題か?

Hyper-Vが、ネットワーク接続の設定を上書きし、NetBTを「無効」にしていた様子。
管理OSには、NIC2つ以上搭載すべき(MSもそれを推奨している)。もっとも、仮想OSをホストするマシンは大きなスペックを必要とするのでそれぐらい問題にならないのかもしれないが。

Hyper-Vでは、管理OS側に、物理ネットワークアダプタの他に、仮想のネットワーク接続アダプタが作られ、これが、仮想のスイッチとして動作し、各仮想OS上の仮想ネットワークアダプタと通信する。
この仮想スイッチはVLANにも対応しており、VLAN IDを各仮想ネットワークアダプタに設定すると、仮想スイッチがVLANタグをつけてくれる。
(それで、外部の物理スイッチとの間で、VLANのルーティングを行えるのだと思われる。)
それで、管理OS側の物理ネットワーク接続が、仮想スイッチの1ポートみたいに扱われているので、物理ネットワーク接続の設定が(外部設定の場合に)勝手に上書きされるのだろう。

| | コメント (0) | トラックバック (0)