Snow Leopardと最新仮想化ソフトで使うWindows 7
【Sun VirtualBox編】


Sun VirtualBox(ウィンドウモード)。ゲストOSとしてWindows 7 Enterpriseのすべての機能を90日間試用できる評価版をインストールした

 Mac OS Xの最新版「Snow Leopard」の登場から1カ月が経過した。すでにアップグレードしたユーザーも多いことだろう。アプリケーションのSnow Leopardサポートも進みつつあり、MacでWindowsを使うための仮想化ソフトもそれぞれアップデートが公開されている。今回はSnow Leopard上で動かした米Sun Microsystemsの「VirtualBox」のレビューをお届けする。


●無料で使える仮想化ソフト
ユーザーインターフェイスの日本語ローカライズは筆者が担当している。メニュー表示が「ファイル(F)」となるなどMac OS Xの流儀から外れた部分もあるが、言語ファイルがプラットホーム共通なためなのでご容赦いただきたい

 VirtualBoxは、Parallels DesktopやVMware Fusionと同様、Mac OS X(ホストOS)上に仮想的なPC環境を構築し、WindowsやLinuxなどのPC用OS(ゲストOS)を動作させる「ホスト型」と呼ばれる仮想化ソフトだ。

 もともとは独innotekによって開発され、2007年1月にWindows/Linuxホスト向けの仮想化ソフトとしてバージョン1.3.2がリリースされた。2008年2月にはinnotekがSun Microsystemsに買収されるが、VirtualBoxはSunの製品として開発が継続され、2008年5月リリースのバージョン1.6でMac OS X/OpenSolarsホストにも正式対応した。その後も2008年9月に2.0、2009年6月に3.0とバージョンアップが重ねられている。最新版は9月にリリースされたバージョン3.0.8で、Snow Leopardホストでの改善も行なわれた。

 VirtualBoxの開発ではCPUエミュレータ「Qemu」やNokiaのGUIツールキット「Qt」といったオープンソースソフトウェアを利用している。共有フォルダやUSB機能など後述する機能の一部を除いた主要部分のソースコードがGPL v2ライセンスの基に公開されており、Sunの社外からも多くの人々が開発に参加している。例えば日本語へのローカライズは筆者が個人的な活動として担当している。ソースコードの形で公開されているオープンソース版だけでなく、バイナリで配布されているクローズドソース版も個人利用や教育、評価目的であれば無料で利用できる。


●フリーウェアながら十分な機能

 PDFマニュアルは英語だが、ユーザーインターフェイスは日本語化されているため、操作は難しくない。無料で使える製品ではあるが、最大32個の仮想プロセッサに対応し、マルチスレッド対応ソフトの性能向上が期待できるほか、Xeon/Core 2プロセッサを搭載したMacであれば64bitのゲストOSにも対応している。

 また、ゲストOS環境の状態を保存し、いつでもその状態に復元できる「スナップショット」機能や、仮想マシンの終了時に状態を保存して次回起動時に素早く作業を再開できる「サスペンド」機能、画面表示モードとしてホストOS上の1つのウィンドウとしてゲストOSを表示する「ウィンドウモード」とゲストOSが全画面を占有する「フルスクリーンモード」に加え、Windows 7のXPモードのようにホストOSの画面にゲストOSのアプリケーションを直接表示する「シームレスモード」をサポートしている。

 なお、OpenGL 2.0とDirectX 8/9に対応した3Dグラフィックスのアクセラレーションに対応しているが、Windows Vista/7のAeroインターフェイスには未対応だ。OS間のドラッグ&ドロップでファイルをコピーする機能は未サポートだが、ホストOSの任意のフォルダをネットワークドライブとしてゲストからアクセス可能にする「共有フォルダ」機能をサポートしているので、ファイルのやりとりも簡単に行なえる。ただし、共有フォルダにドライブレターを割り当てるにはゲストOS側で操作が必要だ。また、プレーンテキストデータであればOS間でコピー&ペーストが可能だ。

 周辺機器の利用ではUSBに対応しており、USBメモリやプリンタなどの機器をゲストOSから利用できる。ただし、現状ではWebカメラ(内蔵iSight含む)が利用できないことが既知の不具合として挙げられているなど、すべての周辺機器の動作が確認されているわけではないので注意してほしい。

 ユニークな機能として、リモートデスクトップ サーバー機能の内蔵がある。リモートデスクトップのサーバー(接続先)となれるのは標準ではサーバーOS含むWindowsの上位エディションに限られるが、本機能を利用すればWindowsのホーム系エディションやWindows以外のOSでもリモートデスクトップ クライアントを利用した遠隔操作が可能となる。

最大32個の仮想プロセッサをサポート。64bitCPUであれば64bit版のOSをゲストOSとしてインストールすることもできる仮想マシンの状態を保存する「スナップショット」は複数個作成できるので、OSインストール直後やゲストOSに大きな変更を加える前などに作成しておくと、トラブル発生時に簡単に元に戻せるので安心だ仮想マシンの終了時には状態を一時保存(サスペンド)させたり、スナップショットの状態まで戻すなどの操作を行なえる
ゲストOSが全画面を占有する「フルスクリーンモード」。Mac OS Xの「Spaces」機能を使用して1つのワークスペースにゲストOSを割り当てると、キーボードショートカットでOSを切り換えて使用できて便利だ「シームレスモード」ではWindows用のアプリケーションがあたかもMac OS Xのデスクトップ上で直接動いているような画面表示となるホストOS側の任意のフォルダを共有フォルダとしてゲストOS側からアクセスできるように設定できる。そのセッションでのみ有効な「一時的な共有フォルダ」としたり、読み込み専用に設定することも可能だ
共有フォルダにドライブレターは自動付加されないので、ドライブレターでアクセスしたい場合はゲストOS側で「net use」コマンドを実行して割り当てる必要があるテキストデータであればOS間で双方向にコピー&ペーストが可能だ。ただし、やりとりできるのはプレーンテキストに限られ、文字のスタイル情報はやり取りできない。また、画像のコピー&ペーストには対応していない
仮想マシンにUSBメモリを割り当てたところ。内蔵iSightなどのWebカメラは現状サポートされていないオープンソースで開発されているBeOS互換OSの「Haiku-OS」をVirtualBoxの機能を利用してリモートデスクトップ クライアントから操作しているところ

