CoLinux(Cooperative Linux 的缩写)是第一种免费使用和开源的解决方案,它让Linux更好的运行在Microsoft Windows 本机系统下。可以引导启动LINUX镜像系统,也可启动本地的LINUX系统,速度比VMWARE快很多。
通常的, colinux是Linux内核使自己友好的和其它操作系统共同运行在一台机器上的一条通道。例如,我们不需要第三方的商业虚拟机软件(例如vmware)就可以自由的在windows 2000/xp/vista/7上运行Linux,这是不使用虚拟机软件的最佳方式。
CoLinux(Cooperative Linux)的简称,是一个虚拟化工具,但是和VMware、VirtualBox、Qemu等不同,它是标准 Linux 内核的一个端口。换句话说,它就是一个 Linux 内核,它经过修改,以与另一个操作系统协作运行。主机操作系统(Windows 或 Linux)控制操作系统的物理资源,而访客操作系统获得硬件的虚拟抽象。它并不是模拟一台电脑,而是通过对linux内核的改造,使linux可以直接 运行在windows下,使用windows的硬件资源,所以它的速度特别快,就像在真实机器上运行一样。
CoLinux 的优点:
它是使用和试验 Linux 的一种好方法。与 Cygwin 相似,它允许在Windows操作系统上开发和执行 Linux 应用程序。还可以用apt-get安装、更新或删除应用程序,从而维护Linux操作系统。
与 Cygwin 不同的是,在 coLinux 上执行 Linux 应用程序不需要重新构建。从这个角度来说,coLinux 是与 Windows 操作系统协作的真正的 Linux 操作系统。
它另一个令人感兴趣的优点是可移植性。可以在一个Windows主机上建立一个它的发行版,并在根文件系统中安装一套定制的应用程序。然后,可以将根文件 系统转移到另一个主机,并重新启动。这样就有了一个可移动的开发平台,压缩后的根文件系统完全可以放在一个标准 USB 记忆棒中。
最后,它的速度很快,因为它本质上是在本机硬件中运行的。
主要缺点:
是它有可能导致整个机器崩溃(包括所有进行协作的操作系统),因为访客操作系统以特权模式在主机内核中运行。它的正常操作还依赖于外部软件(窗口和连网支持)。除此之外,它的安装和配置非常容易。在我使用它期间,没有遇到过崩溃。
coLinux怎么用?
coLinux 是标准 Linux 内核的一个端口。换句话说,coLinux 就是一个 Linux 内核,它经过修改,以与另一个操作系统协作运行。主机操作系统(Windows 或 Linux)控制操作系统的物理资源,而访客(guest)操作系统(coLinux)获得硬件的虚拟抽象。主机操作系统必须提供以特权级别(ring 0)执行驱动程序的方法,并提供分配内存的方法(见图 3)。
coLinux 作为主机操作系统的一个进程执行
coLinux 的根文件系统是主机操作系统中的一个常规文件。对于 Windows,它只是一个常规文件;但是对于 coLinux,它是一个可读可写的 ext3 文件系统。
Linux 内核所需的其他特性(比如连网或视频访问)通过外部代理来实现。coLinux 可以通过 TUN/TAP 驱动程序访问连网特性(在下面的 “连 网” 一节中讨论)。简单地说,这个驱动程序提供对以太网设备的用户空间访问,这样就可以发送和接收数据包。对显示器的访问也要通过代理。X Window System 是一种协议,按照这种协议在主机之间发送视频输出。因此,通过在主机操作系统上使用 X Window System 服务器,可以将视频输出转发到可用的 X 服务器。
下面,我们就来安装 coLinux 并配置连网特性和视频显示。
安装 coLinux 非常容易。这包括几个步骤(具体取决于您的需要),但是这些步骤都很简单,而且在我的 Windows XP 机器上安装时没有出现任何问题。本节讨论如何安装 coLinux 并启用连网等服务。
第一步是下载 coLinux 发布版。访问 http://www.colinux.org 并在左侧栏中选择 Downloads。如果浏览器没有进入 SourceForge,那么选择页面上的链接。页面的中间有 coLinux-stable 包的链接。下载 coLinux 可执行文件(至编写本文时,最新版本是 coLinux-0.6.4.exe)。coLinux 的 0.6.4 版本是 2.6.11 Linux 内核。完成下载之后,双击这个文件开始安装。
在接受许可协议之后,询问您希望安装哪些组件。保持这些设置不变(应该选择了所有组件),包括下载根文件系统映像。为了使 后面的操作更容易,将安装 coLinux 的目标文件夹改为 c:\colinux\,因为从配置文件的角度来看,colinux 是标准的安装子目录。
当安装程序要求选择根文件系统映像时,选择 Debian 发布版,因为它是最小的发布版,解压后只有 1GB。选择 Install 来执行安装和根文件系统下载。
安装完成之后,还有工作要做。下一步是在安装子目录中打开一个文件夹,以便对根文件系统进行解压。
coLinux 的 README 文件包含许多关于其他安装选项的信息。这个文件可以在安装子目录(c:\colinux)中找到。这里有一个以 .bz2 结尾的怪名字的文件。将这个文件重命名为 root_fs(这是配置中默认的根文件系统文件)。
现在,coLinux 的安装基本完成了。可以用以下命令在 Windows XP 中启动 coLinux 守护进程(通过命令提示窗口执行):
$ colinux-daemon.exe -c default.colinux.xml
在执行 colinux-daemon 之后,显示引导窗口(见图 4)。这里提供与传统 Linux 引导过程中相同的引导信息。注意,coLinux 的引导非常快。
图 4. coLinux 引导窗口
还会显示一个控制台窗口(见图 5),它连接到 colinux-daemon。在这个窗口 中,可以登录 coLinux 并与 shell 交互。默认的用户名和密码是 root/root。
图 5. coLinux 虚拟控制台(shell)
在图 5 中可以看到,coLinux 控制台由两个部分组成:传统的控制台和虚拟控制台,后者提供关于监视器的信息。
连网
从 Linux 的角度来看,当安装完成时,coLinux 的连网支持已经可用了。在安装过程中已经装载了 TAP 驱动程序。TAP 驱动程序是一个到主机操作系统所管理的以太网设备的用户空间连接。TAP 驱动程序使访客操作系统能够将原始以太网帧写到一个虚拟以太网设备(用户空间的扩展)。然后,用户空间中的虚拟以太网设备将以太网帧传递给主机操作系统中 真实的以太网设备。读取的过程正好相反。注意,TAP 驱动程序传递的是以太网帧,而 TUP 驱动程序处理的是 Internet Protocol(IP)帧。
为了支持 TAP 驱动程序,主机操作系统必须共享可用的以太网设备。为了在 Windows XP 中启用共享,从 Control Panel 打开 Network Connections 面板。选择活动的局域连接,然后打开属性。选择 Advanced 选项卡,选中复选框允许其他网络用户通过此计算机的互联网连接来连接(见图 6)。
图 6. 启用网络设备共享的局域连接属性
启用网络共享之后,可以启动 coLinux 并像往常一样使用网络。图 7 显示执行 ping 命令的结果,这说明网络是正常的。
图 7. 通过使用 TAP 驱动程序,使用共享网络设备的过程对于 coLinux 是透明的
只需稍加配置,coLinux 就可以提供连网特性。关于用 TUN/TAP 进行连网的更多信息,请参阅 参 考资料 一节。