[howto] General 5.10 - HowTo: Speed up ubuntu boot process - the way you can feel it. - updated

转载 2006年06月01日 17:00:00
[howto] General 5.10 - HowTo: Speed up ubuntu boot process - the way you can feel it. - updated
This HowTo is for those who complaint ubuntu boot-up speed is pretty slow but not willing to install any alternative tools to speed up. The way I use here is not the altimate solution by any means but it does make differences and it does work. Everything done below is by tuning the boot process itself and because everyone's computer might be different, there is a little risk that something below might break your system. Take your own judgment before you perform a change and always good to do a backup for the /etc dir.

**This HowTo is mainly for laptops and desktops, not for servers.**

Suggestions for this HowTo:
1. I hope you learn something from here but not just a simple copy. So please, **DO NOT** follow exactly what I did and copy to your box. Read the descriptions of services and use your own judgment to determine if you need to keep them on or not. For instance, I turned GDM off on mine to boot to console, but if you do not feel confortable to see console at all, you should keep GDM or KDM on to boot directly to GUI.
2. If you have a question about a boot up service and not really sure what it does, post a question here and see if anybody can help you. Ask before you do if you don't know. The bottom line to be safe is to leave a service on rather than turn it off if you do not understand.
3. If you see a boot up service that you have but not in here, let us know what it does just like what I did here - give some descriptions and suggestions on whether it should be on or off on a normal laptop or desktop environment.

Color reference : service I turned on
service I turned off

Screen shots contrib'ed by domino for the initial bootup settings. A great reference for those who mess up on runlevels... Thanks!!

Page 1:


Page 2:



I. Install a tool - sysv-rc-conf. It is a perl based boot process adjustment tool.
Code:
sudo apt-get update
sudo apt-get install sysv-rc-conf
It gives you a way to esaily config the boot process and runlevel configuration, but its not necessary if you want to do it manually by linking/unlinking the files... Its up to you.

II. Ok, that's all we need. Now let's fire it up by
Code:
sudo sysv-rc-conf
and analyze each service one by one. **Note:** Some services I have here you might not have, perfectly ok. If some you have but I don't, then you will need to investigate on your own or ask here... But this HowTo should cover most of them...

Throw a littel bit of runlevel knowledge here before we start messing them up.... All the boot processes are executed in sequence as following:
runlevel S: the first runlevel in boot process. /etc/init.d/rcS script will be invoked to start and all the processes underneath /etc/rcS.d will be executed.
runlevel 1: the single user mode. All processes underneath /etc/rc1.d will be executed.
runlevel 2,3,4,5: in debain system, the multi-user env, may not may not include GUI. The same, processes under each of the corresponding dirs will be run. **Note** this is different than RedHat, SuSE, and other RPM based systems.
runlevel 0: computer shutdown.
runlevel 6: computer reboot.

ok, back to sysv-rc-conf:

