連載
» 2012年12月06日 18時54分 公開

Windows 8レボリューション:第11回 クライアントHyper-V (2/3)

[打越浩幸,デジタルアドバンテージ]

Hyper-V機能のインストール

システム要件の確認

 Windows 8でHyper-Vを利用するためには、ゲストOSを実行するために十分なメモリやディスク領域が必要なのはもちろんだが、「ハードウェア仮想化支援機能」と「SLAT(Second Level Address Translation)サポート」を持った「x64アーキテクチャのCPU」が必要である。そしてOSは、64bit版のWindows 8 ProかEnterpriseエディションが必要だ。

 ディスクやメモリは作成する仮想マシンの規模や数、同時実行数などに応じて変わるのでここでは触れないが、だいたいの目安としては、1仮想マシンごとに10Gbytesのディスク領域と、1Gbytesのメモリが最低限必要だろう。Hyper-Vでは「動的メモリ」といって、必要に応じて仮想マシンに割り当てる実メモリ・サイズを動的に変更する機能がサポートされているので、初期サイズを512Mbytes程度にして動的割り当てしておけばよいだろう。ただし、すべてのゲストOSでこの機能が利用できるわけではない。詳細は「メモリ管理機能が強化されたHyper-VのDynamic Memory」の表「Dynamic Memoryを利用できるゲストOS」を参照していただきたい。

 メモリやディスクに対する要件と比べると、CPUに対する要件はやや厳しいかもしれない。64bitサポートやハードウェア仮想化機能がサポートされているCPUは多くあるが、SLAT機能を持っていないCPUもある(ここ2〜3年の間に発売されたCPUならまず持っているはずだ)。SLAT機能が利用できるかどうかは、TIPS「coreinfoツールでCPUの仮想化対応機能をチェックする」で紹介している方法で確認できる。その記事では、Sysinternalsのcoreinfoというツールを使い(「coreinfo -v」で確認できる)、SLAT(Intel CPUの場合はEPT、AMD CPUの場合はNPTと呼ぶ)がサポートされているかどうかを確認している。

※coreinfoコマンドでCPUの機能をチェックする

C:\>coreinfo -v …非ハイパーバイザ(HYPERVISOR)環境下でこれを実行する

Coreinfo v3.1 - Dump information on system CPU and memory topology
Copyright (C) 2008-2012 Mark Russinovich
Sysinternals - www.sysinternals.com

Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
Intel64 Family 6 Model 26 Stepping 5, GenuineIntel
HYPERVISOR      -       Hypervisor is present
VMX             *       Supports Intel hardware-assisted virtualization
EPT             *       Supports Intel extended page tables (SLAT)
      ↑↑↑↑ VMXとEPTに「*」が表示されればOK。HYPERVISORは「-」であること(仮想環境下では正しく判定できない)
C:\>


Hyper-Vのインストール

 システムの準備ができたらHyper-Vをインストールしよう。クライアントHyper-Vをインストールするには、[コントロール パネル]で[プログラムと機能]を開き、左側のメニューから[Windows の機能の有効化または無効化]を実行する。

クライアントHyper-V機能のインストール クライアントHyper-V機能のインストール
Windowsの機能の有効化画面で、「Hyper-V」以下を全部有効にする。
  (1)これをオンにする。Windows 8(無印エディション)かWindows RTの場合はこの項目そのものがない。
  (2)これがHyper-Vのコア機能。これが表示されていない場合は、OSのエディションが異なるか32bit版Windows 8。
  (3)32bit版のWindowsではこの管理ツールしか利用できない。

Hyper-V管理ツールの使い方

 Hyper-Vがインストールできると、スタート画面に「Hyper-V マネージャ」が登録されるはずである。これを起動してHyper-Vの初期設定を行う。

Hyper-Vマネージャの起動画面 Hyper-Vマネージャの起動画面
仮想マシンの設定ダイアログぐらいしかなかったWindows Virtual PCと違い、Hyper-Vではこのような専用のツールを使って管理する。
  (1)接続先のサーバ。ローカルのHyper-Vサービスだけでなく、リモートのHyper-Vも管理できる。
  (2)仮想マシンの一覧。
  (3)スナップショット。
  (4)操作メニュー。

 最初に行うべき作業の1つに、仮想マシン用のネットワーク・インターフェイスの作成がある。Hyper-Vマネージャの右側ペインにある「仮想スイッチ マネージャ」ツールを起動し、外部ネットワークや内部ネットワーク、プライベート・ネットワークなどのインターフェイスを作成しておく。Windows Virtual PCでは固定的なネットワーク・インターフェイスがあらかじめ用意されていたが、Hyper-Vの場合は目的に合わせてカスタマイズしたネットワーク・インターフェイスを自分で作成する。詳細については「仮想ネットワークの種類を知る」を参照していただきたい。

Hyper-Vのネットワーク・マネージャ Hyper-Vのネットワーク・マネージャ
Hyper-Vでは、用途に合わせてネットワーク構成を自由に設定できる。
  (1)外部仮想スイッチは、外部のネットワーク・インターフェイスに直接つながっている仮想インターフェイス。
  (2)内部仮想スイッチは、仮想マシン間およびホストとのみ通信可能な仮想インターフェイス。
  (3)仮想マシン間でのみ通信可能な仮想インターフェイス。
  (4)仮想インターフェイスの種類。Windows Virtual PCと違って、「共有ネットワーク(NAT)」タイプはない。NATやDHCPのようなサービスが利用した場合は、そのような働きをする仮想マシンを用意する。

