Windows和Linux都是好东西,配置双启动不难,但是有时候在Windows下面想要临时换到Linux,总是麻烦。
以前都是用VmWare,配置使用实际硬盘,然后再Windows里面进行启动另一个分区里面的Linux然后操作。
不过这样实在是麻烦,而且VmWare占用资源也是在太大,如果配置512内存,就要在系统里面直接占用掉512M内存,即使实际上Linux根本不用那么多。
不过,前段时间发现了CoLinux这个好东西,可以把Linux内核作为Windows的本地进程运行,不错不错。
研究了一阵子,先用从CoLinux站上提供的镜像实验了下,很令我惊喜:CoLinux进程内存占用非常少,而且如果系统内无负载的时候,CPU占用也基本为0。
然后再看了看文档,发现也能使用真正分区启动,于是改了改配置,还真的起来了!
嗯,下面就是我的配置方式了。
首先,在某个分区上装好一个正常的Linux系统,我用的是Debian,装到/dev/sda2里面,配置Grub,和Windows多重启动。这个就不多说了。
然后,进入Windows,到CoLinux网站上下载并安装,过程中会安装一些驱动,一路确认就好了。安装过程中会询问要下载某个系统镜像,如果想先试试就下,建议不用下。如果想试验某个镜像,也可以直接到网站上下载的。
再然后,写一个配置文件,比如我的Debian.conf
#指定内核,应该只能用CoLinux提供的这个内核,除非下源码来自己编译 kernel=vmlinux
#将分区指定到CoLinux设备上,表示方式和Linux不同 #Harddisk0表示第一块硬盘,1表示第二块,以此类推 #Partition2表示第二个分区,7表示第七个分区,以此类推 #需要注意硬盘从0开始数,分区从1开始数 #另外,扩展分区不算,也不分主分区和逻辑分区,也就是逻辑分区不是从5开始算 #CoLinux设备号可以随意取,我为了方便取的和Linux下的设备号一致 #可以发现设备号在Windows和Linux下是不一样的 cobd2="\Device\Harddisk0\Partition2" cobd8="\Device\Harddisk0\Partition7"
#将CoLinux设备绑定到原先的设备号上 sda2=:cobd2 sda8=:cobd8
#指定root分区,用的是前面绑定的设备 root=/dev/sda2
#Linux启动参数,先设为单用户模式 ro single
#指定initrd,应该也是只能用CoLinux提供的 initrd=initrd.gz
#指定网络方式,先使用最简单的方式 #这种方式只能从Linux访问Windows,如果要Windows访问Linux,需要做端口映射 #为了使用ssh,把Linux的22端口映射到2222端口 eth0=slirp,,tcp:2222:22
|
嗯,关于分区的问题,给张示意图:
现在就可以尝试启动系统了。
打开命令行,进入CoLinux的安装目录,执行命令:
colinux-daemon.exe @Debian.conf
好了,应该看到系统启动了吧?不过,fltk的界面真难看,现在可以把这个关掉(关掉这个,CoLinux并不会退出,只是这个界面程序关闭而已),双击colinux-console-nt.exe,就可以看到一个和Windows命令行一样的界面了。
我们现在是在single模式下,用root密码进去看看,有没有什么不对的?
用Putty连接localhost的2222端口,怎么样?ssh进去了吧?如果进不去,请检查Linux里面是不是装了sshd。
现在,Linux已经可以启动了,但是如果我们把配置文件里面的single去掉,Linux启动的时候会启动很多图形相关的程序,然后报很多错误,怎么办?
可以这样,设置一个特殊的runlevel,这个level只启动CoLinux下面能用的东西,把X window相关的东西统统关掉。然后指定CoLinux启动进入这个runlevel就好了。
我用的是init level 4,据我所知的发行版里面,这个level都没有什么用处的,刚好给我们用了。
把init level 4里面的相关服务关掉(怎么关?apt-get install sysv-rc-conf; sysv-rc-conf),然后用halt或者shutdown –h now关机。
把上面配置文件里面的“ro single”改为
ro 4
再启动CoLinux就可以进入runlevel 4。
现在,我们可以把CoLinux注册成服务了。先把CoLinux关掉,然后命令行:
colinux-daemon.exe @Debian.conf --install-service CoLinux
再然后
net start CoLinux
就可以将CoLinux作为Windows服务启动。
我们也可以在Window服务管理界面将CoLinux设为开机自动启动,这样,我们的Linux就永远在Windows下可用了,而且占用资源极少!
嗯,上面这个图是我用tuntap网络时的截图,slirp也差不多就是了:)
还有一些其他设置,放在以后说吧:
网络设置,除了slirp方式外,CoLinux还有3种网络方式:tuntap,pcap-bridge和ndis-bridge
配置Xming,让CoLinux下面的X程序在Windows下面显示