1. acpi-support - You'd better leave it on the default runlevel. The default is 2,3,4,5.
2. acpid - The acpi daemon. These two are for power management, quite important for laptop and desktop computers, so leave them on. The default is 2,3,4,5
3. alsa - If you use alsa sound subsystem, yes leave it on. But if you have the service below, its safe to be off. The default is off when alsa-utils is on.
4. alsa-utils - On my system, this service supercedes the alsa, so I turn off the alsa and turn this on at S level. **Note**, I mean "turn off" is to remove all "X" at all runlevels. If you don't have it on your system, no problem. Just keep going. The default is S runlevel.
5. anacron - A cron subsystem that executes any cron jobs not being executed when the time is on. Most likely you've probably turned your computer off when a certain cron job time is ready. For example, updatedb is scheduled at 2am everyday, but at that moment, you computer is off, then if anacron service is on, it will try to catch up that updatedb cron... I turn it off cause it didn't turn my laptop off very offen, but its totally up to you for this one. The default is 2,3,4,5
6. apmd - This is the one that confused me a quite bit. I have acpid on already and what's the benefits of having apmd on too? If you computer is not that old which can't even support acpi, then you may try to turn this off. I did anyway. The default is 2,3,4,5
7. atd - like cron, a job scheduler. I turned it off. The default is 2,3,4,5
8. binfmt-support - Kernel supports other format of binary files. I left it on. The default is 2,3,4,5
9. bluez-utiles - I turned it off. I don't have any bluetooth devices. The default is 2,3,4,5
10. bootlogd - Leave it on. The default is S.
11. cron - Leave it on. The default is 2,3,4,5
12. cupsys - subsystem to manager your printer. I don't have so I turned it off, but if you do, just leave it on. The default is 2,3,4,5
13. dbus - Message bus system. Very important, leave it on. The default is 2,3,4,5
14. dns-clean - Mainly for cleaning up the dns info when using dial-up connection. I don't use dial up, so I turn it off. The default is S.
15. evms - Enterprise Volumn Management system. I turned it off. The default is S.
16. fetchmail - A mail receving daemon. I turned it off. The default is 2,3,4,5
17. gdm - The gnome desktop manager. I turned it off anyway since I get use to boot to console first. This is up to you if you want to boot directly to GUI. The default is 2,3,4,5
18. gdomap - Actually I have no idea why this one should on. I didn't see any other systems have this daemon, so I turned it off and I don't feel I lose anything. Any benefits to have it on a loptop or desktop? The default is 2,3,4,5
19. gpm - Mouse support for console. If you feel you'd better have a mouse on console, go turn it on at runlevel 1 and 2. That's all you need. The default is 2,3,4,5
20. halt - Don't change it. The default is 0.
21. hdparm - tuning harddisk script. I removed the 2,3,4,5 runlevel but add it to S runlevel. I feel that opening DMA, 32bit I/O, etc eariler will benefit the rest of the processes. Also I changed the original script to a very simple one that I made myself. I feel useless to put all those redundant checks if I know what I am doing. The configuration file is /etc/hdparm.conf. The default is 2,3,4,5
22. hibernate - If your system support hibernate, leave it on. Otherwise, its useless for you. The default is S.
23. hotkey-setup - This daemon setup some hotkey mappings for Laptop. Manufacturers supported are: HP, Acer, ASUS, Sony, Dell, and IBM. If you have a laptop in those brands, you can leave it on, otherwise, this might not have any benefits for you. The default is 2,3,4,5
24. hotplug and hotplug-net #activating hotplug subsystems takes time. I'd consider to turn them off. I did some changes in my /etc/network/interfaces file. Instead of mapping my wireless card during hotplug process, I set it up to auto. So I can turn them off. I've tested even I turned them off, ubuntu can still detect my usb driver, my digital camera, etc. So I think its pretty safe to turn them off. **Note** If you find your sound card doesn't work after turning hotplug service off, you can turn it back. Or edit /etc/modules file to add your sound card's driver module. Tested out the later one is faster. The default is S.
25. hplip - HP printing and Image subsystem. I turned it off. The default is S.
26. ifrename - network interface rename script. Sounds pretty neat but I turned it off. Mainly for managing multiple network interfaces names. Since I have a wireless card and an ethernet card, they all assigned eth0 and ath0 from kernel, so its not really useful for me. The default is S.
27. ifupdown and ifupdown-clean - Leave it on. They are network interfaces activation scripts for the boot time. ifupdown default is 0,6,S and ifupdown-clean is S.
28. inetd or inetd.real - take a look your /etc/inetd.conf file and comment out any services that you don't need. If there aren't any services there, then its very safe to turn them off. The default is 2,3,4,5
29. klogd - Leave it on. The default is 2,3,4,5
30. laptop-mode - A service to tweak the battery utilization when using laptops. You can leave it on. The default is 2,3,4,5
31. linux-restricted-modules-common - You need to see if you really have any restricted modules loaded on your system. Since I need madwifi ath_pci module, so I left it on. The restricted modules can be found from /lib/linux-restricted-modules. If you find that you are not using any of the restricted modules, then its ok to turn it off. The default is 0,6, and S.
32. lvm - I don't use it so I turned it off. Leave it on if you *DO* have lvm. The default is S.
33. makedev - Leave it on. The default is 2,3,4,5
34. mdamd - Raid management tool. I don't use it so I turned it off. The default is 2,3,4,5
35. mdamd-raid - Raid tool. If you don't have Raid devices, turn it off. The default is S.
36. module-init-tools - Load extra modules from /etc/modules file. You can investigate your /etc/modules file and see if there is any modules that you don't need. Normally, this is turned on. The default is S.
37. mountvirtfs - mount virtual filesystems. Leave it on. The default is S.
38. networking - bring up network interfaces and config dns info during boot time by scaning /etc/network/interfaces file. Leave it on. The default is 0,6,S
39. ntpdate - Sync time with the ubuntu time server. The default is S. QUOTED: "If you are dual-booting with Windows, it is probably a good idea to leave ntpdate on. Windows can only deal with the hardware clock set to local (not UTC) and Linux needs ntpdate to correct this, otherwise your clock will increase an hour everytime you boot into Linux from Windows." Thanks dejitarob for the update!! I don't have dual boot, so I turned it off, but if you have multiple systems, suggestion is to turn it on.
40. nvidia-kernel - I compiled the nvidia driver by myself, so its useless for me now. If you use the ubuntu nvidia driver from the restrict modules, just leave it on. The default is 1,2,3,4,5
41. pcmcia - Active pcmcia device. I changed it to start on 0,6,S runlevel instead of on each 2,3,4,5 cause I feel its better to have hardware device ready at first. Also, useless if you are using desktop which doesn't have pcmcia card. So in that case, turn it off please. The default is 2,3,4,5
42. portmap - daemon for managing services like nis, nfs, etc. If your laptop or desktop is a pure client, then turn it off. The default is 2,3,4,5,0,6,S
43. powernowd - client to manage cpufreq. Mainly for laptops that support CPU speed stepping technology. Normally, you should leave it on if you are configuring a laptop, but for desktop, it might be useless. The default is 2,3,4,5
44. ppp and ppp-dns - Useless to me. I don't have dial-up. The default for ppp is 2,3,4,5 and pppd-dns is S.
45. readahead - **Thanks mr_pouit!** It seems readahead is a kind of "preloader". It loads at startup some libs on memory, so that some programs will start faster. But it increases startup time for about 3-4 seconds. So, you can keep it... or not . **update**, I tested and I just didn't feel difference loading programs. So I decided to turn it off. If you have a reason to keep it on, please do so. The default is S
46. reboot - Don't change it. The default is 6
47. resolvconf - Automatically configuring DNS info according to your network status. I left it on. The default is S.
48. rmnologin - Remove nologin if it finds it. It wouldn't happen on my laptop, so I got rid of it. The default is 2,3,4,5
49. rsync - rsync daemon. I don't use it on my laptop, so turned it off. The default is 2,3,4,5
50. sendsigs - send signals during reboot or shutdown. Leave it as it is. The default is 0,6
51. single - Active single user mode. Leave it as it is. The default is 1
52. ssh - ssh daemon. I need this so I turned it on. The default is 2,3,4,5
53. stop-bootlogd - stop bootlogd from 2,3,4,5 runlevel. Leave it as it is. The default is 2,3,4,5
54. sudo - check sudo stauts. I don't see any good to run it everytime on a laptop or desktop client, so I turned it off. The default is S
55. sysklogd - Leave it as it is. The default is 2,3,4,5
56. udev and udev-mab - Userspace dev filesystem. Good stuff, I left them on. The defaults are all S runlevels.
57. umountfs - Leave it as it is. The default is 0,6
58. urandom - Random number generator. Might not useful but I left it on. The default is 0,6,S
59. usplash - Well, if you really want to see the nice boot up screen, leave it as it is. I just turned it off anyway. If you want to turn it off, you also need to edit /boot/grub/menu. lst file to comment out the splashimage line and get rid of the splash kernel boot option. The default is 2,3,4,5
60. vbesave - video card BIOS configuration tool. Its able to save your video card status. I left it on. The default is 2,3,4,5
61. xorg-common - setup X server ICE socket. I moved it from starting at runlevel S to runlevel 2,3,4,5. Since I don't need this if I boot to single user mode. This way it wouldn't occupy time during the initial booting. The default is 2,3,4,5
============ My bootup services end up here============

