Windows 7プレビュー

第2回 Windows XP Modeとディスク管理機能

1.Windows XP Mode

デジタルアドバンテージ 打越 浩幸
2009/05/07
2009/05/08更新

本連載では、今年後半のリリースが予定されているWindows 7について、その機能の概要を数回に渡って紹介する。なお本稿では2009年4月に配布が開始されたRC版(ビルド7100)に基づいて執筆しているため、最終的な製品版とは内容が異なることがあることをあらかじめご了承いただきたい。
【2009/08/27】Windows 7は2009年8月にRTM版(製品版)が完成し、すでにOEMなどに向けてリリースされています。正式版をベースにした記事は連載「Windows 7新時代」をご覧ください。

 前回は新しくなったWindows 7のユーザー・インターフェイスについて解説した。今回は最新RC版情報と、 仮想化技術を使って過去のアプリケーションとの互換性を実現するWindows XP Mode、ディスク関連の機能改良点などについて解説する。

Windows 7のRC版がリリースされる

 今年後半にもリリースされる予定のWindows 7は、2009年4月末にRC版(リリース候補版)がリリースされた。RC版は最終的な製品版としてリリースされる前の、最後のテスト・リリースであり、特別な事情がない限り、このRC版で実装されている機能や仕様は最終製品版でもほぼそのまま同じと考えられる。当初は開発者やシステム管理者向けのサブスクリプション・サービス(会員制サービスのMSDNおよびTechNet)などで公開されていたが、現在では登録すれば一般ユーザーでも入手して評価できる。

 上記のページにアクセスし、Windows Liveアカウントを使ってユーザー情報などを登録すればインストール用の.ISOファイルとキーを入手できる。x86版とx64版の2種類のバイナリが公開されているので、どちらかをダウンロード後、DVD-Rなどに書き込めばインストールできる。ビルド番号は7100、試用期限は2010年6月までである(2010年3月以降は起動後2時間で自動シャットダウンする)。一部リソースの日本語化などがまだ行われていないし、不具合もいくらかあるようだが、機能を調査したり、新しいユーザーインターフェイスを体験するなどといった目的には十分だろう。

Windows 7 Ultimate RC版のバージョン情報画面

 前回はベータ版(ビルド7000)を元にWindows 7の新ユーザー・インターフェイスをいくつか紹介したが、ベータ版からRC版にかけて1つ大きな機能追加が行われた。「XP Mode」と呼ばれる、Windows XPのアプリケーションをそのまま動作させる機能である。今回はこのWindows XP Modeの機能を中心に紹介する。

過去との互換性

 Windows 7の開発目標の1つに、過去のアプリケーションとの互換性を最大限に確保する、というものがある。OSが新しくなって便利になるのは望ましいことだが、そのせいで過去のアプリケーションが利用できなくなったり、不具合が生じたりするようでは困る。そのような問題を避けるため、可能な限り過去との互換性を保つように設計されている。一説によれば、Windows Vistaの時よりも、Windows XPとの互換性が高くなっているそうだ。とはいえ、新しい機能や仕様変更を行えば、動作に何らかの支障を来す過去のアプリケーションが出るのはやむを得ない。

 一番簡単な例でいえば、OSのバージョンを見てプログラムが動作を停止するといったケースがある。システムの内部(に近いところ)を操作するようなアプリケーションなどでは、(アプリケーション作成時にはまだ登場していなかった)新しいOSでの動作が保証できないため、新しいバージョンのOSでは起動しないように意図的にしているものがある。このような場合は、互換性ウィザードなどを使い、アプリケーションから見たOSのバージョン番号を一時的に過去のものにして実行させることができる。Windows VistaやXPなどでもこの機能は備えていたが(実行プログラム・ファイルやショートカットのプロパティ画面で変更する)、Windows 7ではアプリケーションを右クリックするだけで簡単に互換性ウィザードを起動できるようにしている。

互換性ウィザードの起動
Windows Vistaでは、アプリケーションに何らかの問題(クラッシュなど)が生じた場合に互換性を設定するウィザードが起動していたが、Windows 7では右クリック・メニュー中に用意されている(やはり使用頻度が高いためか?)。

 Windows 7やWindows Vistaの互換性ウィザードでは、デスクトップ・コンポジション(Vistaで導入された、デスクトップを3Dグラフィックス機能を使って合成する機能。「改良されたVistaの描画アーキテクチャ」参照)を無効にするといった機能が(Windows XPの互換モードに加えて)導入されている。

Windows XP Mode

 このような互換性の問題を解決するより進んだ方法として、新たに「Windows XP Mode」という機能が追加され、RC版から利用できるようになった。

 Windows XP Modeを簡単に言うと、仮想実行環境であるVirtual PC上で動作する32bit版のWindows XP Professionalシステムそのものである。互換性ウィザードなどのように、APIの挙動などを変更してWindows XPに似せているのではなく、本当にWindows XPの実行イメージを起動させ、その上でアプリケーションを実行しているので、互換性や操作性はWindows XP上で利用している場合と「ほとんど」同じである。「ほとんど」というのは、Windows XPやWindows Vista上で利用できるVirtual PCとは異なり、Windows 7システムと高度に統合化されているからだ。「Microsoft Enterprise Desktop Virtualization (MED-V)」という、Virtual PC/Virtual Serverなどの技術をベースにした、エンタープライズ向けのアプリケーション仮想化ソリューションがあるが、その技術をベースにしているようである。

 Windows XP Modeでは、ユーザーがゲスト・マシン上のWindows XP内にアプリケーションをインストールすると、そのアプリケーションのショートカット([スタート]メニュー)は自動的にホストOSの[スタート]メニュー、つまりWindows 7側の[スタート]メニューに登録される。そしてユーザーがそのメニューをクリックすると、自動的に仮想マシンが立ち上がり、指定したアプリケーションが起動する。といっても、仮想マシンのデスクトップが見えるわけではなく、起動したアプリケーションのウィンドウだけが直接ホスト側のWindows 7のデスクトップ上にシームレスに表示される。これを「仮想アプリケーション」という。ユーザーは、仮想マシンを利用していることを意識することなく、アプリケーションを実行できる(Virtual PCのように、デスクトップ全体がウィンドウ表示される仮想マシン・モード中で操作することも可能。その場合は仮想アプリケーション・モードは利用できない)。アプリケーションを終了すると仮想マシンは休止状態になり、2回目以降のアプリケーション起動も高速に行われる。

 ただし基本的には仮想マシンを使ってアプリケーションを実行しているため、例えばホストPCとデータを共有するためには、Virtual PCで行っていたように、ファイル共有などを介する必要がある。例えばアプリケーションから保存コマンドを実行すると、ホストOSのドライブが仮想的に見えるので(例えばホスト側のD:ドライブが、「マイ コンピュータ」の下に「WIN7PC001 の D」といった仮想フォルダとして見える)、そこへ保存すればよい。ネットワークは(デフォルトでは)Virtual PCの「共有ネットワーク (NATモード)」として構成されているので、LANやインターネットへのアクセスも可能である。

 また、仮想マシンは独立した1台のコンピュータであるため、セキュリティを確保するためにはファイアウォールやウイルス対策ソフトウェア、Windows Updateなどを仮想PCにも導入するなどの対策が必要である(つまり2台分管理する必要があるということ)。パフォーマンスの面でも、仮想マシンは3Dグラフィックスやマルチメディア系アプリケーションなどには向かないため、ビジネス系アプリケーションの使用がメインとなるであろう。

 このような事情があるため、Windows XP Modeは誰もが簡単に利用できる互換性維持技術というよりは、Windows XPでしか動作しない多くのアプリケーションを抱えている企業が、最小限の移行コストでWindows 7を導入することを手助けするための技術といえる。ただし集中管理などの機能は(現状では)持たないため、必要ならばエンタープライズ向け製品であるMicrosoft Enterprise Desktop Virtualization (MED-V)を導入して、グループ・ポリシーなどで集中管理するのが望ましい。

Windows XP Modeのシステム要件とインストール

 Windows XP ModeはWindows 7のすべてエディションで利用できるわけではなく、Professional/Ultimate/Enterpriseの各エディションでのみ利用可能とされている。また導入するためにはハードウェア仮想化支援機能(Intel-VTやAMD-V)を持ったCPUが必要となっている。現在普及しているCPUでも、64bitには対応しているが、VT機能は持っていないというCPUも少なくない(特にローエンド向けCPUの場合)。Virtual PCやVirtual Serverと違い、ハードウェア仮想化支援機能が利用できない場合は、パフォーマンスが落ちるのではなく、Windows XP Modeそのものが利用できない。CPU負荷が大きくないであろう過去のアプリケーションを動かすために、最新のCPUを要求されるというのはやや疑問が残るが、仮想化によってシステムのパフォーマンスが大きく低下するのを防ぐためには、仕方がないのかもしれない。

