WindowsとLinux 仮想化を使わない共存
これを実現する魔法の粉はcoLinuxカーネルだ。coLinuxプロジェクトは、Linuxカーネルの安定リリースをWindows上で実行できるように移植している。つまり、andLinuxは、仮想化ソフトウェアとは異なり、通常のWindowsアプリケーションと同じようにWindowsにインストールされる。
しかし、andLinuxはUbuntuにcoLinuxカーネルを差し込んだだけのものではない。andLinuxの開発者の一人Joachim Gehweilerによると、Xming XサーバとPulseAudioサウンド・サーバーを加え、コンポーネントが協調動作できるようにする必要があったという。
andLinuxには2種類のフレーバーがある。一つは665MBバージョンで、デスクトップ環境はKDE、必要なディスク容量は4.5GB。もう一つは、軽量の143MBバージョンで、デスクトップ環境はXfce、必要なディスク容量は2.5GBだ。インストールに必要なRAMは192MB以上とされているが、Windows自体にも十分なメモリーを用意しておく必要がある。対応しているOSは、Windows 2000/XP/2003/Vistaの32ビット・バージョンのみ。ハードドライブはNTFSファイルシステムでフォーマットされている必要がある。
両バージョンともWindows実行形式ファイルとして配布されており、実行すると使いやすいandLinuxグラフィカル・インストーラーが起動する。インストールでは、WindowsとLinuxの齟齬を埋めるために必要なことを尋ねられる。たとえば、andLinuxからWindowsファイルにアクセスするためにSambaとCOFS(coLinux File System)のどちらを使うかを尋ね、COFSの方が構成は容易だがファイル名に特殊文字を使いたい場合はSambaを使うようにと忠告してくれる。また、Windowsとの共存関係をレベルアップするために、ファイル・タイプの関連付けの指定や、Windowsの「プログラムから開く」メニューに表示するLinuxアプリケーションを選択するよう求めてくる。
また、coLinuxとWindowsがネットワーク接続を共用するためのTAP-coLinuxネットワーク・アダプターを設定するなど、裏方の構成も行う。こうした処理のほとんどはWindows側のInno Setupスクリプトを使って行われるが、Sambaの設定などLinux側で行う必要のある一部の作業についてはandLinuxの開発者たちが書いたbashとPerlのスクリプトが使われる。
さらに、andLinuxのスタート・メニュー項目とクイック起動アイコンも作成される。andLinuxは、Windowsサービスとしてインストールされる。コンピューターの起動時にandLinuxが自動的に立ち上がるため、ハードウェアによってはWindowsの起動が遅くなることがある。コマンド・プロンプトから起動することもできるが、デスクトップやクイック起動にはandLinuxを起動するためのショートカットやアイコンはない。
さて、実際の動きはどうだろうか。デュアルコアのコンピュータ2台でandLinuxを動かしてみた。2GBのRAMを搭載したE4400 2.0GHzマシンと1GBのRAMを搭載したE6300 1.8GHzマシンだ。どちらのマシンでも、andLinuxがサービスとして動作することによる影響は感じられず、Windowsを起動したあとのディスクの動きでandLinuxがバックグラウンドで起動していることが察せられるだけだった。これより遅い1.7GHz Celeronのノートパソコン(1GBのRAMを搭載)では、バックグラウンドでandLinuxが起動中、アプリケーションの起動時間が大きく伸びたが、andLinuxが立ち上がって動作を始めると復旧した。仮想マシンを動かしたときの止まっているかのようなパフォーマンスよりもましだ。
使用したIntelデュアルコア・マシンはIntel Virtualization Technologyによって仮想化ソフトウェアの実行に最適化されているが、andLinuxはハードウェア固有の最適化はまったく行われていない。開発者によると、仮想化スレッドが有効なのは1つのLinuxアプリケーションと1つ以上のWindowsアプリケーションが同時に動作する場合だけであり、Windowsプロセスとして扱われる2つ(またはそれ以上)のLinuxアプリケーションが動作する場合には効果がないからだという。
andLinuxは、バイナリなどがインストールされているパーティションの中に4GBの仮想パーティションを作り、セットアップ時に選択したSambaまたはCOFSを介してWindowsファイルシステムの一部を共有する。したがって、andLinuxアプリケーションで作成したファイルは、この仮想パーティションに置くこともWindowsファイル・システムに置くこともできる。
andLinuxを使い始めてまず頭に浮かぶのは、LinuxアプリケーションをWindowsで動かすための大仰な仕組みではないかという感想だろう。AbiWordやGIMPやFirefoxなどにはWindows版があり、それで十分ではないかというわけだ。andLinuxはWindowsデスクトップ上で動作するため、XfceやKDEのデスクトップも見えない。しかし、調べてみれば、Windows上では動いたことのないKonquerorとそのKIOスレーブ(翻訳記事)、あるいはKDEユーティリティやゲームが見つかるはずだ。
リモート共有も、andLinuxを構成すれば可能だ。SSHを使ってほかのマシンから入れるようにできるし、VNCまたはrdesktopを介してWindowsデスクトップをリモート共有することもできる。この場合、当然、andLinuxをリモート共有できることになる。
本当にLinuxディストリビューションが動いていることを納得したければ、Ubuntuのリポジトリからアプリケーションを追加インストールするためのツール、すなわちコマンドラインではapt-get、グラフィカル・ユーティリティではSynapticを使ってみるとよい。私もリポジトリからアプリケーション(OpenOffice.org、Pidgin、AbiWord、XChat、Thunderbird)をインストールしてみたが、すべて問題なく動作した。アプリケーションのソースをコンパイルしてインストールすることもできる。
確かにLinuxディストリビューションが動いていることを納得できただろうか。しかし、andLinuxは単にWindows上で動いているのではなく、協調的に動いているのだ。たとえば、.txt文書を右クリックしKateで開いて編集することができる。.pdfファイルをKPDFで読むこともできる。WindowsアプリケーションとLinuxアプリケーション間でコピー&ペーストすることもできるのだ。こうしたことを確かめてみれば、andLinuxとWindowsが協調動作していることがわかるだろう。
ただし、できないこともある。Alien ArenaやTorcsなどの3Dゲームを楽しむことはできない。テレビ・チューナー・カードがあっても、Linux上でMythTVを使ってビデオを見ることはできない。Bluetooth機器も駄目だ。主要なLinuxディストリビューションを直接インストールした環境では、一部のテレビ・チューナーや多くのUSB Bluetoothドングルは動作するというのに。
次に、できることを挙げておこう。WindowsとLinux間でプリンタを共用することができる。最近実現されたプリンタ・サポートのお陰だ。次期リリースに組み込まれれば、自分で設定する手間はなくなる。
しかし、Windows上での実行には大きな課題が1つある。andLinuxではマルチユーザー環境のためのセキュリティがサポートされておらず、Windowsユーザーなら誰でも、そのコンピューターにインストールされているandLinuxを使えるのだ。
とはいえ、デスクトップの利用者にとって、andLinuxはLinuxとWindowsを同時に動かすための有効な手段だ。andLinuxはWindowsとLinuxをホストOSとゲストOSとに分けようとせず、単なる共存ではなく共同を可能にする。これにより、両OS間でファイルを共有したり、一方のアプリケーションで作ったファイルを他方のアプリケーションで開くという歓迎すべきことが可能になった。Linuxを直接インストールした場合よりは遅いが、エミュレートされたPC上で動かすLinuxに比べれば快適に動作する。その差は、とりわけ旧型の遅いハードウェアで大きくなる。
以上をまとめれば、andLinuxの持つ制約は仮想環境よりも大きくはないが、現状では、利点もない。しかし、すぐに使うことができ、それが持つLinuxとWindowsの相互運用性はこれまでになく高いレベルにあることから、デスクトップの利用者にはお勧めだ。
Linux.com 原文