互換性の問題を根本的に解決する方法として、Windows 7では新たに「Windows XP Mode」という機能が追加された。Windows XP Modeを簡単に言うと、仮想実行環境であるVirtual PC上で動作する32bit版のWindows XP Professional SP3システムそのものである。互換性タブのように、APIの挙動などを変更してWindows XPに似せているのではなく、本当にWindows XPのOSイメージを起動させ、その上でアプリケーションを実行しているので、互換性や操作性はWindows XP上で利用している場合と「ほぼ」同じである。「ほぼ」というのは、Windows XPやWindows Vista上で利用できるVirtual PC 2007とは異なり、Windows 7システムと高度に統合化されているからだ。「Microsoft Enterprise Desktop Virtualization (MED-V)」という、Virtual PC/Virtual Serverなどの技術をベースにした、エンタープライズ向けのアプリケーション仮想化ソリューションがあるが、その技術をベースにしているようである。
■完全なWindows XP環境の再現
Windows XP Modeは仮想マシン上でWindows XPを動作させているため、実行環境としてはWindows XPマシンとまったく同じである。ただし仮想マシンなのでグラフィックス機能にはやや制限があるが(S3 Trio32/64相当。DirectXなどは利用できない)、ワープロとか表計算といった、一般のビジネス・アプリケーションならば問題なく利用できるだろう。
■ホスト側OSとのメニューの統合
Windows XP Modeでは、ユーザーがゲスト・マシン上のWindows XP内にアプリケーションをインストールすると、そのアプリケーションのショートカット([スタート]メニュー)は自動的にホストOSの[スタート]メニュー、つまりWindows 7側の[スタート]メニューに登録される。そしてユーザーがそのメニューをクリックすると、自動的に仮想マシンが立ち上がり、指定したアプリケーションが起動する。といっても、仮想マシンのデスクトップが見えるわけではなく、起動したアプリケーションのウィンドウだけが直接ホスト側のWindows 7のデスクトップ上にシームレスに表示される。これを「仮想アプリケーション」という。ユーザーは、仮想マシンを利用していることを意識することなく、アプリケーションを実行できる(Virtual PC 2007のように、デスクトップ全体がウィンドウ表示される仮想マシン・モード中で操作することも可能。その場合、仮想アプリケーション・モードは利用できない)。アプリケーションを終了すると仮想マシンは休止状態になり、2回目以降のアプリケーション起動も高速に行われる。
■ホストとのデータ共有
Windows XP Modeでは仮想マシンを使ってアプリケーションを実行しているため、例えばホストPCとデータを共有するためには、Virtual PCで行っていたように、ファイル共有などを介する必要がある。例えばアプリケーションから保存コマンドを実行すると、ホストOSのドライブが仮想的に見えるので(例えばホスト側のD:ドライブが、「マイ コンピュータ」の下に「WIN7PC001 の D」といった仮想フォルダとして見える)、そこへ保存すればよい。ネットワークは(デフォルトでは)Virtual PCの「共有ネットワーク (NATモード)」として構成されているので、LANやインターネットへのアクセスも可能である。
■USBパス・スルーによるデバイスのサポート
Windows XP Modeでは、USBのパス・スルー機能がサポートされている。これは、ホスト・コンピュータに接続したUSBデバイスを、仮想マシンへパス・スルー(そのまま受け渡す)機能である。従来のVirtual PCではUSBはサポートされていなかったので、USB接続された特殊なデバイス(認証デバイスなど)やWindows XPのドライバしかない古いデバイスなどは仮想マシンでは利用できなかった。Windows XP Modeでは、このようなデバイスでも仮想環境から利用できる可能性がある。ただしUSBのパス・スルーで対応できないデバイスはWindows XP Modeでも利用できないし、TVチューナのようにDirectDrawやマルチメディア系の機能が必要なデバイスはやはり利用できない(ことが多い)。
なお、仮想マシンは独立した1台のコンピュータであるため、セキュリティを確保するためにはファイアウォールやウイルス対策ソフトウェア、Windows Updateなどを仮想PCにも導入するなどの対策が必要である(つまり2台分管理する必要があるということ)。パフォーマンスの面でも、仮想マシンは3Dグラフィックスやマルチメディア系アプリケーションなどには向かないため、ビジネス系アプリケーションの使用がメインとなるであろう。
このような事情があるため、Windows XP Modeは誰もが簡単に利用できる互換性維持技術というよりは、Windows XPでしか動作しない多くのアプリケーションを抱えている企業などが、最小限の移行コストでWindows 7を導入することを手助けするための技術といえる。ただし集中管理などの機能は(現状では)持たないため、必要ならばエンタープライズ向け製品であるMicrosoft Enterprise Desktop Virtualization (MED-V)を導入して、グループ・ポリシーなどで集中管理するのが望ましい。
Windows XP Modeのシステム要件
【2010/03/30更新】当初は、Windows XP Modeを利用するためにはCPUによるハードウェア仮想化支援機能(Intel-VTやAMD-V)が必要であった。しかし後日公開された更新プログラムを適用することにより、それらの機能がないCPUでも利用できるようになっている。以下ではこの更新プログラムに関する記述を追加/変更している。TIPS「仮想化支援機能がないプロセッサでWindows XP Modeを動かす」も参照のこと。
Windows XP ModeはWindows 7のすべてエディションで利用できるわけではなく、Professional/Ultimate/Enterprise(32bit版/64bit版)の各エディションでのみ利用できる(StarterやHome Basic、Home Premiumでは利用できない)。これらのOSのユーザーは、追加のライセンスを購入しなくても、Windows XP Mode上でこのWindows XP Professional SP3を利用する権利が与えられている。
この機能を導入するためには、ハードウェア仮想化支援機能(Intel-VTやAMD-V)を持ったCPUを利用することが望ましい。現在普及しているCPUでも、64bit命令セットには対応しているが、ハードウェア仮想化支援機能は持っていないというCPUも少なくない(特にローエンド向けCPUの場合)。また搭載しているCPUがハードウェア仮想化支援機能をサポートしていても、BIOSなどで無効化されており、有効化できないコンピュータもあるので注意が必要だ(TIPS「Windows 7のWindows XP Modeが利用できるかどうかを調べる」)。後述の更新プログラムを適用することにより、そのようなシステムでもWindows XP Modeが利用できるようになる。
ただしハードウェア仮想化支援機能が利用できない場合は、パフォーマンスが大きく低下するので注意していただきたい。特にWindows Virtual PC上でWindows XP以外のOSを利用する場合はパフォーマンスの低下が顕著なので、これらのOSを利用したければハードウェア仮想化支援機能が利用できるシステムにすることが望ましい(Windows Virtual PCはWindows XPを実行するための専用環境というわけではない。Virtual PC 2007などのように、ほかのゲストOSも実行できる。TIPS「Windows Virtual PCで新しい仮想マシンを作成する」参照)。
Windows XP Modeのために必要なメモリやディスクは実行するアプリケーションにもよるが、通常のVirtual PCを利用するときと同じである。デフォルトではWindows XP Modeの仮想マシンに512Mbytesのメモリを割り当てるようになっているので、システム全体(ホスト・コンピュータ)のメモリは、2Gbytes以上はほしいところだ。必要なディスク領域は、Windows XP Modeのインストールに2Gbytes、Windows XP Modeの実行に15Gbytes以上となっている。
Windows XP Modeは、RTM版(最終製品版)のWindows 7のOSイメージには含まれておらず、ユーザーがダウンロード・センターからダウンロードして、手動でインストールする必要がある(以前のRC版を利用している場合は、それらをアンインストールしておくこと)。
インストールするべきモジュールが3つあるが、まず1→2の順にインストールする(詳しくはインストール・ドキュメントを参照)。1.の「Windows XP Mode」は、仮想マシン上で実行する日本語版Windows XP Professional SP3相当の仮想ディスク・ファイル(VHDファイル)で、2.の「Windows Virtual PC」はWindows XP Modeの本体である(従来のVirtual PC 2007の本体に相当)。2.には32bit版と64bit版の2種類があるので、ホストOSのx86/x64アーキテクチャに合わせて、どちらかをダウンロードする。ただしいずれを利用しても、32bitゲストOSしか実行できず、64bitゲストOSは実行できない。またホストCPUがマルチコアであっても、ゲスト環境では1コアしか利用できないという制限がある。
1.と2.のインストール後、ハードウェア仮想化支援機能が利用できないコンピュータの場合は、さらに3.の更新プログラムもダウンロードしてインストールする(32bit版と64bit版のいずれかをインストール)。これはWindows Virtual PC本体(および統合コンポーネント)の更新版でもあるので、ハードウェア仮想化支援機能が利用できる場合でもインストールしておいてもよいだろう。ただしすでにWindows XP Modeを利用している場合にこの更新プログラムを適用すると、統合コンポーネントの更新を要求されることがあるので、必要に応じて更新しておく。TIPS「仮想化支援機能がないプロセッサでWindows XP Modeを動かす」も参照していただきたい。
これらのファイルを順にインストールすると、Windows 7の[スタート]メニューには次のような項目が登録される。
(2)の[Windows Virtual PC]−[Virtual Windows XP]を選択するとWindows XP環境が起動するが、初回は仮想環境の準備が行われるのでしばらく時間がかかる。Windows XP Modeの.VHDファイルは、実際にはsysprepで事前準備されたWindows XP Professional SP3相当のインストール・イメージであり、ユーザーごとにこれを基にして差分ディスクを作成して、仮想マシンの起動、カスタマイズを行っている(sysprepについてはTIPS「sysprepで環境複製用のマスタ・イメージを作成する」参照)。そのため、アプリケーションのインストールなどはログオンするユーザーごとに行う必要がある。
なおWindows XP SP3相当のOSイメージは、起動ドライブであるC:の\I386フォルダの下にすべてコピーされているので(TIPS「インストールCDを使わずにOSコンポーネントを追加する」参照)、仮想マシン上でOSコンポーネントを追加したり、機能を変更したりしても、Windows XP ProfessionalおよびSP3のCD-ROMを用意する必要はない。
【2010/03/30】ハードウェア支援機能が利用できないシステムに対する更新プログラムの情報を追加しました。
Copyright© Digital Advantage Corp. All Rights Reserved.