ハードウェア仮想化が利用できない場合のエラー・メッセージ
ハードウェア仮想化機能が利用できなくてもWindows XP Modeはインストールできるが、起動することはできない。

 Windows XP Modeのために必要なメモリやディスクは実行するアプリケーションにもよるが、通常のVirtual PCを利用するときと同じである。デフォルトでは仮想マシンに256Mbytesのメモリを割り当てるようになっているが、日本語Windows XPの場合はもう少し多くてもよいだろう。

 Windows XP Modeは現在のところ、Windows 7のRC版とは別のモジュールとして、ダウンロード・センターやMSDN、TechNetサブスクリプションなどで提供されている(最終的な提供形態は未定)。

 モジュールが2つあるが、両方ともダウンロードしておく(ホストOSのx86/x64アーキテクチャに合わせて、どちらかをダウンロードする。ただしいずれを利用しても、32bitゲストOSしか実行できず、64bitゲストOSは利用できない)。1つは「Windows Virtual PC」というモジュールで、これがWindows XP Modeの本体である(従来のVirtual PC 2007の本体に相当)。もう1つは「Windows XP Mode」というモジュールで、この中にゲストOSの仮想ディスクの本体(マスター)とその構成ファイルが含まれている。これらのファイルをインストールすると、Windows 7の[スタート]メニューには次のような項目が登録される。

登録されたWindows XP Modeのメニュー
Windows XP Modeをインストールすると、このようなメニュー項目が登録される。
仮想マシンのデスクトップを表示するモード。従来のVirtual PCなどでの利用イメージに近い。
仮想マシンの作成、管理メニュー。「Virtual Windows XP」の設定ファイルが保存されているフォルダgが開く。

 1の[Windows Virtual PC]−[Virtual Windows XP]を選択するとWindows XP環境が起動するが、初回は仮想環境の準備が行われるのでしばらく時間がかかる。Windows XP Modeの.VHDファイルは、実際にはsysprepで事前準備されたWindows XP Professional(SP3)のインストール・イメージであり、ユーザーごとにこれを基にして差分ディスクを作成して、仮想マシンの起動、カスタマイズを行っている(sysprepについてはTIPS「sysprepで環境複製用のマスタ・イメージを作成する」参照)。そのため、アプリケーションのインストールなどはログオンするユーザーごとに行う必要がある。

Windows XP Modeの起動画面
これはWindows XP Modeを仮想マシン・モードで起動したところ。初期設定やアプリケーションのインストールなどはこの状態で行う。一部メニューが異なるくらいで、通常のVirtual PC上の仮想マシンのウィンドウとほぼ同じである。ただしVirtual PC 2007にあったような、仮想マシンを起動するためのラウンチャ画面はない。[Windows Virtual PC]−[仮想マシン]メニューを実行すると、仮想マシンの構成ファイルのフォルダが開くので、そこで設定する。
仮想マシンのウィンドウと操作メニュー。従来のVirtual PCでの利用イメージに近い。
仮想マシン中で動作しているWindows XP Professional SP3(x86版)がそのまま動作しているので、XPアプリケーションとの互換性は高い。

 Windows XP Modeにアプリケーションをインストールするには、[スタート]メニューの[Windows Virtual PC]−[Virtual Windows XP]で仮想マシンを起動し、仮想マシン内で通常の手法でアプリケーションをインストールする。するとWindows XPの[スタート]メニューに登録された項目が自動的に「公開」され、それがWindows 7の[スタート]メニューにも登録される。

メニュー項目の公開
Windows XP Modeにアプリケーションをインストールすると、登録されたメニューの項目が自動的にホスト側のWindows 7の[スタート]メニューにも登録されるようになる。これはそのための仮想マシンの設定スイッチ。
メニューの自動公開の設定。
仮想デスクトップ画面のウィンドウを閉じても、デフォルトでは休止状態になるだけである。次にアプリケーションを起動すると、休止状態から復帰するので、待ち時間が少なくて済む。
これをオンにすると(デフォルト設定)、仮想マシンの[スタート]メニューに登録された項目が、自動的にWindows 7の[スタート]メニューにも反映される。

 アプリケーションのインストールは、仮想マシン上で通常通り行えばよい。