============ Some services from others================
62. adjtimex - This is a kernel hw clock time adjusting too. Normally, you shouldn't see this on your boot up list. In very rare case if you do see its on your boot up process, then there might be a reason why it is on, so better leave it that way. In my case, it is off.
63. dirmngr - A certification lists management tool. Work with gnupg. You will have to see if you need it or not. In my case, I turned it off. Default runlevel 2,3,4,5
64. hwtools - A tool to optimize irqs. Not sure what's the benefits of turning it on. In my case, I turned it off.
65. libpam-devperm - A daemon to fix device files permissions after a system crash. Sounds pretty good, so I left it on.
66. lm-sensors - If you matherboard has builtin some sensor chips, it might be helpful to see hw status via userspace. I ran it and it said "No sensors found", so I turned it off.
67. screen-cleanup - A script to cleanup the boot up screen. Well, turn on or off is up to you. In my case, I left it on. The default is S
68. xinetd - A inetd super daemon to manage other damons. In my system, the xinetd is managing chargen, daytime, echo and time (find them from /etc/xinetd.d dir), I care none of them, so I turned it off. If you do have some important services configured under xinetd, then leave it on.

III. Alter the /etc/inittab file
Code:
vi /etc/inittab
then comment out tty4,tty5, and tty6. Just leave tty1, tty2, and tty3. Three vts should be enough for a laptop or desktop user. Save the file.

IV. Ok, now, we can reboot our box and see how it goes. From what I've tested, before I got tons of services stopped, the whole process is about 85 secs to 90 secs to boot to console. (At that time, I also has samba and nfs services turned on which I shouldn't. Apparently, I turned them off too). After this change, the whole boot up process took about 50 secs. I have a P4M 1.8G CPU laptop. Some of the high-end desktops or laptops should take even less time.