●他製品との互換性を重視

 VirtualBoxはVMwareなどの他製品と比較すると、ややマイナーな存在ではある。しかし、他製品との互換性を重視しており、移行性が高いことが特徴だ。

 一般に仮想化ソフトは実HDDの代わりに仮想HDDのイメージファイルを使用する。このイメージファイルのフォーマットは製品ごとに異なるのだが、VirtualBoxは独自形式(VDIファイル)以外にVMware形式(VMDKファイル)とMicrosoft形式(VHDファイル)に対応しており、これらの形式のHDDイメージファイルを変換作業なしに直接利用できる。

 また、業界団体DMTF(Distributed Management Task Force)によって規格化が進められている仮想アプライアンス(仮想HDDイメージファイルや設定ファイルをまとめたもの)の標準フォーマット、OVF(Open Virtualization Format)のインポート/エクスポート機能を内蔵している。OVFは2009年3月にバージョン1.0の仕様が公開されたばかりの新しい規格であるため、まだ採用例は少ないが、今後広く普及すれば、仮想化ソフト間で仮想マシンファイルの移行が容易になることが期待される。ただし、仮想化ソフトによってエミュレートされるハードウェアが異なるため、ある仮想化ソフトで動作していたゲストOSが別の仮想化ソフトで同じように動作するとは限らない。OSによっては起動できなかったり、一部のデバイスが使用できないこともあり得る。また、一部のOSやアプリケーションは認証作業が再度必要になることがあるので注意してほしい。

OVF形式のアプライアンスのインポート/エクスポートに対応。他製品ではVMwareやXenSourceが自社の形式とOVF形式間の相互変換を行なうツールを配布している。前述のHaiku-OSもVMware形式の仮想HDDとして配布されているものを使って起動した。

●気になる性能をチェック

 この手のソフトは、仮想化のオーバヘッドによる速度低下が気になるところだ。CrystalMark 2004R3を使用して測定を行なった。最初にお断りしておくが、仮想マシン環境のベンチマークテストは難しく、実体にそぐわない値が出てしまうことも珍しくない。以下の測定結果はあくまでも参考程度に見てほしい。

 テスト環境はメモリは4GB、CPUはIntel Core 2 Duo 2.0GHz、ビデオカードはATI Mobility Radeon HD 2400 XTを搭載したiMac(Mid 2007)を使用した。VirtualBoxの仮想マシンには2GBのメモリを割り当て、仮想プロセッサの数を1個と2個の場合でそれぞれ測定した。比較対象としてBoot Camp機能を利用してiMacを直接Windows 7で起動した環境でも測定した。

CreystalMark 2004R3の比較
VirtualBox(CPU1個)VirtualBox(CPU2個)BootCamp

 仮想マシン上でGDIのテストを実行するとVirtualBoxごとクラッシュしてしまうのでGDIと総合値は対象外とした。CPUの個数を増やすことで整数演算(ALU)浮動小数点演算(FPU)共に値が向上している。CPU2個の場合はBoot Camp環境を上回った値となっているが、実体は同等というところだろう。CPUはエミュレーション処理が不要なため、ほぼ実CPUの性能に近い値が出せると思われる。

仮想マシン上ではWindowsエクスペリエンス インデックスは評価できなかった。Aeroインターフェイスも使えない

 HDD性能が非常に高い値となっているのは仮想HDDイメージファイルを使用している特性と思われる。体感的にはここまで高速という感じではない。2Dグラフィックス(D2D)の値がBoot Camp環境を上回るのも正しく測定できていないと思われるが、2Dの性能であれば体感的にもそう遅いという印象はない。ネックとなるのは3D環境で、FINAL FANTASY XIオフィシャルベンチマークソフト「Vana'diel Bench 3」も起動できなかった。前述のようにAeroインターフェイスにも未対応であり、Windowsエクスペリエンス インデックスはエラーのため評価できなかった。


●まとめ

 ベンチマークではあまり良い結果が得られなかったが、Office 2007での文書作成やウェブサイトの閲覧などの作業では速度的にも問題なく、VirtualBoxがクラッシュすることもなく安定して使用できた。

 商用の仮想化ソフトと比較すると機能や使い勝手の面で劣る部分があることは否めないが、Mac OS Xを主に使用していてWindowsの使用頻度が低いため、仮想化ソフトにあまりコストをかけたくないという場合に試す価値は十分にあるだろう。また、オープンソースプロジェクトであるため、希望すれば誰でも開発に参加できるのも大きなメリットだ。プログラマーでなくてもバグレポートを提出したり、機能のリクエストを送るなど、フィードバックすることで協力することができる。英語でのやりとりになるが、興味のある方はぜひ公式フォーラムやメーリングリストを覗いてみてほしい。

 4月、米OracleによるSun Microsystemsの買収が発表された。現時点ではVirtualBoxを含めたSunの製品について今後の製品計画は何も発表されていないが、万が一OracleがVirtualBoxの開発を中止したとしても、公開されているソースコードを基にコミュニティ主導で開発を引き継ぐことが可能だ。ユーザーの協力があれば、VirtualBoxの火が消えることはないだろう。

(2009年 10月 8日)

[Reported by 田中 俊光]