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/cobd2
- #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下可用了,而且占用资源极少!
备注:在使用时,我在本地安装了centos系统,为了在windows下查看ext3格式分区,我安装了Ext2Fsd-0.53.exe,导致分区挂载有问题,colinux-daemon.exe命令启动centos的时候死活不成功,后来卸载掉Ext2Fsd就正常了!!!