原文地址::http://hi.baidu.com/usen68/blog/item/e9a84995569b1043d0135e18.html


Colinux (Cooperative Linux)可使在Windows2000/XP上同时运行Linux成为可能并不借助第三方的虚拟机软件(VMware,VitualPC).它不是一种虚拟机,而是Linux内核的移植,使得Linux 可以natively 运行在Windows上。Colinux的格言是:如果Linux 可以运行在任何一种体系架构(i386,PowerPC,...)。Linux也应该可以运行在另外一种操作系统上(Windows, Linux,...)

使用Colinux有如下好处:
1)CoLinux 的安装简单:不用理解Linux 下的分区格式(/dev/hda1 ...),对新手来说,总是胆颤心惊,担心丢失数据。
2)CoLinux 的网络配置简单:理论上,你的windows能够上网,那么你的Linux就可以上网,因为CoLinux 共用了你的Windows网络连接。
3)CoLinux 的X 设置简单 : 理论上,你的windows能够正常显示,那么你的Linux的X就
可以正常运行,因为用的是windows上的X Server (x-manager , exceed, x-win32, c
ygwin/X..)
4) 最有意思的是,你同时还在运行着Windows!

5)Colinux 启动linux 很迅速,大概十秒钟吧(具体还得视机器配置了...)

下面看看Colinux 是如何实现虚拟化的吧,Windows 和 Linux 在 coLinux 中协作图如下:

Colinux通过使用内核驱动程序,还可以共享网络接口等物理资源。CoLinux 是标准 Linux 内核的一个端口。换句话说,coLinux 就是一个 Linux 内核,它经过修改,以与另一个操作系统协作运行。主机操作系统(Windows 或 Linux)控制操作系统的物理资源,而访客(guest)操作系统(coLinux)获得硬件的虚拟抽象。主机操作系统必须提供以特权级别(ring 0)执行驱动程序的方法,并提供分配内存的方法(如下图所示: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 之后,显示引导窗口(如下图所示:coLinux 引导窗口)。这里提供与传统 Linux 引导过程中相同的引导信息。注意,coLinux 的引导非常快。

还会显示一个控制台窗口(如下图:coLinux 虚拟控制台(shell)
),它连接到 colinux-daemon。在这个窗口中,可以登录 coLinux 并与 shell 交互。默认的用户名和密码是 root/root

在上图中可以看到,coLinux 控制台由两个部分组成:传统的控制台和虚拟控制台,后者提供关于监视器的信息。

连网

从 Linux 的角度来看,当安装完成时,coLinux 的连网支持已经可用了。在安装过程中已经装载了 TAP 驱动程序。TAP 驱动程序是一个到主机操作系统所管理的以太网设备的用户空间连接。TAP 驱动程序使访客操作系统能够将原始以太网帧写到一个虚拟以太网设备(用户空间的扩展)。然后,用户空间中的虚拟以太网设备将以太网帧传递给主机操作系统中真实的以太网设备。读取的过程正好相反。注意,TAP 驱动程序传递的是以太网帧,而 TUP 驱动程序处理的是 Internet Protocol(IP)帧。

为了支持 TAP 驱动程序,主机操作系统必须共享可用的以太网设备。为了在 Windows XP 中启用共享,从 Control Panel 打开 Network Connections 面板。选择活动的局域连接,然后打开属性。选择 Advanced 选项卡,选中复选框允许其他网络用户通过此计算机的互联网连接来连接(见下图:启用网络设备共享的局域连接属性)。

启用网络共享之后,可以启动 coLinux 并像往常一样使用网络。下图显示执行 ping 命令的结果,这说明网络是正常的。 通过使用 TAP 驱动程序,使用共享网络设备的过程对于 coLinux 是透明的。

只需稍加配置,coLinux 就可以提供连网特性。

X Window System

有控制台窗口是很不错,但如果有图形化窗口管理器就更好了。通过使用开放源码的 X 服务器,比如 Xming,可以在 coLinux 上创建 xterms 或使用其他图形化应用程序。有许多可行的办法,比如 Virtual Network Computing(VNC),但是我将讲解如何使用 Xming。

第一步是 从 SourceForge 下载 Xming。安装之后,在安装子目录中有一个需要更新的文件,X0.hosts。它包含允许访问 X 服务器的远程主机。只需添加运行 coLinux 进程的机器的 IP 地址。启动 Xming X 服务器和 coLinux,然后在 coLinux 中执行以下命令:

colinux:~# export DISPLAY=192.168.1.3:0.0
colinux:~# xterm &

注意,这里指定的 IP 地址是 coLinux 主机的 IP 地址。在执行 xterm 命令之后,出现一个新的 xterm 窗口,见下图:

扩展 coLinux

无论下载哪个根文件系统,它可能不包含您需要的所有东西。但是,可以轻松地扩展根文件系统。例如,在使用 Debian GNU/Linux 时,可以使用 Advanced Packaging Tool(APT,一个包管理系统)来安装新的包或更新现有的包。第一步是更新 APT 元数据,这些数据维护关于安装的包(包括新提供的包以及获得它们的位置)的管理信息:

$ apt-get update

现在,可以用您需要的其他包更新根文件系统。例如,如果希望在根文件系统中添加 Ruby 语言,那么可执行以下命令:

$ apt-get install ruby

按照这种方式,可以使用现有的根文件系统并根据自己的需要进行调整。如果 coLinux 缺少您需要的某些东西,还可以从源代码重新构建 coLinux。

coLinux 的优点

coLinux 是使用和试验 Linux 的一种好方法。与 Cygwin 相似,coLinux 允许在 Windows 操作系统上开发和执行 Linux 应用程序。还可以用 apt-get 安装、更新或删除应用程序,从而维护 Linux 操作系统。

与 Cygwin 不同的是,在 coLinux 上执行 Linux 应用程序不需要重新构建。从这个角度来说,coLinux 是与 Windows 操作系统协作的真正的 Linux 操作系统。

coLinux 另一个令人感兴趣的优点是可移植性。可以在一个 Windows 主机上建立一个 coLinux 发行版,并在根文件系统中安装一套定制的应用程序。然后,可以将根文件系统转移到另一个主机,并重新启动。这样就有了一个可移动的开发平台,压缩后的根文件系统完全可以放在一个标准 USB 记忆棒中。

最后,coLinux 的速度很快,因为它本质上是在本机硬件中运行的。

coLinux 的问题

coLinux 的主要缺点是它有可能导致整个机器崩溃(包括所有进行协作的操作系统),因为访客操作系统以特权模式在主机内核中运行。它的正常操作还依赖于外部软件(窗口和连网支持)。除此之外,coLinux 的安装和配置非常容易。在我使用 coLinux 期间,没有遇到过崩溃。

结束语

coLinux 采用的方式和提供的功能很新颖,它 本身在 Windows 之上提供一个虚拟化的Linux。再加上其他一些开放源码工具,就可以建立一个完全成熟的 Linux 开发系统,包括连网和图形用户界面。coLinux 并不完美,但它是在标准 Windows 桌面计算机上使用 Linux 的一个好方法。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