**UPDATE**: speed up/clean system reboot or shutdown process.
1. start sysv-rc-conf by issuing:
Code:
sudo sysv-rc-conf
2. ok, open your eyes and look very carefully for those SERVICES THAT DO NOT HAVE A "X" ON ANY RUNLEVELS (Any runlevel means 1,2,3,4,5,6, and S), write them down one by one. Don't make mistakes here. Double check after you've done. Thanks ice60 for wording recommendation!
3. quit sysv-rc-conf.
4.
Code:
cd /etc/rc0.d
- This is for the system shutdown process.
5. ok, now,
Code:
ls K*
will list all links starting from UPPERCASE letter "K". Compare with your list, change each of the filename containing the service name in your list to start from a lowercase "k". For example, in your list, you have ppp service (which means ppp is turned off at all runlevels), then you can do like:
Code:
sudo mv K00ppp k00ppp
. You just change the UPPERCASE K to lowercase k, keep the rest the same. Do this on all of the services in your list.
6.
Code:
cd ../rc6.d
- This is for the system reboot process.
7. ok, you should see similar things here too. So do the same thing here as you did on rc0.d.
8. Now, you reboot and shutdown process should be cleaned up and faster.

The explanation for what you did is pretty simple. The /etc/rc and /etc/rcS scripts run start on each link on each runlevel by scaning if it is starting with a UPPERCASE "S" and run stop on each by scaning if it is starting with a UPPERCASE "K". So for reboot and shutdown runlevels, the most thing we care is the "K" links cause for those services not running on all runlevels, its just not needed to stop them. They are not runing at all. If some day you want to turn some of the services back on, just change the lowercase "k" to UPPERCASE "K". That's all.

Anyway, it is not intend to work on servers, but I did try on one of my servers has 2.7G P4 and 1.5G mem. It brought the boot process down to 31 secs. I calc'ed it with my watch. Besides, this is with my ftp server and nfs server started on boot time.

**Note**
For all of those that having HAL failure problem, try this:
1. change acpi-support from S to 2,3,4,5
2. change acpid from S to 2,3,4,5
3. change dbus from S to 2,3,4,5
4. Reboot. Go to the console and do
Code:
ps -aef|grep hald
. If hald service is up, then your dbus subsystem is running fine now. Try it.

Great comments added by bodhi.zazen. Thanks!!
First we should make sure we are left with a bootable system and have backups.

Since we are changing our boot process:

Step 1- Make a bootable GRUB floppy.

http://www.linuxjournal.com/article/4622

Step 2- Backup
Is there any need to back up more then menu.1st, /etc/init.d, /etc/rcS.d, and /etc/rc*.c ( *= 0,1,2,3,4,5,6)?
mkdir /~/bakup.files
sudo cp -P /etc/init.d /~/backup.files
sudo cp -P /boot/grub/menu.1st /~/backup.files
sudo cp -P /etc/rc*.d /~/backup.files
Although a backup of /etc is nice, is it not overkill for this exercise?

Setp 3- Know you Ubuntu Root device (hda1, hdb1, hda2,) and kernel (the numbers in "vmlinuz").
Location of kernel is /boot

Step 4- Modify runlevels.
DO NOT MODIFY DEFAULT RUN LEVELS 0,1, OR 6
MODIFY ONLY 1 RUN LEVEL AT A TIME
RUN LEVEL "S" IS RUN AT EACH RUN LEVEL PRIOR TO OTHERS
ie as system boots (at default) the scritps in rcS.d are run first, then rc2.d

Therefore, if you disable a script in "S", enable the script in runlevel 2
This should guarantee your system will remain bootable to the default run level (2)

In Ubuntu the default run level is 2
Modify only 1 test run level at a time. Choose a custom run level (I will use 3 for the rest of this post, you can use 3,4, or 5).
After modifying the runlevel test without re-booting
sudo init 3
This will change to run level 3
Now check your system.
Problems? Return to default run level and re-configure run level 3
sudo init 2
No problem -> Boot from floppy
No problem, boot from floppy.
When booting (from diskette) to the default run level, the "kernel" line looks like:
kernel=/boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash
In menu.1st this looks like this:
kernel /boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash
To boot to run 3 (from GRUB diskette), add a "3" at the end of the line
kernel=/boot/vmlinuz.... root=/dev/..... ro quiet splash 3
Note: the number 3 was added at the end (without quotes)
time boot process.
If OK boot again from floppy (to default run level)
kernel=/boot/vmlinuz..... root=/dev/....
Note: no number 3 at the end of this line
time boot process
This is the default boot and you can measure any time savings.
booting from a floppy to compair apples to apples
If OK you can now change the default run level (or not)
There is more then 1 way to do this
My preferance is to leave the default runlevel unmodified
This leaves the default boot process as a future referance
Change the default boot level
sudo nano /boot/grub/menu.1st
add init=3 to end of line

