在开源界,总是有很多不可思议的东西,在没有虚拟化技术的机子中的 Windows 下跑 Linux 可以以 Native 的速度似乎很早就已经成功了。使用的是一个叫做 coLinux 的程序,它将整个 Linux 系统当做 Windows 的一个进程,其高得惊人的执行效率伴随着是相当小的资源占用。
前面其实用过 coLinux,当时使用了官方网站上提供的 Debian 镜像,可以直接使用。但这次由于某些原因,不得不使用 Ubuntu,于是就用前一段载的 DVD 安装了一个。虽然只装了基本系统,过程还是相当艰难的……
对于没用过 coLinux 的,首先要到 SourceForge.net 上下载 coLinux-stable 和下面任意一个制作好的硬盘镜像。这些镜像除了预装系统不同外,其大小也不同,ArchLinux 的是 256MB,Debian 是 1GB,Ubuntu 是 2GB。如果空间充裕建议下 Ubuntu 版的吧,这样以后可以做的事情比较多~
接下去安装什么的都很简单了,下载的 coLinux 安装程序按照过程安好,然后把刚才载的镜像解压到安装文件夹。你还可以在这里根据你想要的大小下载一个 Swap 的镜像,同样放到那个目录。
其实编辑一下 example.conf,把对应的文件名填上就可以打开了。不过这样不好玩,不是么?
现在准备好 Ubuntu 9.04 DVD 的 ISO 镜像,新建一个文件叫做 ubuntu.conf,然后从 ISO 当中的 install 目录提取出 initrd.gz,备份安装文件夹中的同名文件备用。接下来新建一个文件叫做 ubuntu.conf,内容按照如下模版填写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # c:\coLinux 换成你的安装目录 kernel="c:\coLinux\vmlinux" # 这里写上你下载的镜像的文件名 cobd0="ubuntu.ext3.1gb" # 这是 swap 区的镜像的文件名,没有就可以不写了 cobd1="swap_256Mb" # 这个是 DVD 镜像的位置 cobd2="d:\share\ubuntu-9.04-dvd-i386.iso" # 以光盘启动 root=/dev/cobd2 ro initrd="initrd.gz" #内存大小,单位 MB,如果内存大的可以适量加大,我这里总物理内存只有 256,所以才给这么些 mem=64 # 安装之前先不要启用网络,否则就后果自负了…… #eth0=pcap-bridge, "colinux" |
接下去执行 colinux-daemon.exe @ubuntu.conf,进入安装。
由于 Ubuntu 的安装程序不能正确格式化磁盘,因此我们要先帮它格式化好。先点 Alt+F2 进入控制台,输入下面命令预格式化:
1 2 | mke2fs -j /dev/cobd0 mkswap /dev/cobd1 |
重启在此进入安装,此时根据提示安装即可。但有几个地方需要注意,一是可能遇到说找不到光驱,此时选择不加载外部驱动,手动指定,然后输入 /dev/cobd2 加载 DVD 镜像;问是否不加载内核模块而继续时选是;在划分磁盘时选择手动,将刚刚格式化过的 /dev/cobd0 选择使用为 ext3,保留数据挂载为 /。安装的时候最好什么额外的包都不要选,特别是 Desktop 那些,先安个基本系统就好了。最后,不要安装 grub 和 lilo,装了也会出错……所以就直接忽略就好了。
安装过程可能持续相当的时间,如果刚才不禁掉网络可能就跟囧了……
安装好以在 Monitor 菜单中选择 Power off 关机。编辑 ubuntu.conf,将 root=/dev/cobd2 修改为 root=/dev/cobd0,去掉 eth0=pcap-bridge, “colinux” 前的注释符,并把刚才备份的 initrd.gz 覆盖从 ISO 中提取出来的文件。在此执行 colinux-daemon.exe @ubuntu.conf,至此就进入了 Ubuntu 9.04。
登入,下面先设置更新源。我发现,如果设置了 DVD 作为更新源,绝大多数常用的软件包都不需要上网下载。现在我们知道,DVD 已经被在 /dev/cobd2 上了。现在,执行下面命令,添加 DVD 源:
1 2 | sudo mount /dev/cobd2 /cdrom sudo apt-cdrom add |
然后就 sudo apt-get update 一下就可以用了~
因为我个人习惯于是用 vim 而非 nano,因此我必经这步安装了个 vim,然后开始编辑网络。
1 | sudo vim /etc/network/interfaces |
在其中写入相关的网络配置:
1 2 3 4 5 | auto eth0 iface eth0 inet static address IP地址 netmask 255.255.255.0 gateway 网关 |
由于我们选择了桥接模式,现在这个虚拟机和你的宿主机在网络上是平级的,因此可根据自己的网络配置设置。如果有需要设置 DNS 服务器的话,应该新建 /etc/resolv.conf,并按照下面格式添加 DNS 服务器:
1 2 | nameserver 218.85.157.99 nameserver 202.101.98.55 |
下面就运行下面的命令重开网络:
1 2 | sudo ifdown eth0 sudo ifup eth0 |
就可以使用了。
安装东西的时刻来临了!
不过还有一个需要的东西,就是 Xming。有了这个,你就可以实现在 Windows 下无缝使用 Linux 的界面程序了!首先要在虚拟机中安装 xterm,并在 Windows 下从这个地方下载 Xming 和 Xming-fonts 并安装。
完成 Xming 的安装后,进入其安装目录,编辑 X0.hosts 文件,在 localhost 下面再加一行你的虚拟机的 IP 地址,最后启动 Xming。
在 Linux 下,你必须在输入下面命令:
1 2 | export DISPLAY=IP地址:0 xterm & |
其中 IP 地址为你宿主机的 IP 地址。这时你将看到一个白色背景的终端窗口,这说明你已经成功了!现在运行任何有界面的程序,就可以在 Windows 下看到看似原生环境的界面了。
当然,在疯狂的安装过程中,可能会发现空间变得越来越紧张,特别是像我这样一开始选用了 1GB 的镜像来安装 Ubuntu 的人……
要扩大镜像文件,首先需要一个叫做 mkFile.exe 的程序,因为似乎不好找,所以就自己预编译了一个,可以点击这里下载:mkFile.rar (326.57KB)
在关闭虚拟机的情况下,执行“mkFile.exe -r -g 你的镜像文件 2”就可以将镜像文件扩大到 2GB。重新开启虚拟机,在虚拟机中执行
1 | sudo resize2fs /dev/cobd0 |
稍等片刻就完成了。
下面是一张我在 coLinux 中编译安装并运行出 Scribes 的截图~其实我今天做这番事最根本的动机是为了在 Windows 下看看 Scribes 的……其实还是很完美的~虽然慢了一点……

参考:CoLinux入门教程、在coLinux上安装Ubuntu8.04、ext3 online resize with Ubuntu 8.10 Intrepid、将Ubuntu DVD做软件源
Comments