星期一, 十月 27, 2008

关于wubi

对wubi对启动方式很感兴趣,类似colinux的启动模式:都是利用的ext3磁盘镜像,和swap磁盘镜像。不同的是colinux是在windows中引导的,colinux只有控制台(最多弄个vnc或者xming),而wubi几乎是全能的。
分析了一下wubi的启动原理,大体如下:
首先一个定制的内核,可以很轻松的启动到initramfs(busybox)模式,然后在此挂载ext3镜像所在的分区,你可以去掉root.disk的挂载,单独启动initrd.img镜像,启动到busybox后,你可以发现ext3镜像所在的分区已经挂载到/host了。
之后挂载ext3磁盘镜像到根目录,接下来就是正常的引导系统启动了。
当然wubi靠的是wubi.mbr(实际上就是一个类grub),利用windows的ntloader来引导的。

wubi的优点是显而易见的,不用分区,安装ubuntu就像是装了一个软件,安装和卸载都很容易。

我尝试利用ubuntu的内核来引导slitaz(一个法国的迷你linux系统),成功了。
我先是利用slitaz的liveCD将它系统安装到了一个空白的ext3格式的磁盘镜像中,之后利用ubuntu的内核引导它,可以很正常的启动这个磁盘镜像,而且可以打开X-window,不过因为内核不是定制的,另外slitaz是基于busybox的,和ubuntu启动方式不同,所以有许多错误,但总归来说是启动成功了。
这样看来,与wubi关系倒是不大了,关键是一个能够挂载ntfs分区,然后挂载ext3镜像到根目录的一个initrd了,之后再用grub来引导即可了。

ps:
网速实在是慢的要命,没法,用driverl来写了。

没有评论: