感谢 YCF 兄 在 twitter 上的推荐。


Finit-ARC 是什么呢?这是一个加快 Linux 系统启动的程序,它的前身是大名鼎鼎的 fast-init。

我们知道,通常 Linux 启动是靠脚本来控制的,这可能是 /etc/rc.sysinit,大家知道,Shell 脚本是解释性的,速度很慢(相对编译性的语言来说),那么,何不用一种编译性的语言来操纵系统的启动呢?

Finit_ARC 就是基于这一原理,它采用纯 C 语言写成,设置环境变量等等操作所调用的都是系统的 API,还有一些使用 system() 函数执行的程序,并且处理的时候还用了多进程,这样效率岂不是有很大的提高?

是的,经过实验,使用 Finit_ARC 启动的电脑,从 GRUB 到 Shell 登录,可能达到只需要 3–5 秒!

请注意:Finit-ARC 目前还是 Beta 版本,并且只能用于 Arch Linux!

那么,怎样安装 Finit-ARC 呢?

1.从这里安装相对稳定版:

http://aur.archlinux.org/packages.php?ID=25159

或者从这里安装 git 版(仅用于测试目的!)

http://aur.archlinux.org/packages.php?ID=26314

2.安装完成后务必正常启动(或重启)系统一次。

3.编辑 /boot/grub/menu.lst,把 init=/sbin/finit-arc 作为内核参数加入进去。

重要!Finit-ARC 不支持 UUID,所以在 /boot/grub/menu.lst 和 /etc/fstab 中,应该把所有 UUID 形式改成 /dev/sd** 的格式!

更详细的介绍和一些注意事项,可以参考 Arch Linux 官方论坛


下面说说我的情况:

我的电脑启动速度没有经过任何优化,有的话也仅仅是开机不让 NTFS 分区挂载,模块用的是 AUTOLOAD,所以比较费时间。

使用 Finit-ARC 之前,我的启动时间是 21 秒。

使用 Finit-ARC 之后,启动时间是 13 秒。

不过,很悲惨的,遇到了 hald 段错误的问题,开机后键盘鼠标都不能用……论坛上其他人也出现了此问题,所以,优化要谨慎啊……

不过其实也没啥风险,只要 fallback 那个条目的内核参数没被你改了,出了问题从 fallback 进系统改回来就行了。

有没有想要试一下的呢?召唤小白!

评论