Wubi

Wubi (Windows-based Ubuntu Installer) はWindows上で動作するUbuntu公式のフリーソフトウェアインストーラー。UbuntuをWindowsの既存ファイルシステム上にインストールする。

インストール後は既存のWindowsブートメニューに新しい「Ubuntu」オプションが追加され、ユーザーはLinux又はWindowsのどちらを実行するのか選択できるようになり、ディスクを再びパーティション分けする必要性もない。

概要 
Wubiは独立したプロジェクトとして生まれ、バージョン7.04および7.10においては非公式にリリースされた。 8.04からはUbuntu公式パッケージとなり、Ubuntu 8.04 alpha 5よりUbuntu LiveCDに同梱された。

プロジェクトの目的は、Linuxに不慣れなWindows既存ユーザーが（ディスクのフォーマットやパーティション切り分けの失敗による）データ損失リスクを負うことなく Ubuntuを試せるようにすることだった。またWubiはWindows上からUbuntuを安全にアンインストールする事もできる。

これは仮想マシンではないが、Topologilinuxのようにループバックデバイス（ディスクイメージ）上で独立して動作する。Linuxディストリビューションではなく、Ubuntuインストーラーである。 

Wubiは独自のパーティションにUbuntuを直接インストールしないが、LVPM(Loopmounted Virtual Partition Manager)を使用して、Wubiで作成したUbuntu環境をLinux用ディスクパーティション（USBフラッシュドライブを含む）から直接起動するネイティブ環境に移行できる。このセットアップ方法の長所は利用者が直接ディスクパーティションにインストールする際のリスクを回避しつつ、OSやドライバの動作確認を行えることである。

Wubiは、利用者がLinuxを実行可能となるエントリをWindowsブートメニューに追加する。Ubuntuは、Windowsファイルシステム (c:\ubuntu\disks\root.disk) のファイル内にインストールされる。このファイルがLinuxでは実際のハードディスクだと見なされる。またWubiは、ホストマシンのメモリに加えて、Windowsファイルシステム（c：\ubuntu\disks\swap.disk）にもスワップファイルを作成する。 このファイルは、Ubuntu上で追加のRAMと見なされる。

関連プロジェクトの Lubiは、WindowsではなくホストOSとしてLinuxを使用していた。しかし、2007年以降このプロジェクトは稼働しておらず、Ubuntu 7.04上でのみ動作する。

Wubi は、Ubuntu13.04から公式ダウンロードページでのインストールオプションとしては削除されてしまった。とはいえ、Ubuntu13.04以降バージョンのWubiは依然として提供されている。

デスクトップ 
利用者は Wubi 内でデスクトップ環境を選択できる。ただし、各デスクトップ環境はアプリケーションパッケージとしても利用可能であるため、利用者はUbuntu（初期オプション）をインストールし、そこから他のデスクトップ環境をインストールすることが推奨されている。すると利用者はログイン時に使用するデスクトップ環境を選択可能になる。

制限事項 
通常のインストールと比較して、Wubi のインストールには幾つかの制限がある。休止状態はサポートされておらず、ファイルシステムはハードリブート（電源再投入等）に対して脆弱である。また、Windowsドライブが何らかの理由（Windowsの破損や停電など）で正しく認識されない場合、Windowsが正常起動してドライブを修復し、正常にシャットダウンするまで、UbuntuはWindows NTFSドライブから修復も再マウント（認識接続）も起動することもできない。破損後にファイルシステムを修復してもWindowsシステムが起動できなかった場合、利用者はUbuntuの起動もできなくなる。

またハードディスクアクセスに関するパフォーマンスもWubiインストールすると若干遅くなり、基礎となるディスクイメージファイルが断片化されている場合はさらに遅くなる。というのもWindowsファイルシステム内のディスクイメージファイルにはLinuxのファイルシステムが含まれているのに対し、Wubi無しだとハードウェアに直接アクセスしてLinuxファイルシステムだけを使用するためである。

Wubiは、MS Windows OS 下で実行されている間にマイクロソフト独自のNTFSファイルシステムを使って root.disk ファイルを作成し、Ubuntu OS を実行している間は別のファイルシステムドライバを使ってそのファイルにアクセスしている。 マイクロソフトのNTFSと Linux 実装のものと違いは、技術的にはWindows の起動を妨げうる方法で NTFS ファイル システムに影響を及ぼし root.disk ファイルの破損につながる可能性がある。破損した NTFS ファイルシステムを修復するために MS Windows からchkdsk /rを実行して、その後Windows を正常にシャットダウンすると、若干の破損なら修復される場合もある （root.disk は大きなファイルなので、これは実行にだいぶ時間がかかる場合もある） 。

影響 
Wubiは次のオープンソースプロジェクトの影響を受けている:Debianインストーラ、Migration-Assistant、Grub4Dos、NTFS-3G、NSIS、Metalink。

開発
主な開発者は、アゴスティーノ・ルッソ、ゲーザ・コバーツ、オリバー・マトス、それからEcology2007である。 主な開発はLaunchpadで行われ、ルパンチームによる主導で、Ubuntu当初の青写真 と新しいWubi 、Lubi 、Lupin（再起動後に起こる全てを処理するループインストーラ） 、LVPM のプロジェクトページを介して行われた。

ハードウェアサポート 
WubiおよびLubiは、8.04よりUbuntu i386（32ビット x86）および x64版をサポートしている。8.04以前は、Ubuntuのx86発売版のみをサポートしている。

端緒
Red Hat LinuxやSlackwareのZipSlackを含む多くのLinuxディストリビューションは、SYSLINUX とUMSDOSファイルシステムドライバを使って、1990年代半ばに類似ツールを提供していた。その後、SUSE社がFATファイルシステム上でsyslinuxとループマウントされたディスクイメージを使って同様のものを提供していた。90年代後半に、BeOSが同様のシステムを使ってWindows内のフォルダにOSをインストールしていた。

Wubiのアイディアは、ループマウントされたインストールを提供したTopologilinuxおよび単純なWindowsフロントエンドを提供するInstluxから着想を得て、アゴスティーノ・ルッソによって起草された。そのアイディアとはUbuntuのイメージをループマウントするWindowsインストーラを持つ2つの概念を統合することにあった 。

その後ゲーザ・コバーツが仕様を改良し 、その概念がうまくいくことを示す最初の試作品を提供した。オリバー・マトスはNSISでオリジナルのユーザーインターフェイスを書いた。

その後アゴスティーノ・ルッソがループインストールの概念を改良し、単にループマウントされた事前作成のイメージファイルから、動的にパッチを適用したバージョンのDebianインストーラを使ってその場で作成されたイメージへと移行し、そのため初期のプロトタイプの他いくつかの問題に対処しながら、実際のインストールに近い実働（エクスペリエンス）を提供した。ルパンプロジェクトはこのように生まれ、アゴスティーノ・ルッソはゲーザ・コバーツからの貢献を幾つか持つコードの大部分を書いて実装した。

後にアゴスティーノ・ルッソとEcology2007は、現在のWindowsフロントエンドを再設計し、書き換えた。ハンプス・ウェスマンは新しいダウンローダと翻訳スクリプトを寄稿した。Bean123とTinybitはブートローダの問題をデバッグおよび修正して支援した。LubiとLVPMはその後ゲーザ・コバーツによって作成された。

このプロジェクトは、Win32ローダーなど他のWindowsベースのLinuxインストーラの作成に影響を与えた。

関連項目
Ubiquity-Ubuntu OSのインストーラ
Cooperative Linux-LinuxをWindows上で実行可能にしたもの
Debianインストーラ
Win32ローダー-類似のチェーンブートの仕組みで、CDが無くとも Debian をインストールする
UNetbootin-似た手法の、CD無しでの標準的なLinuxインストール

脚注

外部リンク 
 Wubi 公式サイト

C++
システムソフトウェア
Ubuntu
Windowsのソフトウェア