Windows 7 解剖 – 2:「XP Mode」について

先日McAfee Blogでは、新たに強化された内部構造として、新軽量カーネル「MinWin」について取り上げました。今回はWindows 7の新機能である、仮想化とリモート・アプリケーションを組み合わせた「Windows XP Mode(XPM)」について紹介したいと思います。

まずWikipediaの解説を引用して、簡単にXPMを説明します。「XPMは『Windows Virtual PC』用の仮想マシンパッケージであり、ゲストOSとしてインストール/ライセンス取得済み『Windows XP SP3』が付属しています。必要なコンポーネントが総合的にインストールされており、XPM仮想化環境で作動中のアプリケーションはホスト環境で直接動いているように見え、Windows 7本来のデスクトップやスタートメニュー、ファイル・タイプ関連の設定を利用することができます。XPMアプリケーションは仮想化Windows XP内のターミナル・サービスセッション内で動き、Windows 7ホスト環境上のクライアントとリモートデスクトップ・プロトコル(RDP)を介して通信します。仮想マシンのWindows XP上で動くアプリケーションをRDPでWindows 7ホストにリダイレクトしているため、互換性の問題も発生しません」

正常にインストールできたXPMでは、「Enhanced Mode」、「Basic Mode」、「Virtual Applications Mode」の3種類のモードが使用可能です。Windows XPのデスクトップをそのまま表示して使う「Enhanced Mode」と「Basic Mode」は、通常のVirtual PCを使う場合と、見た目は全く変わらず、Virtual PCとWindows XP仮想マシンが表示されます。

以下は、「Enhanced Mode」および「Basic Mode」のスクリーンショットです。

一方、「Virtual Applications Mode」で実行した仮想アプリケーションは、通常のWindows 7アプリケーションと同様にWindows 7のデスクトップとスタートメニューと連携します。このモードでは、Virtual PCとWindows XP仮想マシンは表示されません。実際にはWindows XP仮想マシン上で動いている二つの仮想アプリケーションである「TCPView」と「Process Explorer」が、まるでWindows 7ホスト上で動いているかのように、Windows 7ホストのデスクトップに表示されます。このモードはVMware社の「Unity」機能に似ていますが、内部の仕組みは異なります。

以下は、「Virtual Applications Mode」のスクリーンショットです。

「Virtual Applications Mode」ではWindows XP仮想マシンの表示やアクセスが不可能であるため、仮想アプリケーションの状況を調べるには「TCPView」と「Process Explorer」を使用しなければなりません。これらが、調査したい仮想アプリケーションのショートカットが対応するWindows XP仮想マシンの「All Users」プロファイル内(\Documents and Settings\All Users\Start Menu\Programs)に作られることで、アプリケーションは自動的にWindows 7ホストへ発行されます。

「TCPView」の出力結果から、Windows 7ホストとWindows XP仮想マシンのリモートデスクトップサービスは直接接続されておらず、Windows XP仮想マシン上のゲストサービス(vmsrvc.exe)を使っていることが分かります。vmsrvc.exeは、ターミナルサービス(svchost.exeから実行されるtermsrv.dll)のモニタリングしている3389番ポートに、ローカル接続します。そしてゲストサービスは、VPCBus(Hyper-VのVMBusに相当する仮想的な通信バス)経由でVirtual PCホストプロセス(vpc.exe)とやり取りを行います。なおこの通信経路はホストとゲストを結ぶ専用チャネルであり、仮想マシン間のネットワークを使用しないため、高速かつ効率的なデータ交換が実行可能です。ホスト側ではVirtual PCホストプロセスが名前付きパイプサーバーとして機能すると共に、ほかのVirtual PCコンポーネントであるVmsal.exeが同じパイプのクライアントとして機能することで、ホスト上での仮想アプリケーション起動の仲介を行います。この通信チャネルは複数のコンポーネントを組み合わせることにより、Windows 7ホストとWindows XP仮想マシンを双方向に結び、仮想マシンに対するキー入力やマウス操作で変化するグラフィックス情報を一つにまとめ、Windows 7のデスクトップに遠隔表示するよう送信します。

以下のプロセスツリー構造は、「TCPView」と「Process Explorer」がいずれもWindows XP仮想マシンのRemoteAppセッション内で動いており、rdpinit.exe(RDPシェルのログオン・プロセス)の子プロセスであることを示しています。

結論として、XPMは、マイクロソフトの仮想化ソリューションに含まれる企業向け仮想化デスクトップ管理ソフトウエア「Microsoft Enterprise Desktop Virtualization(MED-V)」の構成アプリケーションといえるでしょう。同社の仮想化ソリューションには、「Server Virtualization(Hyper-V)」や「Application Virtualization(App-V)」(旧名称「SoftGrid」)、また「Windows Vista」のフォルダーリダイレクト/ユーザー・ローミング機能を実現する「Profile Virtualization」などがあります。

関連記事

※本ページの内容はMcAfee Blogの抄訳です。
原文:Windows 7 – XP Mode

[レポート]クラウド環境の現状レポートと今後 ~クラウドの安全性の状況と実用的ガイダンス

 マカフィーでは、1,400人のIT担当者に年次アンケートを実施し、クラウド採用状況やセキュリティについて調査しました。
 調査の結果、クラウドの採用とリスク管理への投資を増やしている組織がある一方で、クラウドの採用に慎重なアプローチをしている組織が多いことがわかりました。
 本調査では、クラウドサービスの利用状況を分類し、短期投資の確認、変化速度の予測、重要なプライバシーおよびセキュリティ上の障害物への対応方法の概要を示しています。

 本レポートでは、クラウドの現状把握と今後の方向性、クラウド対応の課題やポイントを理解することができます。

<掲載内容>
■ 主要調査結果
■ 調査結果から言える方向性
■ 課題への対応
■ 変化への対応力
■ 考慮すべき点:安全なクラウドの採用で事業を加速