kernel /boot/vmlinuz-2.6.8.1-3-386 root=/dev/hda1 ro quiet splash 3

Or create 2 Ubuntu titles, one for each run level.

OR

Edit /etc/inittab

Step 4- Modify shutdown scripts if desired.

This process should guide users through a logical process of modifying boot scripts without generating a non-bootable system. Backups were made "just in case" but really should not be needed.

加速Ubuntu开机过程
此HowTo 适合抱怨ubuntu启动速度相当慢但不愿意安装任何可选择工具提速的人群。我在这
里使用的方式不是最终解决方案,但是无论如何它确实有所改变并且它确实起作用了。下面
的做的一切是通过调整Ubuntu开机进程,因为每人的计算机有所不同,存在一些风险——下
面的一些东西可能损坏你的系统。 在你更改之前,做出你的判断并为/etc目录作一个备份
总是好的。

**此HowTo 主要适合笔记本和台式机,不适合服务器。 **


此HowTo的建议:
1.  我希望你能从中学到东西而不是仅仅简单的拷贝。 因此请, **不要 ** 完全地按照我
所作的并复制到你的计算机。阅读服务的描述并自己判断去决定是否需要保留他们。 例如
,在我的电脑上我关闭GDM用终端引导,但是如果你看到终端感到一点都不舒服,你应该保
留GDM或KDM直接引导到用户图形界面。
2.如果你对开机服务有疑问并且确实对该服务是什么不是很确定, 在此张贴问题并且看看
是否有人能帮助你。 在你行动之前如果你不知道。保持系统安全的底线是让一种服务开着
而不是关闭它,如果你不理解的该服务的话。
3. 如果你在你机器上见过一个开机服务但不在这里,告知我们它是什么?正如我在这里做
的一样 –给一些说明和建议关于是否它应该在一台正常的笔记本或者桌面环境上开或关。
颜色参考: 我开启的服务
我关闭的服务

I. 安装一个工具 - sysv-rc-conf。 它是一款基于perl的开机进程调整工具。
代码:
sudo apt-get update
sudo apt-get install sysv-rc-conf
它提供一种配置开机进程和运行等级的简单方法, 但是如果你想要通过链接/解除链接文件
来手工操作的话,这不是必需的... 这由你决定


II. Ok,一切就绪。现在让我们通过以下代码来运行它
代码:
sudo sysv-rc-conf
并一个一个的分析每种服务。 **注意 ** 我有的一些服务或许你没有,完全可以。如果一
些服务你有但是我没有, 你将需要独自研究或者在这里提问 ... 但是此HowTo 涵盖它们中
的大多数 ...

在我们开始搞乱它们之前,我要在这里引入一些运行等级知识 ....全部开机进程执行顺序
如下:
运行等级 S:开机进程中的第一个运行等级。/etc/init.d/rcS脚本将被调用到开启并且/et
c/rcS.d目录下的所有进程将被执行。
运行等级 1:单用户模式。/etc/rc1.d目录下的所有进程将被执行。
运行等级 2,3,4,5:在debian系统里是多用户环境,可能不包含图形用户界面。同样的
,在相应目录下的进程将被运行。
**注意** 这和RedHat,SuSE, 以及其它基于RPM的系统不同。
运行等级 0:关闭计算机
运行等级 6:重起计算机

好,让我们回到sysv-rc-conf:

1. acpi-support - 你最好使其在S运行等级处于“X”状态。
2. acpid - acpi守护程序.这两个用于电源管理,对于笔记本和台式电脑很重要,所以让它
们开启。
3. alsa - 如果你使用alsa声音子系统,是的,开启它。
4. alsa-utils -在我系统里,此服务取代了alsa,所以我关闭了alsa并在S运行等级将此服
务开启。**注意**,我所说的“关闭”是指在所有运行等级里面去除所有“X”。如果在你
系统里没有它,没问题。让我们继续。
5. anacron  - 一个cron子系统,当时间到达时用于执行任何没有被执行的cron作业。当某
种cron 作业时间准备好时,很可能你或许已经关闭了你的计算机。打个比方,updatedb被
计划在每天2点执行,但是在那个时候,你的计算机是关闭的,然后如果 ananron服务如果
是开启的话,它将设法抓起那个 updatedb cron… 我将它关闭是因为我不经常关闭我的笔
记本,但是否开启此服务完全取决于你。
6. apmd - 这是十分困惑我的一个服务。我已经开启了acpid服务,那同时开启apmd有啥好
处呢?如果你的计算机不是那么老,甚至不能支持acpi,然后你可以设法关闭它。无论如何
,我是关闭它的。
7. atd - 就像cron,一个作业调度程序。我把它关了
8. binfmt-support - 核心支持其他二进制的文件格式。我让它开着
9. bluez-utiles - 我把它关了因为我没有任何蓝牙设备
10. bootlogd - 开启它
11. cron – 开启它
12. cupsys – 管理打印机的子系统。我没有打印机所以我关闭它了,如果你有打印机,开
启他。
13. dbus – 消息总线系统(message bus system)。非常重要,开启它。
14. dns-clean – 当使用拨号连接,主要用于清除dns信息。我不用拨号,所以我关闭了它