Windows XP Modeへのアプリケーションのインストール
Windows XP Modeでのアプリケーションのインストールは、通常のインストールと同じである。ここではOffice 2003をインストールしている(もっともこれらのアプリケーションは、Windows XP Modeを使わなくても、Windows 7上で問題なく動作するのだが、ここでは例のために挙げている)。

 アプリケーションのインストール後、そのまま仮想マシンの[スタート]メニューからアプリケーションを起動すれば、従来のVirtual PCのように利用できる。

インストールされたアプリケーション(1)
仮想マシン上に追加されたアプリケーションのメニューの例。これらをクリックすれば、そのまま利用できる。

 いったん仮想マシンを終了させ(切断し)、今度はWindows 7の[スタート]メニューの[Virtual Windows XPアプリケーション]からインストールしたアプリケーションを起動させると、仮想アプリケーション・モードで実行される。

インストールされたアプリケーション(2)
仮想マシン上に追加されたアプリケーションのメニューがこのように、Windows 7のメニューにも登録されている。これらをクリックすると、仮想アプリケーション・モードで起動する。
仮想マシン中の[スタート]メニューに追加された項目が、同じようにここに表示されている。これらの項目をクリックすると、仮想アプリケーション・モードで起動する。

 仮想アプリケーション・モードでは、次のように、ローカルのアプリケーションと同様に利用できる。

仮想アプリケーションの実行例
仮想アプリケーションとしてWord 2003とExcel 2003を起動した場合の例。通常のローカルにインストールしたアプリケーションと同様に利用できる。ただし、かな漢字変換は仮想マシンのものが使われている。仮想環境のためか、若干描画が遅いと感じられるときがあるが、ハードウェア仮想化支援機構のおかげで、快適に利用できる。
仮想アプリケーション・モードで起動しているプログラム。
末尾に「(リモート)」と付いているのが仮想アプリケーション。

USBデバイスの使用

 このWindows XP Modeの仮想環境は、Virtual PCと比べるとUSBが利用できるなど、いくらか機能が拡張されている。ホストPCにハードディスクやUSBメモリ、Webカメラ、USB接続の入出力/セキュリティ・デバイス/プリンタ、USBのドングル(コピー・プロテクト用のUSBキー)といった機器を接続すると(マウスやキーボードは表示されないようだ)、通常はホストPC側で制御されるが、これを仮想マシン側へ割り当て直すことができる。例えば以下は、USBデバイスが接続された状態のメニューの例である。メニューの項目の末尾に[共有]や[接続]とあるが、これらを選択すると、それらのデバイスが仮想マシン側へ「USB仮想化スタブ・ドライバ」を経由してリダイレクトされる。ホストPC側からは見えなくなるので(切断されたように見える)、仮想マシン側でデバイス・ドライバなどをインストールすれば利用できる。なお「共有」といってもホストとゲストから同時にアクセスできるわけではない(ホストとゲストのどちらからも利用できるので、共有と呼んでいるようである)。

仮想マシン環境でのUSBデバイスの使用
この機能を利用すると、ホストPC側に接続したUSBデバイスを、仮想マシン(Windows XP)側で独占的に利用できる。USBデバイスが仮想マシンに割り当てられている場合は、メニューの末尾が「リリース」に変わる。
[USB]メニュー。
仮想マシンに接続すると[リリース]と表示される。これはゲーム・コントローラの接続例。リリースすると、仮想マシンから解放される。
未接続の場合は[接続][共有]と表示される。
ホストとゲストで(排他的に)共有できるデバイスの場合は[共有]と表示される。ストレージやスマートカード・リーダなどが該当する。ホスト側では利用せず、ゲスト側へリダイレクトするデバイスの場合は[接続]と表示される。
ゲーム・コントローラの接続例。
USBカメラの接続例。


 INDEX
  Windows 7 ベータプレビュー
  第1回 Vistaからさらに進化したWindows 7の新GUI
    1.シンプルになったデスクトップ画面とタスク・バー
    2.ウィンドウ切り替えと通知アイコン、UAC
  第2回 Windows XP Modeとディスク管理機能
  1.Windows XP Mode
    2.ディスク管理ツールの強化
  第3回 ネットワークとセキュリティ機能
    1.BitLocker To Go
    2.AppLockerとネットワーク機能

更新履歴
【2009/05/08】Windows Virtual PCのダウンロード先情報を追加しました。また、USBデバイスの「共有」と「接続」の意味に関する記述を、(当初のあいまいな表現から)評価ガイドに基づき変更しました。

 「製品レビュー」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間