Windows7にcoLinuxをインストールする
お久しぶりです。ずいぶんと長い間更新していませんでしたが、またメモ書き程度に更新しようと思います。
使用するイメージはDebian Lennyで、coLinuxのインストールパスとディスクイメージを置くパスは違うところにしています。
coLinux及びディスクイメージをダウンロード
sourceforgeからcoLinux-0.7.6.exeとDebian-5.0r2-lenny.7zをダウンロードします。coLinuxはC:\Program Files\coLinuxに、ディスクイメージはD:\opt\colinux_imagesに置きます。配置する際はlenny.imgにリネームしました。confファイルは違うパスに置いていいか分からなかったのでcoLinuxのインストールパスに置いておきます。
swap用イメージ、リサイズ用イメージの準備
sourceforgeで配布されているディスクイメージは2GBなので、色々していたらすぐいっぱいになります。なので早いところサイズ変更を行おうと思います。とりあえず10GBほど準備してみました。
swap用のイメージも一緒に準備します。今回は512MB準備します。
イメージの準備にはfsutilを使いますが、これを使うには管理者権限が必要なので管理者権限付でcmdを起動します。スタートボタンの"プログラムとファイルの検索"にcmdで検索して、出てきたものを右クリックして"管理者として実行(A)"をすればOKです。
d: cd D:\opt\colinux_images fsutil file createnew lenny_10gb.img 10737418240 fsutil file createnew swap.img 536870912
ただ、このままだとlenny_10gb.imgとswap.imgはAdministrator所有のものになるので、取り扱いがやや面倒。なので所有者を自分のアカウントに指定します。参考:http://www.atchfactory.com/mvt/archives/2009/10/windows7-9.html
ターゲットフォルダを右クリック→プロパティ
セキュリティ タブの中にある [詳細設定] をクリック
セキュティの詳細設定 が開くので、所有者 タブの中にある [編集] をクリック
所有者の変更 の枠内から自分のアカウントを選び、下の方にある サブコンテナーとオブジェクトの所有者を置き換える にチェックを入れて [適用]
参考にしたところではフォルダを指定していますが、今回の対象はファイルなので一番最後のサブコンテナー云々は不要です。
lenny.confの編集
lenny.confを弄るには管理者権限が必要なので、管理者権限で実行したエディタで編集する必要があります。自分はGVim使っているので、管理者権限付で実行したGVimから開きました。そして以下のように編集しました。
kernel=vmlinux cobd0="D:\opt\colinux_images\lenny.img" cobd1="D:\opt\colinux_images\swap.img" cobd2="D:\opt\colinux_images\lenny_10gb.img" root=/dev/cobd0 ro initrd=initrd.gz mem=256 eth0=pcap-bridge,"Local Network"
cobd云々は使用するディスクイメージを使用する分だけ指定します。例えば/homeだけ別イメージにするのでしたらそれを更に増やしてください。ここで指定したcobd0などは/dev/cobd0などになるので、それをマウントすれば使えるようになります。
memにメモリを指定します。増やしたければその分増やしてください。今回は256MB指定にしました。
eth0にはネットワークの接続方法を指定します。tuntapを指定するのが定番っぽいのですが、今回はWinPcapを使ったブリッジ接続を行うのでこのような感じにしました。要WinPcap。複数のネットワークアダプタがあるので使用するアダプタ名を指定していますが、アダプタがひとつしかない場合は自動で認識してくれるらしいので指定は不要です。もし指定する際は名称はマルチバイト文字が使えないらしいので適当にリネームしてください。
coLinuxの起動
colinux-daemon.exe @lenny.conf
無事ログイン画面が表示されたら成功。rootでログインする場合、パスワードはcolinuxになっているのでログイン後にさっさと変更しておきます。
ネットワークの確認
ifconfig eth0 Link encap:Ethernet HWaddr 00:ff:3c:5e:f0:00 inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::2ff:3cff:fe5e:f000/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:124362 errors:0 dropped:0 overruns:0 frame:0 TX packets:57939 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:147246696 (140.4 MiB) TX bytes:4469694 (4.2 MiB) Interrupt:10 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
デフォルトではDHCPで取得するようになっています。IP固定にする場合なんかは /etc/network/interfaces を適当に編集します。この辺coLinuxでなくてDebianの領域なのでパス。
coLinux -> Windows と Windows -> coLinux 双方でping投げて繋がっているかを確認しておくと更に安全かと思います。
データのコピー及びswapの準備
lenny.imgの内容をlenny_10gb.imgに移動します。dd便利。参考:Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP
dd if=/dev/cobd0 of=/dev/cobd2 e2fsck -f /dev/cobd2 resize2fs -p /dev/cobd2
次はswapの準備。
mkswap /dev/cobd1
そして /etc/fstab を以下のようにする。
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/cobd0 / ext3 errors=remount-ro 0 1
/dev/cobd1 swap swap defaults 0 0
再度lenny.confの編集
lenny.imgの中身はlenny_10gb.imgの中に入ったのでlenny.imgは不要になりました。lenny.imgを削除してlenny_10gb.imgをlenny.imgにリネーム、cobd2の設定を削除します。これで容量10GBのディスクイメージができあがりました。