15. evms – 企业卷管理系统(Enterprise Volumn Management system). 我关闭了它。
16. fetchmail – 一个邮件接受守护进程,我关闭了它。
17. gdm – gnome桌面管理器。 无论如何我关闭它了,因为我将系统用终端引导。如果你
想直接引导到图形用户界面,这取决于你。
18. gdomap – 事实上我也不知道为什么此服务必需开启。我没有在其他系统见过这个守护
程序,所以我将其关闭并且我没觉得我失去了什么。开启它对笔记本或者台式机有任何好处
吗?
19. gpm – 终端鼠标支持。如果你觉得你在终端使用鼠标更好,那么在运行等级 1 和2 开
启它。那正是你所需要的。
20. halt - 别更改它。
21. hdparm –  调整硬盘的脚本。我在运行等级 2,3,4,5去除了它但是在S 运行等级添
加了它。我觉得早点打开DMA,32bit I/O等等将对其余过程有益。我自己也将原来的脚本精
简了一下。如果我知道我正做什么,我觉得做过多的检查没用。相应配置文件是 /etc/hdpa
rm.conf。
22. hibernate – 如果你的系统支持休眠,把它打开,否则它对你没用。
23. hotkey-setup – 此守护进程为你的笔记本建立一些热键映射。支持的制造商包括: H
P, Acer, ASUS, Sony, Dell, 和IBM。如果你有那些品牌的笔记本,你可以打开它,否则它
或许对你没有任何好处。
24. hotplug and hotplug -net #激活热插拔系统是费时的。我将考虑关掉它们。我在的/e
tc/network/interfaces文件作了很多修改,并将其设置为自动运行,而不是在热插拔进程
期间映射我的无线网卡。所以我可以将它们关掉。我已经测试过了,甚至我将它们关闭,ub
untu仍旧可以检测到我的usb驱动器,我的数码相机,等等。所以我认为关掉它们是很安全
的**注意**如果在关闭热插拔服务以后发现你的声卡部工作了,你可以将服务打开,或者编
辑  /etc/modules文件并添加声卡驱动模块。经测试,后者比较快。
25. hplip – HP打印机和图形子系统,我将其关闭了。
26. ifrename – 网络接口重命名(network interface rename)脚本。听上去很酷但是我
把它关掉了。主要用于管理多网络接口名称。虽然我有无线网卡和以太网卡,两者被内核标
识为eth0和ath0,所以此服务对我不是很有用。
27. ifupdown and ifupdown-clean – 打开它,它们是开机时网络及口激活脚本。
28. inetd or inetd.real – 查看文件/etc/inetd.conf 注释掉所有你不需要的服务。如
果该文件不包含任何服务,那关闭它是很安全的。
29. klogd – 打开它。
30. linux -restricted-modules-common – 你应该去查看下是否你的系统装载有任何受限
制的模块。既然我需要 madwifi ath_pci 模块,所以我将其开启。受限制的模块可以从/li
b/linux-restricted-modules查看到。如果你发现你没有使用任何受限制的模块,那关掉这
个服务没事。
31. lvm – 我没有使用逻辑卷所以我将此服务关闭。让它开启如果你 *确实* 有lvm(lvm
是逻辑卷管理器在此不再扩充).
32. makedev – 打开它。
33. mdamd – Raid管理工具。不使用Raid所以我将此服务关闭。
34. module-init-tools – 从/etc/modules加载扩展模块。你可以研究/etc/modules文件
查看是否有一些你不需要的模块。通常我们将此服务开启。
35. networking – 在启动期间通过扫描/etc/network/interfaces文件增加网络接口和配
置dns信息。让它开着。
36. ntpdate – 通过ubuntu时间服务器同步时间 。在开机的时候我不需要它,故我关掉了
此服务。
37. nvidia-kernel – 我自己编译了nvidia驱动,所以此服务对我没用。如果你从受限制
模块中使用nvidia驱动,那打开此服务。
38. pcmcia – 激活pcmica设备。我将此服务打开在S运行等级而不是分别在2,3,4,5运
行等级打开此服务,因为我觉得起先让硬件设备准备更好。如果你在使用没有pcmica卡的台
式机的话,请关闭此服务。
39. portmap – 管理像nis,nfs等等之类服务的守护程序。如果你的笔记本或台式机是纯
粹的客户端,那么关闭此服务。
40. powernowd – 管理CPU频率的客户端程序。主要用于支持CPU speed stepping技术的笔
记本。通常如果你在配置一台笔记本,你应该开启此服务。如果是台式机,那此服务应该没
有用。
41. ppp and ppp-dns - 对我没用,我不使用拨号。
42. readahead  - **感谢 mr_pouit!** readahead似乎是一种“预加载程序”。在开机时
它将一些库文件加载到内存,以便一些程序启动的更快。但是它给启动时间增加了3-4秒。
所以,你可以留着它…或者不。**更新**,经我测试我觉得加载程序没有什么不同。所以我
决定关闭此服务。如果你有打开此服务的理由,那就打开它 。
43. reboot - 别更改它。
44. resolvconf – 按照你的网络状态自动配置DSN信息,我将它打开着。
45. rmnologin – 如果发现nologin,那么去除它。此情况不会在笔记本上面发生,所以我
摆脱它。
46. rsync – rsync守护程序. 我不打算在我的笔记本上使用rsync协议,所以我将其关闭
47. sendsigs – 在重启和关机期间发送信号。顺其自然。
48. single – 激活单用户模式。顺其自然。
49. ssh – ssh守护程序。 我需要ssh,所以我将此服务打开。
50. stop-bootlogd – 从2,3,4,5运行等级停止bootlogd。顺其自然。
51. sudo – 检查sudo 状态。我没在一台笔记本或者台式机客户端上看到任何使用sudo的
好处,因此我关闭了它。
52. sysklogd - 顺其自然。
53. udev and udev-mab – 用户空间dev文件系统(userspace dev filesystem)。好东西
,我将它们打开。
54. umountfs - 顺其自然。
55. urandom – 随机数生成器。可能没什么用处,但是我留着它。
56. usplash - 嗯,如果你想看到漂亮的开机画面,顺其自然。 无论如何沃关闭此服务了
。如果你想关闭它,你也可以编辑/boot/grub/menu.lst文件注释掉splashimage行,除去开
机splash核心选项。
57. vbesave – 显卡BIOS配置工具。它能保存你显卡的状态。我将其开启。
58. xorg-common – 设置X服务ICE socket。我将其从在S运行等级开启移动到2,3,4,5
,运行等级。如果我引导到单用户模式,那我不需要此服务。在最初引导期间这种方法将不
占用时间。
59. adjtimex – 这也是调整核心hw时钟的工具。通常你不会在开机列表中看见它。在非常
少有的情况如果你确实在开机进程中看见它了,事出有因,因此最好顺其自然。在我的情况
里,它是关闭的。
60. dirmngr – 证书列表管理工具(certification lists management tool)。和gnupg
一起工作。你必须看看你是否需要它。在我的情况里,我是关掉它的。
61. hwtools – 一个优化irqs的工具。不确定打开它的好处。在我的情况里,我是关掉它
的。
62. libpam-devperm - 在系统崩溃之后用于修理设备文件许可的一个守护程序。听起来不
错,因此我打开它了。
63. lm -sensors – 如果你的主板内建一些传感芯片,通过用户空间(userspace)查看h
w状态可能是有帮助的。我运行了它,但是它提示“没有发现传感器”,因此我关闭了此服
务。64. mdadm-raid – 作用和mdadm服务相同。用来管RAID设备。如果你没有此类设备,
那尽管关掉它好了。
65. screen-cleanup – 一个用来清除开机屏幕的脚本。嗯,是否关闭它有你决定。在我的
情况里,我打开它了。
66. xinetd –  用来管理其他守护进程的一个inetd超级守护程序。在我的系统里,xinet
d管理chargen, daytime, echo和time (在  /etc/xinetd.d 目录找到的),我不关系任何一
个,因此我关掉了此服务。如果在xinetd下你确实有一些重要的服务,那打开它。

