Hyper-V 上の Windows Vista SP2 仮想マシンに 統合サービスをインストールする
こんにちは、Windows プラットフォーム サポートの住(スミ)です。
さて、Windows Server 2008 および Vista の SP2 が既にリリースされておりますが、まだされていない方は、ここからダウンロードできますので、ぜひインストールしてみてください。
SP2 での変更点や、改良された点などの紹介は、別の機会にゆずるとして、今回は、Hyper-V 環境の仮想マシンとして Windows Vista SP2 を導入する際の注意点と回避方法について紹介させていただきます。
仮想化環境として、Windows Server 2008 + Hyper-V RTM (KB950050) を導入した環境に、仮想マシンとして、Windows Vista SP2 を構築すると、Hyper-V マネージャから統合サービスをインストールした際に、エラーが発生してインストールに失敗する場合があります。
これは、仮想化環境にインストールされている統合サービスのインストール用イメージが Windows Vista SP2 に対応していない為に発生します。
この現象を回避するための正式な方法は、仮想化環境に Windows Server 2008 SP2 を適用することです。
その後、全ての仮想マシンに 統合サービスの再インストールを行う必要があります。
これは、ホストとゲスト間でのバージョンを一致させる為です。
しかし、仮想化環境の変更は全ての仮想マシンに影響を与える為、十分なテストが必要となり、仮想化環境である Windows Server 2008 に SP2 を適用できない場合があります。
このような場合、正式な方法ではありませんが、以下の様な手順を実行することで、仮想マシン上の Windows Vista SP2 に統合サービスをインストールすることができます。
方法1:
仮想マシンに統合サービスをインストール後に SP2 を適用します。
仮想マシンとして新規に Windows Vista SP1 をインストールします。
Hyper-V マネージャから統合サービスのインストールを行います。
仮想マシンに SP2 を適用します。
方法2:
Windows Vista SP2 仮想マシンに SP1 用の統合サービスをインストールします。
- 仮想マシンとして新規に Windows Vista SP2 をインストールします。
- 仮想マシンに接続し、操作メニューから「統合サービス セットアップ
ディスクの挿入」を選択します。 - ここでは、仮想マシン上で「統合サービス セットアップ ディスク」が挿入されたドライブを D: として説明します。
- D:\support の下にある適切なプラットフォームを開きます。
ここでは例として 32bit 版を取り上げます。 - コマンド プロンプトから以下のコマンドを実行します。
> mkdir \CabExt
> mkdir \CabExt\Sandbox1
> mkdir \CabExt\Sandbox2
> expand D:\support\x86\Windows6.0-KB960242-x86.msu –f:Windows6.0-KB960242-x86.cab \CabExt
> start /w pkgmgr.exe /ip /m:c:\CabExt\Windows6.0-KB960242-x86.cab /s:C:\CabExt\Sandbox1
> expand D:\support\x86\Windows6.0-KB960243-x86.msu –f:Windows6.0-KB960243-x86.cab \CabExt
> start /w pkgmgr.exe /ip /m:C:\CabExt\Windows6.0-KB960243-x86.cab /s:C:\CabExt\Sandbox2 - 指示に従って、再起動します。
方法3:
64bit 版のWindows Server 2008 SP2 から、統合サービスのインストールイメージを抜き出します。
ここでは、32bit 版の Windows Vista SP2 が適用された環境に統合サービスをインストールするものとして説明します。
- 仮想マシンとして新規にWindows Vista SP2 をインストールします。
- 仮想マシン上に 64bit 版の Windows Server 2008 SP2 を用意します。
- コマンド プロンプトから、以下のコマンドを実行し展開します。
> Windows6.0-KB948465-X64.exe /x - ダイアログが開き、展開先を聞かれるので、展開先のフォルダ名を入力します。
ここでは c:\CabExt1 とします。 - コマンド プロンプトから、以下のコマンドを実行します。
> cd \CabExt1
> mkdir VMGuest
> mkdir CabExt2
> expand Windows6.0-KB948465-X64.cab –f:* CabExt2
> xcopy /s /e /i CabExt2\x86_microsoft-hyper-v-g..aller-win5x-package_31bf3856ad364e35_6.0.6002.18005_none_d418a2f28775f1b8\* VMGuest
> xcopy /s /e /i CabExt2\x86_microsoft-hyper-v-g..aller-win60-package_31bf3856ad364e35_6.0.6002.18005_none_3a648026b886c0b1\* VMGuest
> xcopy /s /e /i CabExt2\x86_microsoft-hyper-v-g..t-installer-support_31bf3856ad364e35_6.0.6002.18005_none_71a7a8c9654a3ded\* VMGuest
> xcopy /s /e /i CabExt2\ x86_microsoft-hyper-v-guest-installer_31bf3856ad364e35_6.0.6002.18005_none_73907a3b1ee4c33d\* VMGuest
> mkdir LangCab
> expand CabExt2\KB948465-LangsCab0.cab –f:* LangCab
> xcopy /s /e /i CabExt2\LangCab\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.0.6002.18005_de-e_c0d2a7db7efd1447 VMGuest\de-de
> xcopy /s /e /i CabExt2\LangCab\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.0.6002.18005_en-s_69c37dd46ddb200c VMGuest\en-us
> xcopy /s /e /i CabExt2\LangCab\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.0.6002.18005_es-es_698edab86e0211b1 VMGuest\es-es
> xcopy /s /e /i CabExt2\LangCab\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.0.6002.18005_fr-fr_0c4650b760d42813 VMGuest\fr-fr
> xcopy /s /e /i CabExt2\LangCab\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.0.6002.18005_ja-jp_9893c60b2b211f6c VMGuest\ja-jp
> cd VMGuest
> setup.exe - 指示に従い、インストールを実行し、仮想マシンを再起動します。
方法1と2は、仮想化環境のホスト側の統合サービスをインストールしますので、それほど問題はありません。
方法3は、仮想化環境のホストと仮想マシン間でバージョンの違いがありますので、今後問題が報告される可能性があります。
繰り返しになりますが、この方法で仮想マシンに 統合サービスをインストールする場合、サポート対象にはなりません。
サポートされる正式な方法は、仮想化環境のホスト、仮想マシン共に、SP2 を適用し、Hyper-V マネージャや SCVMM 管理コンソールなどから統合サービスをインストールする方法です。
今回は 32bit 版について詳しく見てみましたが、64bit 版についてもほとんど同じです。
わずかな違いは、ファイル名またはフォルダ名の「x86」と「amd64」です。
(たとえば、「x86_microsoft*」を 「amd64_microsoft*」として読み替えます。)