第7章 Windows 8の機能とソフトウェア - 後方互換性の維持に使えるか? 「クライアントHyper-V」 その4
多くのユーザーが仮想化システムを使用する目的の一つが、後方互換性の維持である。例えば、Windows 8では動作しない以前のソフトウェアやデバイスを使用するため、仮想マシン上にWindows XPなど古いOSをインストールすることで、後方互換性を維持することだろう。そこでWindows 7では、Windows XP Mode(Windows Virtual PC)を上位エディションユーザーに無償提供していた。それでは、Windows 8+クライアントHyper-V環境から同様の結果を得られるか、と問われると答えは"否"である。
そもそもWindows 7で使用していたWindows XP Mode(Windows Virtual PC)は、USBパススルードライバーを組み込むことで、ホストマシンに接続したUSBデバイスを仮想マシン上のゲストOSで使用可能にしていた。しかし前述のとおり、クライアントHyper-VはUSBデバイスをサポートしていない。これはWindows Virtual PCがクライアント向け仮想化システムであることに対し、Hyper-Vは以前Windows Server Virtualizationと呼ばれていたように、サーバー上で複数の仮想マシンを実行することを目的とする、スタート地点の相違から発生したものだろう。
もっともエンタープライズにおけるHyper-Vの活用事例でも、USBデバイスを必要とする場面は多いらしく、Windows Server 2008 R2 Service Pack 1から「RemoteFX(リモートエフエックス)」という技術を導入した。RemoteFXは複数の技術から成り立っている。中でもGPUを仮想化するRemoteFX vGPUが有名だが、今回の問題と直結するのはUSBデバイスをリダイレクトするためのRemoteFX USBだ。
MSDNの解説記事に掲載されている表を見ると、例えばスキャナーを仮想マシン上で使用するにはRemoteFX USBリダイレクションが必要。一定条件を満たすメディアプレーヤーやWebカメラはPlug and Playデバイスとして、USB-HDDやUSBメモリはドライブとしてリダイレクションされる仕組みだ(図545~546)。
このようにRemoteFXの各機能を使用するには、クライアントHyper-V上の仮想マシンに接続する「Hyper-V仮想マシン接続」ではなく、「リモートデスクトップ接続」を使用しなければならない。そもそもリモートデスクトップ接続には、ローカルデバイスやローカルリソースを接続先のOSと共有する機能を備えている。 今回試した環境でもUSBメモリがリムーバブルディスクとして、iPadは「その他のサポートされているプラグアンドプレイデバイス」に列挙された。
だが、接続先であるゲストOSで認識されたのはUSBメモリのみ。リムーバブルディスクとして動作するのは従来のリモートデスクトップ接続と同じだが、ホストOSであるWindows 8では、ポータブルデバイスの一種として認識されていたiPadがゲストOSで認識されることはない。これが、RemoteFXがサポートされていない状態だ(図547~549)。
その一方でグループポリシーエディターには、「サポートされている他のRemoteFX USBデバイスの、このコンピューターからのRDPリダイレクトを許可する」というポリシー設定が用意されている。こちらを有効にして同じ検証を試してみたが、結果は同じだった。そもそもMicrosoftのWebサイトにあるWindows 8 Enterpriseの説明を確認すると、「VDI Enhancements」の項にRemoteFXの単語が確認できる。これらの検証結果と同ページの説明を踏まえると、RemoteFX機能はWindows 8 Enterpriseに限定され、Windows 8 Proには提供されないと考えるのが自然だろう(図550~552)。
前述のとおりHyper-Vの成り立ちや役割、Microsoftの戦略を踏まえると、クライアントOSにRemoteFX機能を提供しないのは理解できる。だが、Windows 8で仮想化システムを使用し、古いOSなどをゲストOSとして活用したい方にとってHyper-Vは"帯に短したすきに長し"になるのははっきりした。Windows XPを仮想マシンにインストールした際にも述べたが、前述のような場面が多い場合は、クライアントHyper-Vを有効にせず、VMware PlayerやVirtualBoxなど他社製仮想化ソフトウェアを使用するのが現時点ではベストとなる。