III.修改 /etc/inittab 文件
代码:
vi /etc/inittab
然后注释掉tty4,tty5, 和tty6。只留下tty1, tty2,和 tty3.。对于笔记本或台式机用户3
个终端应该足够了。保存文件。

IV. Ok,好,我们可以重启计算机并看看它变的如何了。从我测试来看:在我停止大量服务
之前,引导到终端整个过程大约花费了85到90秒。 (在那时,我也打开了我不需要的samba
和nfs服务。 我也将它们关闭了)。之后,整个过程花费了50秒。我有一台 P4M 1.8G CPU的
笔记本。一些高档台式机或者笔记本应该花费更少时间。

**更新**: 加速/打扫系统重启或关机进程
1. 通过以下代码运行sysv-rc-conf:
代码:
sudo sysv-rc-conf
2. OK,睁开你的眼睛并仔细寻找那些在所有运行等级都没有“X”的服务。(所有运行等级
包括 1,2,3,4,5,6, 和S), 一个一个的把它们写下来。在这里千万别出错。再你搞定以后再
来一遍。
3. 退出sysv-rc-conf。
4.
代码:
cd /etc/rc0.d
- 此目录关于系统关机进程。
5. OK, 现在开始
代码:
ls K*
将列出所有以大写K开头的链接。比较你的列表,将你列表中每个包含服务名的文件名改为
小写k开头。例如,在你列表中你有一个ppp服务(意思是说ppp将在所有运行等级关闭),然
后你可以这样做:
代码:
sudo mv K00ppp k00ppp
你只要将大写K改成小写k就好了,保留其余的。将此举应用到你列表中存在的所有服务 。
6.
代码:
cd ../rc6.d
- 此目录关于系统重启进程。
7. ok,你应该也看到了相似的东西了吧,因此在此做和rc0.d中同样的修改。
8. 现在,你的重启和关机进程被清理了,你的重启和关机过程将变的更快。