Windows Virtual PCからの仮想マシンの移行

 Window Virtual PCとHyper-Vは仮想化のアーキテクチャが異なるため、Windows 7のWindow Virtual PC環境で使用していた仮想マシン(を構成するファイル群)をWindows 8のHyper-Vへそのままインポートして利用することはできない。だが、ディスク・イメージを保存しているファイル(VHDファイル)はどちらの仮想環境でもそのまま利用できるので、これを使って手動で作業すれば、移行できないことはない。VHDファイルを使ってHyper-V上に新しい仮想マシンを作成すればよいだけである。幸いなことに、どちらの仮想環境も、非常に原始的なPC/AT互換のハードウェア環境をエミュレーションしている。そのため、デバイス・ドライバをいくつか入れ替えるだけで、ほぼそのままHyper-V上でも実行可能だ。以下、その大まかな手順を示す。

 まずWindows Virtual PC上で移行元の仮想マシンを起動し、コントロール・パネルの「プログラムの追加と削除」で、「Virtual PC統合コンポーネント」をアンインストールする。統合コンポーネントは互換性がないので使えないからだ(移行後にアンインストールしてもよい)。アンインストール後、仮想マシンを正常にシャットダウンさせてから(スリープではなく、必ずシャットダウンさせること。復元ディスクなしで正常にシャットダウンすることを確認すること)、仮想ディスク・ファイルをWindows 8側へコピーする。なお差分ディスクになっているとVHDファイルをコピーしても動作しないので(差分ディスクの場合は親ディスクへの絶対パス情報が内部に記録されているため)、必ず独立した単一の仮想ディスク・ファイルに変換しておくこと。仮想ディスクの種類は「容量可変」と「固定」のどちらでもよい。

 VHDファイルが用意できたら、Windows 8のHyper-V上で仮想マシンを新規作成する。元のイメージには32bit OSしか入っていないなずなので、メモリはせいぜい2Gbytesも割り当てておけば十分だろう。ネットワークやディスクの追加などは後回しにして、コピーした仮想ディスク1台だけを使って(「既存の仮想ハードディスクを使う」を選択する)仮想マシンを作成する。CPUはとりあえず1コアのみ割り当てておく(これがデフォルトの状態。2コア以上にしないこと)。

★画像タイトル★ 移行用仮想マシンの設定
Windows Virtual PCの仮想マシンを移行するには、VHDファイルだけをコピーしておき、仮想マシンを作成する。ネットワーク・インターフェイスや2台目以降の仮想ディスクなどは、Hyper-Vへの移行が完全に終わってから追加すればよい。
  (1)仮想ハードディスクを1台だけ持つ単純な仮想マシンを新規作成する。
  (2)Windows Virtual PCで利用していた仮想ディスク・ファイル。

 この状態で仮想マシンを起動してみる。Windows Virtual PC上で動作していたWindows OSなら、まず問題なく起動できるはずだ。起動したら、再アクティベーションが要求されたり、新しいハードウェアの検出ウィザードが表示されたりするが、それらはすべてキャンセルして後回しにする。とにかく、「Hyper-V統合サービス」をインストールするまでは何も行わず、すべてキャンセルすること。ただし再起動要求がある場合は、指示に従って再起動しておく。Windows Virtual PCの統合コンポーネントをまだアンインストールしていない場合は、この段階でアンインストールして再起動しておく。

★画像タイトル★ 初回起動時の仮想マシンの例
これはWindows XP SP3を変換しようとしている場合の例(Windows XP Modeの仮想ディスクではなく、自分でインストールしたWindows XP SP3を使用)。Windows Virtual PCから持ってきた仮想ディスクで起動すると、ハードウェアの違いなどを検出してこのようなウィザード画面が数多く表示されるが、すべて無視する。そしてWindows Virtual PCの統合コンポーネントをアンインストールして、代わりにHyper-Vの統合サービスをセットアップする。

 正常に起動できたら、次はHyper-Vの仮想マシン・ウィンドウで[操作]−[統合サービス セットアップ ディスクの挿入]を実行し、ゲストOSにHyper-V統合サービスをセットアップする。セットアップ後、必要に応じて(何度か)再起動する。

★画像タイトル★ Hyper-Vの統合サービスインストール時の画面例
Hyper-Vの統合サービスをインストールすると、このようにHALの変更やドライバのインストールが行われる。

 ここまでくれば、移行はほぼ成功といってよいだろう。後は、ハードウェアを1つずつ追加・変更しながら設定を行えばよい。具体的には、CPUコアを増やす、ネットワーク・アダプタを追加する、ディスクを追加する、などを行う。なおCPUコアを増やすと、場合によってはブルースクリーン(BSOD)が表示されることがある。Windows XPやそれ以前のOSではその確率が高いので(手元のWindows XP SP3では問題なかったが)、その場合は1コアのみで運用する。また、ハードウェアを変更する場合は、必ず1作業ごとにゲストOSを再起動させること。一気に行うと失敗する確率が高いので注意する。ちなみにHyper-Vにはスナップショットがあるので、少しずつスナップショットを取りながら作業してもよいだろう(作業が終了したら、スナップショットをすべて削除すること)。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。