浅谈Linux开机启动流程
2014-02-27 22:55
330 查看
以我的虚拟机系统centos5.8为例,
当你接通电源,开机启动,这时BIOS开始自检,这个过程可以理解成硬件初始化,它的主要作用是检测硬件是否工作正常,包含了CPU以及相关硬件的信息、设备启动顺序信息等等。BIOS自检完成后,便会根据BIOS设定的设备启动顺序启动第一个设备(一般第一个启动是硬盘)并读取这个设备的MBR的boot loader里面的开机信息。接下来,就是主机通过boot loader加载内核,并将内核解压缩到内存中。一般内核文件放在/boot中,取名为/boot/vmlinuz。如图:
内核被加载后,内核会启动init程序,也是Linux内核启动后的第一个进程。通过init程序会去读取/etc/inittab配置文件,启动相应的运行级别。通过 cat /etc/inittab ,查看这个文件的内容。# inittab This filedescribes how the INIT process should set up# the system ina certain run-level.## Author: Miquel vanSmoorenburg, <miquels@drinkel.nl.mugnet.org># Modified forRHS Linux by Marc Ewing and Donnie Barnes#
# Default runlevel. The runlevels used by RHS are:# 0 - halt (Do NOT setinitdefault to this)# 1 - Single user mode# 2 - Multiuser, withoutNFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT setinitdefault to this)# id:3:initdefault:
# System initialization.si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETEca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a fewminutes# of power left. Schedule ashutdown for 2 minutes from now.# This does, of course, assume you have powerd installed and your# UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; SystemShutting Down"
# If power was restored before the shutdown kicked in, cancel it.pr:12345:powerokwait:/sbin/shutdown -c "Power Restored;Shutdown Cancelled"
# Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5x:5:respawn:/etc/X11/prefdm -nodaemon
id:3:initdefault:表示默认运行级别为3;
Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式(无nfs)
3:有网络支持的多用户模式(有nfs)
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
首先运行id:3:initdefault,表示设定的运行级别为3。接下来将会运行si::sysinit:/etc/rc.d/rc.sysinit。Linux系统执行/etc/rc.d/rc.sysinit脚本程序,进行系统初始化。在etc/rc.d/rc,sysinit后会根据不同的运行级别来启动不同的服务。
l0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6
如运行级别为3,将运行l3:3:wait:/etc/rc.d/rc 3即运行 etc/rc.3d这个目录下的相应程序运行相关脚本程序。
K*开头表示停止的服务;S*开头表示启动的服务;数字越小代表越早执行 你可以使用ls –l /etc/rc.d/rc3.d看到所有S*开头和K*开头的文件都是链接文件,这里要特别提到的是S99local;这个文件是链接到/etc/rc.d/rc.local;在这个文件里面,你可以把想要启动的命令或者脚本添加在里面,让其开机时自动执行。
最后系统执行/bin/login程序,此时用户便可以进行登录了。
当你接通电源,开机启动,这时BIOS开始自检,这个过程可以理解成硬件初始化,它的主要作用是检测硬件是否工作正常,包含了CPU以及相关硬件的信息、设备启动顺序信息等等。BIOS自检完成后,便会根据BIOS设定的设备启动顺序启动第一个设备(一般第一个启动是硬盘)并读取这个设备的MBR的boot loader里面的开机信息。接下来,就是主机通过boot loader加载内核,并将内核解压缩到内存中。一般内核文件放在/boot中,取名为/boot/vmlinuz。如图:
内核被加载后,内核会启动init程序,也是Linux内核启动后的第一个进程。通过init程序会去读取/etc/inittab配置文件,启动相应的运行级别。通过 cat /etc/inittab ,查看这个文件的内容。# inittab This filedescribes how the INIT process should set up# the system ina certain run-level.## Author: Miquel vanSmoorenburg, <miquels@drinkel.nl.mugnet.org># Modified forRHS Linux by Marc Ewing and Donnie Barnes#
# Default runlevel. The runlevels used by RHS are:# 0 - halt (Do NOT setinitdefault to this)# 1 - Single user mode# 2 - Multiuser, withoutNFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT setinitdefault to this)# id:3:initdefault:
# System initialization.si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETEca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a fewminutes# of power left. Schedule ashutdown for 2 minutes from now.# This does, of course, assume you have powerd installed and your# UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; SystemShutting Down"
# If power was restored before the shutdown kicked in, cancel it.pr:12345:powerokwait:/sbin/shutdown -c "Power Restored;Shutdown Cancelled"
# Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5x:5:respawn:/etc/X11/prefdm -nodaemon
id:3:initdefault:表示默认运行级别为3;
Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式(无nfs)
3:有网络支持的多用户模式(有nfs)
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
首先运行id:3:initdefault,表示设定的运行级别为3。接下来将会运行si::sysinit:/etc/rc.d/rc.sysinit。Linux系统执行/etc/rc.d/rc.sysinit脚本程序,进行系统初始化。在etc/rc.d/rc,sysinit后会根据不同的运行级别来启动不同的服务。
l0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6
如运行级别为3,将运行l3:3:wait:/etc/rc.d/rc 3即运行 etc/rc.3d这个目录下的相应程序运行相关脚本程序。
K*开头表示停止的服务;S*开头表示启动的服务;数字越小代表越早执行 你可以使用ls –l /etc/rc.d/rc3.d看到所有S*开头和K*开头的文件都是链接文件,这里要特别提到的是S99local;这个文件是链接到/etc/rc.d/rc.local;在这个文件里面,你可以把想要启动的命令或者脚本添加在里面,让其开机时自动执行。
最后系统执行/bin/login程序,此时用户便可以进行登录了。
相关文章推荐
- Linux的开机启动流程
- 小c学Linux(11)--开机系统启动流程
- Linux系统从开机到正常提供服务的详细开机启动流程
- 介绍Linux系统如何初始化和启动系统服务的(Linux的开机流程)
- Linux 的开机启动流程详解
- 初学Linux对开机启动流程的相关实验
- Linux系统开机启动流程介绍
- linux开机启动流程
- linux开机启动流程
- linux开机启动详细流程
- 简要描述Linux开机启动流程
- linux 开机启动详细流程
- linux开机启动流程
- 浅谈linux启动流程
- Linux开机启动流程详细步骤是什么
- linux开机启动流程
- Linux开机启动(bootstrap)流程
- Linux 的开机启动流程详解
- linux开机启动流程
- Linux开机启动流程