关于什么是你要做的已经相当明了了。在每个运行等级/etc/rc和/etc/rcS脚本通过扫描每
个链接是否以大写S开头来决定开启与否,通过扫描每个链接是否它是以大写K开头来决定停
止与否。因此对于重启和关机运行等级,我们更关心的是大写K开头的链接,因为那写服务
不运行在所有运行等级,不必停止他们。它们更本没有运行。如果有一天你想重新开启其中
的一些服务, 只要将小写的k改为大写的K即可。就这些了。

无论如何,它不适用服务器,但是我确实在我的一台拥有2.7G P4 ,1.5G内存的服务器上测
试过。它将整个启动过程缩短为31秒。我用我的手表计算的。而且,其中还包括了开启的ft
p服务器和nft服务器。

原文::URL::http://www.ubuntuforums.org/showthread.php?t=89491

The Linux Bootdisk HOWTO 之 3. Bootdisks and the boot process 启动盘与启动过程

3. Bootdisks and the boot process A bootdisk is basically a miniature, self−contained Linux syste...

HOWTO: Boot & Install Ubuntu from the Grub Rescue Prompt

HOWTO: Boot & Install Ubuntu from the Grub Rescue Prompt HOWTO: Boot & Install Ubuntu from the ...
  • gxp
  • gxp
  • 2011年11月08日 12:22
  • 967

HOWTO_Change Default Boot Order for Grub in Ubuntu

Ubuntus 9.10, 10.04, 10.10, 11.04 etc. use Grub2 so if your are using any of these versions of Linux...
  • sudolee
  • sudolee
  • 2011年08月12日 14:39
  • 1217

High work stress makes you feel anxiety and it can lead you ill

在高压力工作下你会很容易生病,尤其是有过高压力工作下状态下经历生病的人,这会使得你再一次患病。   压力来自于内心的恐慌,是由心底产生的焦虑。换到一个新的工作环境、接触新的事物,要快速地适应那里的一切...
  • boonya
  • boonya
  • 2015年04月16日 21:01
  • 1140

HOWTO SET-UP A CRONTAB FILE

source: https://corenominal.org/2016/05/12/howto-setup-a-crontab-file/ Foreword: a few da...

This howto guide shows you’ll how to enable EPEL repository under RHEL/CentOS 6/5 to install additio

This howto guide shows you’ll how to enable EPEL repository under RHEL/CentOS 6/5 to install addit...

HOWTO: Unpack, Edit, and Re-Pack Boot Images

From Android Wiki Jump to: navigation, search Several people have already figured out the de...

HOWTO: Booting from SD card using U-Boot

转自:http://bill.station51.net/index.php?post/2010/01/30/HOWTO%3A-Booting-from-SD-card-using-U-Boot Ma...

HOWTO: Unpack, Edit, and Repack Boot Images

Original: http://forum.xda-developers.com/showthread.php?t=443994 Several people have already f...

You must rebuild it with bitcode enabled (Xcodesetting ENABLE_BITCODE), obtain an updated library f

www.MyException.Cn  网友分享于:2015-12-04  浏览:0次 IOS 打包上线 All object files and libraries for bitcode mus...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[howto] General 5.10 - HowTo: Speed up ubuntu boot process - the way you can feel it. - updated
举报原因:
原因补充:

(最多只允许输入30个字)