本博的笔记本比较古董,跑VirtualBox之流甚是吃力,更不用说Vmware这样的超级杀器.本来一直采用的是Msys来进行*nix的模拟的,不过由于某些软件包实在不给面子,害的我每次都得连接至公司的服务集群上进行测试,如此下来,多有不便:(
于是乎,经过一番爆狗,终于找到了coLinux这样的好东西.CoLinux是在Windows上能够运行的linux. 在Windows计算机上安装Linux的时候,可以不用追加新的硬盘,也不用重新做分区等工作。 如果使用coLinux的话,不重新安装Windows,不变更硬盘分区就可以很轻松地构筑Linux环境。
如果说Cygwin是在C库程序阶段模拟UNIX(在源码级别的互换性)的话,则coLinux是在能驱动真的Linux原核程序上,与Linux和应用程序具有互换性。即:Debian和Fedora能够直接运行。换句话说,coLinux就是一个 Linux 内核,它经过修改,以与另一个操作系统协作运行。主机操作系统(Windows 或 Linux)控制操作系统的物理资源,而访客(guest)操作系统(coLinux)获得硬件的虚拟抽象。主机操作系统必须提供以特权级别(ring 0)执行驱动程序的方法,并提供分配内存的方法.
接下来的事情就很容易了,
猛击此处下载当前的coLinux的二进制版本,同时本博下载了列表下方的Debian5.0的压缩包.运行coLinux的安装程序,一路Next至Over(安装目录最好不要出现中文或空格).解压前述Debian的压缩文件至coLinux的老巢.接下来,可以使用Debian提供的BAT脚本直接执行了.
不过也许各位已经发现Debian里只有2GB左右的空间,而且貌似不能上网也没有开启sshd.接下来我们一步一步解决这些问题:
首先,再次
猛击一下下,我们得到一个已经做好的4GB大小的分区文件(下载文件很小,只有4xKB的样子).解压丢至coLinux的基地去.
接着,在你的Debian里配置下第二块网卡(eth1):
allow-hotplug eth1
iface eth1 inet static
address 192.168.1.6 //根据实际情况,自行改变
gateway 192.168.1.1
netmask 255.255.255.0
这里贴下我的coLinux.conf文件
# The default kernel
kernel=vmlinux
# File contains the root file system.
# Download and extract preconfigured file from SF "Images for 2.6".
cobd0="Debian-5.0r2-lenny.ext3.2gb"
# Swap device, should be an empty file with 128..512MB.
cobd1="fs_root" //扩展的4GB文件
cofs0=d:\ //与Windows交互设置,这是coLinux自己的方式
root=/dev/cobd0
initrd=initrd.gz
# Slirp for internet connection (outgoing)
# Inside running coLinux configure eth0 with this static settings:
# ipaddress 10.0.2.15 broadcast 10.0.2.255 netmask 255.255.255.0
# gateway 10.0.2.2 nameserver 10.0.2.3
eth0=slirp //dhcp
# Tuntap as private network between guest and host on second linux device
eth1=tuntap //这里就是之前在系统里设置的eth1
启动进入系统,进行挂载测试
mkdir -p /mnt/ext
mount -t ext3 /dev/cobd1 /mnt/ext
如果可以访问的话,那么写入你的/etc/fstab.系统启动时会自动挂载
/dev/cobd1 /root ext3 defaults 0 1 //这里我用来扩展了/root,你自然也可以改成/home/xxx 不过记得拷贝文件
类似的,将windows交互目录挂载进来
mkdir -p /mnt/host
mount -t cofs cofs0 /mnt/host
接下来,重启系统,通过
apt-get install ssh来打开sshd,选择putty登陆上去.编译Emacs之前记得先安装ncurses (:
展示下效果
这个黑黑的CMD窗口就是coLinux启动的Debian终端,如果觉着不爽,也可以用colinux-daemon把其做成系统服务.最后赞一下,coLinux的速度真的很快