序章
coLinuxとはWindows上で直接動作するLinuxカーネルで、実際のLinuxをほぼネーティブにWindows上で実行させるオープンソフトウェアです。
Windows上で動作するcoLinuxはLinux上で動作させるUML(User Mode Linux)やXen等に比べて導入も比較的簡単です。
coLinux導入メリットの一つは従来Windowsとのデュアルブート環境で使用していたLinuxをWindowsと同時に使用できるということです。
このためWindows上のサーバ機能とLinux上のサーバ機能を同時に実行させることもできるようになります。
従来デュアルブート環境のLinux側のちょっとした設定変更を行う場合にもWindowsを一旦終了させてLinuxを起動し直してから行うという面倒なことがありましたが、
Windowsを動作させた状態でcoLinux環境でそのLinuxを起動してLinux内の設定変更もすぐに行えるようになります。
またWindowsとLinux間のファイルのやり取りもcoLinuxのCofs機能で簡単に行えます。
Cofs機能を使用するとWindows側のNTFSのドライブ/ディレクトリをLinux側にマウントしてLinux側からWindows上のファイルを自由に読み書きできます。
と言うことは同じファイルをWindowsとLinuxの両方から更新含めた利用ができるためLinuxで作成したファイルをすぐにWindows側で利用(加工・印刷等)できることになります。
更にcoLinux上のLinuxはWindowsネットワークに自由に接続でき、インターネット接続も制限なく利用できるためLinuxパッケージのアップデートも従来通り行えます。
coLinux環境上のLinuxではLinuxならではのことを行い、Windowsアプリケーションとの同時操作を可能にしたのがこのcoLinuxです。
coLinuxと仮想マシン環境(Virtual PC等)との一番大きな違いはcoLinuxにはBIOSやビデオカード等の周辺デバイスをエミュレートする機能が省かれているということです(coLinuxコンソールはあります)。
そんなLinuxは使用できないと思う方もいるかも知れませんが、BIOSエミュレートをしないということはLinuxを高速起動できるということです。
またデスクトップ操作(GUI操作)についてはフリーのXサーバやVNCビューア等で簡単に行えます。
一般の仮想マシン環境では実環境との壁が厚く実際のLinuxパーティションにインストールされているLinuxも動作させるということは基本的にできません。
デュアルブート環境の場合、Windowsで使用している周辺デバイスをLinux側でも使用できるようにLinux用ドライバを探したり複雑な手順でそのドライバを組み込んだりしていました。
coLinux環境でのLinuxは周辺デバイスを使用できませんが周辺デバイスは通常Windows側で使用すれば実用という面からは事足りると思います。
(もちろんLinuxで周辺デバイスを動作させること自体に興味のある方は従来通りデュアルブート環境でLinuxを起動すれば問題ありません)
従来Windowsとのデュアルブート環境で使用していたLinuxをcoLinux環境で動作させるためにはそのLinux側に若干手を加える必要があります。
但し、手を加えたことで従来のLinux動作に制限が及ぶことはありません。
Linux側に手を加えるのはあくまでもcoLinux環境でそのLinuxを問題なく動作させる部分に限定されます。
繰り返し的になりますが、従来WindowsとLinuxのデュアルブート環境利用のために両方に同種のソフトウェアを導入することもありましたが、
coLinuxの導入はそのような無駄な労力・リソースの消費を回避し地球環境にも優しいPC利用形態と言えます。
また周辺デバイスを必要としないLinux用のお気に入りアプリケーション(メールソフト等)をWindowsと同時に使えて大変便利です。
WindowsとLinuxを同時に、しかも無償で使用できる環境を実現するのがcoLinuxです。
(WindowsからLinuxへのゆるやかな乗り換えを考えている方にもうってつけの解決手段と言えます)
coLinuxは仮想マシンという窮屈で硬い壁を乗り越えたソフトウェアでありcoLinux関連技術が進むとLinux上からもWindows用周辺デバイスも利用可能になるかも知れません。
前置きが長くなりましたがcoLinuxのもう少し細かい特徴と、デュアルブート環境で使用するLinuxを手間暇かけずにWindows上で動作させる具体的な手順をこれから順を追って紹介します。
第1章 coLinuxの特徴
coLinuxには以下のような特徴があります。
尚、ここではcoLinux自体が動作するWindowsをホストOS、coLinux環境で動作するLinuxをゲストOSと呼ぶことにします。
(1)coLinux環境用ブロックデバイス定義 (2)/etc/fstabの編集 (3)coLinux環境用カーネルモジュールの取り込み (4)仮想フレームバッファデバイス、日本語入力パッケージ(Anthy,uim,uimアプレット)のインストール (5)VNCサーバの導入と自動起動設定 (6)環境別gdm設定ファイルの準備 (7)環境別gdm.conf切り替え処理の組み込み (8)フォントサーバ設定ファイルの変更 (9)日本語入力環境の変更 |
# Switching gdm.conf section for each environment (native or coLinux) if echo `uname -r` | grep -q co - ; then # coLinux runtime environment cp -f /etc/X11/gdm/gdm.conf.colinux /etc/X11/gdm/gdm.conf else # native runtime environment cp -f /etc/X11/gdm/gdm.conf.native /etc/X11/gdm/gdm.conf fi |
<?xml version="1.0" encoding="UTF-8"?> <colinux> <block_device index="0" path="\Device\HarddiskVolume2" enabled="true"/> <bootparams>ro root=/dev/cobd0</bootparams> <image path="vmlinux"/> <memory size="512"/> <network index="0" name="Local Area Connection" type="briged"/> ※nameを先に指定するようにして下さい。 </colinux> |
項目 | ブリッジ接続 (WinPcapの利用) |
ブリッジ接続 (TAPとネーティブWindowsブリッジ接続を利用) |
NAT接続 (TAP利用) |
slirp接続 (ユーザモード接続) |
---|---|---|---|---|
xml(coLinux設定ファイル)で指定するtypeの値 | bridged | tap | tap | slirp |
xml(coLinux設定ファイル)で指定するnameの値 | Local Area Connection | − | − (TAPデバイスが複数ある場合はその接続名を指定) |
不要 |
OpenVPN(coLinux版)要否 ○:必要 |
× | ○ | ○ | × |
WinPcap要否 ○:必要 |
○ | × | × | × |
ホストOSでのインターネット接続共有設定要否 ○:必要 |
− (あってもよい) |
× | ○ | × |
特徴 | (1)ゲストOSはホストOSのネットワーク環境にそのまま接続できるためホストOSと同レベルのネットワーク接続が可能。 | (1)ゲストOSはホストOSのネットワーク環境にそのまま接続できるためホストOSと同レベルのネットワーク接続が可能。 | (1)ホストOS−ゲストOS双方向への接続が可能。 | (1)ホストOS及びホストOSの繋がった他のPCからそのゲストOSへの接続ができない。 (2)SLIRPはPPP/SLIPのエミュレータでありネットワークでのデータ転送が極めて低速。 |
ゲストOS側IPアドレス | ホストOSと同じネットワーク上のIPアドレス体系が使用可能 | ホストOSと同じネットワーク上のIPアドレス体系が使用可能 | 192.168.0.x | 10.0.2.16 |
ゲストOS側ゲートウェイアドレス | ホストOSと同じネットワーク上のゲートウェイアドレス | ホストOSと同じネットワーク上のゲートウェイアドレス | 192.168.0.1 (固定) |
10.0.2.2 (固定) |
ゲストOS側DNSアドレス | ホストOSのネットワーク設定でのDNSアドレス | ホストOSのネットワーク設定でのDNSアドレス | 192.168.0.1 または 127.0.0.1 |
10.0.2.3 (固定) |
ゲストOSからのインターネット接続 (ping/telnet/ftp/Webアクセス等) | ○ | ○ | ○ | ○ |
ゲストOSからホストOSへ接続 (ping/telnet/ftp/Webアクセス等) | ○ | ○ | ○ | ○ |
ゲストOSからホストOSの繋がった他のPCへの接続(ping/telnet/ftp/Webアクセス等) | ○ | ○ | ○ | ○ |
ホストOSからゲストOSへの接続(ping/telnet/ftp/Webアクセス等) | ○ (XDMCP接続も可能) |
○ (XDMCP接続も可能) |
○ (XDMCP接続も可能) |
× |
ホストOSの繋がった他のPCからそのゲストOSへの接続(ping/telnet/ftp/Webアクセス等) | ○ | ○ | × | × |
# splash -s -f /etc/bootsplash/themes/Vine/config/bootsplash-1024x768.cfg >> /boot/initrd-2.4.27-0vl17.img # vi /etc/lilo.confで下記2行の追加。 append="splash=silent" ※プログレスバー付きのbootsplash画面表示指定 vga=0x317 ※フレームバッファの有効化:0x317は1024x768x色深度16を示します。 :wq! # lilo # reboot |