Windows Vista への coLinux インストールメモ

coLinux を出来合いのディスクイメージ(Ubuntu 7.10)で Windows Vista にインストールしたときのメモ。あまり Windows XP と変わるところはない。
最初、CentOS 5.2のイメージを作ろうとしたけどQEMUインストーラを動かすとKernel Panicになるので断念。

coLinuxのインストール
  1. http://www.colinux.org/ から最新のstableバージョンをダウンロード(現在は0.7.3)
  2. インストール先はどこでもいい(ここではデフォルトの C:\Program Files\coLinux とする)
  3. "Root FileSystem image Download" はチェックを外す。あとはデフォルト
ネットワークの設定(NATタイプ)

coLinuxをインストールするとネットワーク接続の一覧に「ローカル エリア接続 2」のような新しい接続が "TAP-Win32 Adapter V8 (coLinux)" のような説明で追加されている。

元からある「ローカル エリア接続」のほうのプロパティを開き、

  1. 「共有」タブを選択。
  2. 「ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する」にチェックを入れ、「ホーム ネットワーク接続」で「ローカル エリア接続 2」を選択。
  3. OK→OKで終了。

この後、「ローカル エリア接続 2」のほうのプロパティを開き、お好みでIPアドレスを変更する。デフォルトの 192.168.0.0/24 は普通に使われてるケースも多いので別のに変更したほうがいいかも。とりあえずここではIPアドレスを 192.168.31.1 とした。

Windowsファイアウォールが動いている場合、192.168.31.0/24 ネットワークを開けておく。

ディスクイメージの配置
  1. http://sourceforge.net/project/showfiles.php?group_id=98788 から Images 2.6.x Ubuntu をダウンロード、展開
  2. Ubuntu-7.10.ext3.2gb.fs と swap128.fs を coLinux インストールフォルダに移動
  3. UACが有効ならエクスプローラを管理者権限で実行して移動
coLinuxの設定ファイル作成

coLinux インストールフォルダの example.conf を適当な名前でコピー(ここでは同じフォルダの ubuntu.conf)して編集。

cobd0, cobd1 をさっきダウンロードしたUbuntuのディスクイメージに変更する。

# File contains the root file system.
# Download and extract preconfigured file from SF "Images for 2.6".
cobd0="C:\Program Files\coLinux\Ubuntu-7.10.ext3.2gb.fs"

# Swap device, should be an empty file with 128..512MB.
cobd1="C:\Program Files\coLinux\swap128.fs"

あとTAPを使うので以下のようにtuntap部分のコメントを外す

# Tuntap as private network between guest and host on second linux device
eth1=tuntap
初回起動

スタートメニューの「すべてのプログラム」「アクセサリ」からコマンドプロンプトを右クリックし「管理者として実行」。その後以下のように起動。

C:\Windows\System32> cd "\Program Files\coLinux"
C:\Program Files\coLinux> colinux-daemon.exe @ubuntu.conf

正しくUbuntuが動いてrootログインのプロンプトが出ることを確認。とりあえず root/root でログインしてネットワークの設定だけ行う。

# vi /etc/network/interfaces

で、iface eth0 のところを、Windowsのほうのネットワークとあわせた固定アドレスに変更。

#iface eth0 inet dhcp
iface eth0 inet static
  address 192.168.31.2
  gateway 192.168.31.1
  netmask 255.255.255.0

その後

# /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                   [ OK ]

あと /etc/resolv.conf も必要なら 192.168.31.1 (ホストのIPアドレス)に変更。できたら、どこかのドメインpingを打って疎通確認。

あとは shutdown -h now で停止するとcoLinuxのプロセスも停止する。

Windowsサービスとして起動する準備を行う

毎回コマンドラインから起動するのは面倒なのでサービスとして自動起動されるようにする。

まず coLinux Driver をインストール。一応一回アンインストールしたほうがいいらしい?

C:\Program Files\coLinux> colinux-daemon.exe --remove-driver
C:\Program Files\coLinux> colinux-daemon.exe --install-driver

以下のように出る場合は失敗。先にサービスをインストールしてしまったとかが原因。
その場合はサービスを削除してからもう一回行う。

driver already installed
daemon: driver installed

以下のように出ればOK

loading C:\Program Files\coLinux\linux.sys
daemon: driver installed

サービスを追加する。--install-service はサービス名。適当でいいはず。

C:\Program Files\coLinux> colinux-daemon.exe @ubuntu.conf --install-service "coLinux Service"

以下のように出れば問題なし

Cooperative Linux Daemon, 0.7.3
Daemon compiled on Sat May 24 22:36:07 2008

daemon: installing service 'coLinux Service'
daemon: service command line: "C:\Program Files\coLinux\colinux-daemon.exe" @ubuntu.conf --run-service "coLinux Service"
daemon: setting restart options
daemon: service installed.
サービスの確認と依存関係の追加

サービスマネージャ(services.msc) を見ると "coLinux Service" が追加されているはずなのでお好みで自動起動に設定。

最後に、レジストリエディタ(regedit)で
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\coLinux Service の DependsOnService
に tap0801co を追加。以下のように改行区切りで指定することに注意。

CoLinuxDriver
tap0801co

もう一回サービスマネージャで "coLinux Service" の詳細画面を開き「依存関係」を見ると「TAP-Win32 Adapter V8 (coLinux)」が追加されているはず。

完了

できたら、サービスを開始する。特に問題なくサービスが起動し、

C:\Program Files\coLinux> start colinux-console-nt.exe

で再度Ubuntuのコンソールが出ればOK。