Microsoft Virtual PC 2007でLinuxがサポートされていない理由の検証

 MicrosoftがVirtual PC(VPC)2007仮想化ソフトウェアをフリーウェアとしてリリースしたのは、つい最近の話である。これだけを聞けばいいニュースのように感じられるかもしれないが、実際にはそうは問屋が卸さないようだ。オープンソース化されていないことが原因という訳ではないだろうが、VPC 2007ではLinuxを扱えないのである。確かにLinuxは正式なサポート対象のゲストオペレーティングシステムには含まれていないものの、旧バージョンのVPCでは各種のLinuxディストリビューションを扱うことができていたはずだ。そこで今回私は、何が使えて何が使えないのかを実地に確認してみることにした。数時間の試行錯誤の結果判明したのは、MicrosoftがVPC 2007でのLinuxディストリビューションのサポートを宣言していない理由であった。

 Virtual PC 2007がリリースされた際に使われた最大の売り文句は、ホストおよびゲストOSとしてのWindows Vistaのサポートであった。実際VPC 2007は、Windows XP Professional以降でのみ、その動作が保証されている。

 VPCのインタフェースは、簡単かつ理解しやすい構成になっている。仮想マシンの作成にあたっては、ユーザが細部の設定をすることも、VPC任せで自動処理させることもできる。ただし、デフォルト設定で仮想マシンを作成させる「Use default settings to create a virtual machine」オプションを選択して作られるのは、ハードディスクを持たないRAM容量128MBのみの仮想マシンとなるので、実際には使い物にならない。

Virtual PC 2007 settings
Virtual PC 2007の設定画面(クリックで拡大)

 今回のテストに用いたのは、Intel VT仮想化エクステンションを装備したIntel Core 2 Duo E6300プロセッサ搭載マシンである。VPC 2007の場合、Intel VTをサポートすることでパフォーマンスの改善を果たしている。なお、ここでのテスト用に作成したゲストについては、512MBのRAMおよび6GBのハードディスクを装備させ、オーバーヘッド削減用のスペースを事前に割り当てておいた。

 最初に試したディストリビューションはKnoppix 5.0である。そのブートアップおよびハードウェアの認識はスムースに進行し、起動開始から20秒もしないうちにKDEデスクトップが使える状況になった。これに気をよくしてOpenOffice.org 2.0を起動させたところ、こちらも数秒以内にアプリケーションの読み込みが終了している。ゲストシステムによるブリッジ経由のネットワーク接続についても、何事もなかったかのようにゲスト用のIPアドレスが取得され、通常のネットワーク処理を問題なく行える状態になった。次にFreeSBIE 2.0というFreeBSDベースの最新版ライブCDを試したが、Knoppixの場合と同様、このディストリビューションも見事なまでに正常に動作してくれた。

 これらライブCD形式ディストリビューションの対応度には非常に満足させられるものがあったので、次の段階としてインストール形式のディストリビューションを試すことにした。先頭打者に選んだのは、ライブCD環境からのインストールが可能なUbuntu 6.10である。ところがUbuntuデスクトップを表示する段階で、いきなりトラブルが発生してしまった。対応策を求めてGoogleで検索したところUbuntu Wikiにたどり着き、そこで見つけたのが、旧バージョンのVPCであるVirtual PC 2004でUbuntuを使うための設定を解説したページである。

Installing Ubuntu in Virtual PC 2007
Virtual PC 2007でのUbuntuインストール画面(クリックで拡大)

 結局のところXサーバの設定ファイルを編集して、画面の色深度をデフォルトの24ビットから16ビットに変更する必要があったのである。この問題がVPC 2007でも解決されていないのは腑に落ちないが、とりあえず何が問題であったかを確認できたことで満足しておこう。

 このように先のWikiにあった説明に従ったところ、Ubuntu 6.10ライブCDのデスクトップは正常に表示され、その後のインストール作業を進められるようになった。さて、UbuntuインストレーションはCD1枚の構成なので、通常の場合インストールにかかる時間はそれ程長くないはずであるが、VPC 2007でのファイルコピーには2時間近くを要してしまった。これがVMware Workstationで作成した同スペックの仮想マシンであれば、30分程度で終了するはずなのである。

 この現象に関しては、現実の物理SATAドライブ上にVPCが仮想的なIDEディスクを作成しようとしていることが原因とも考えられる。とはいうものの、ハードディスク関連ではサイズ設定の変更しかできないので、いずれにせよこの件については何の対策も打つことができない。その他に試したのは、Slackware Linux 11というテキストベースのインストーラを装備したディストリビューションである。そして2枚のCDと5時間の労力を費やした今回のインストール作業は、そのすべてが徒労に終わるという結末を迎えた。失敗の原因については、物理的なDVDドライブ、仮想化されたCDドライブ、インストレーションメディアのいずれかに問題がある可能性が高かったので、シングルCD形式のPardus Linux 2007をISOイメージからインストールすることを試してみた。このPardusについても、VMwareでは40分で済んでいたインストール作業が、VPCの場合は3時間近くを要している。

 このようにライブCD使用時は素直に動作するのにインストールしようとすると過大な時間を要する件に関して、私は仮想化ハードディスクに原因があるものと見当を付けていた。ところが、インストール終了後の仮想マシンを実際に起動させたところ、いずれのディストリビューションも私を驚かせるのに充分なパフォーマンスで動作してしまったのである。

 まず第1に、UbuntuおよびPardusの起動に要する時間は、VMware版の仮想マシンの場合と同程度のものであった。そして第2に、これらのディストリビューション上で行うアプリケーションの実行についても起動時間に関して差異は見られなかった。例えばOpenOffice.org 2.0の場合、起動完了までに要した時間は10秒以下である。仮に仮想化ハードウェアに問題があるとすれば、これだけ高いパフォーマンスを発揮できる訳がない。それだけではなく、VPC 2007版の仮想マシンはいずれも安定しており、クラッシュには1度も遭遇しなかった。

 このようにLinuxディストリビューションをインストールさせる際の遅さについては不満が残るところだが、その点に目をつぶればという条件付きで、ライブCD形式のLinuxディストリビューションのテスト環境としてVPC 2007を推薦してもいいのかもしれない。ところが残念なことにUSBストレージデバイスがサポートされていないので、結局のところそうした用途にも適していないという結論になる。

 VPCの場合、USBドライブを使用できないのはゲストOSがWindowsであっても同様なのだが、特にホストWindowsとゲストLinuxの組み合わせでは、両者の間でドラッグアンドドロップによるデータ移動ができないので、USBドライブまで使えないとなると不自由きわまりないことになる。もっともMicrosoftからはVirtual PC Additionsという、VMwareのVMtoolsに相当するアドオンパッケージが提供されており、これを用いることでWindowsのゲストとホストとの間でファイル転送を行えるようになる。

 仮想化ソフトウェアと言っても、無料ないしフリー/オープンソース扱いのパッケージが多数提供されており、例えばWindows環境でLinuxを動作させたければ、QEMU、Bochs、Virtual Box、VMware Player/VMware Serverという選択肢が存在している。LinuxディストリビューションをWindowsホスト上でテストすることだけが目的であるなら、あえてMicrosoft Virtual PC 2007を候補の1つとして検討する価値は特にないはずだ。

NewsForge.com 原文

MSDNの価格