• 没错,我总算成功地把开机时间压到10秒内了。 我主要参考了以下两篇wiki:
    https://wiki.archlinux.org/index.php/Improve_Boot_Performance
    https://wiki.archlinux.org/index.php/Maximizing_Performance

    我的经验(只是对于我的笔记本而言,可作参考)有:
    1.对于/etc/inittab的修改只需把"rm:2345:wait:/etc/rc.multi"这行的wait改成once,连其它也修改的话反而会使开机更慢;
    2.精简编译内核对于开机速度的改善并不明显,嫌麻烦的话可以跳过这一步;
    3.在Maximizing Performance一文中的"Compressing /usr"部分所介绍的把/usr压缩成squashfs的方法也可减少2-3秒的开机时间;
    4.尽管rc.sysinit占开机过程中占了不少时间,里面也看似有很多不必要的东西(例如lvm,加密设备等),但建议还是不要对其进行精简了,因为精简的效果往往不明显,而且一不小心就会导致无法正常开机,不建议花时间在修改这文件上。你要是真想对这一部分进行优化的话,你可以干脆把系统自带的initscripts换成更快的systemd来启动,但要是这么做的话就要修改一大堆地方来与之配合,而且会把arch的一大特色弄没了,所以我不建议这么做;
    5.如果嫌安装bootchart来统计开机时间麻烦的话,可以采用以下方式来更简单精确地(精确至0.01秒,而bootchart只能精确到秒)记录下开机时间:
    在.xinitrc文件的末尾处的启动wm(窗口管理器)命令前添加一行:
    [ -e /tmp/boot_time ] || cat /proc/uptime | cut -d ' ' -f 1 > /tmp/boot_time
    这命令会将系统在bootloader引导后至启动wm前的那一瞬间(所以不包含wm的启动时间,但基本上可以忽略)所经历的时间(uptime)记录到/tmp/boot_time,执行cat /tmp/boot_time就可查看本次的开机时间了。