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

点击(此处)折叠或打开

  1. #指定内核,应该只能用CoLinux提供的这个内核,除非下源码来自己编译
  2. kernel=vmlinux
  3. #将分区指定到CoLinux设备上,表示方式和Linux不同
  4. #Harddisk0表示第一块硬盘,1表示第二块,以此类推
  5. #Partition2表示第二个分区,7表示第七个分区,以此类推
  6. #需要注意硬盘从0开始数,分区从1开始数
  7. #另外,扩展分区不算,也不分主分区和逻辑分区,也就是逻辑分区不是从5开始算
  8. #CoLinux设备号可以随意取,我为了方便取的和Linux下的设备号一致
  9. #可以发现设备号在Windows和Linux下是不一样的
  10. cobd2="\Device\Harddisk0\Partition2"
  11. cobd8="\Device\Harddisk0\Partition7"
  12. #将CoLinux设备绑定到原先的设备号上(非必须项)
  13. #sda2=:cobd2
  14. #sda8=:cobd8
  15. #指定root分区,用的是前面绑定的设备
  16. root=/dev/cobd2
  17. #Linux启动参数,先设为单用户模式
  18. ro single
  19. #指定initrd,应该也是只能用CoLinux提供的
  20. initrd=initrd.gz
  21. #指定网络方式,先使用最简单的方式
  22. #这种方式只能从Linux访问Windows,如果要Windows访问Linux,需要做端口映射
  23. #为了使用ssh,把Linux的22端口映射到2222端口
  24. eth0=slirp,,tcp:2222:22
嗯,关于分区的问题,给张示意图:
Windows和Linux双启动,并用在Windows下配置CoLinux启动-LMLPHP

现在就可以尝试启动系统了。

打开命令行,进入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就正常了!!!


10-03 23:46