博客参考:http://www.178linux.com/44483http://os.51cto.com/art/201407/446819.htmhttp://ch666.blog.51cto.com/10870222/1757134http://www.mamicode.com/info-detail-1165638.html系统启动过程概览:POST–>BootSequence(BIOS)–>BootLoader–>Kernel(ramdisk)–>rootfs–>switchroot–>/sbin/init-->(/etc/inittab,/etc/init/*.conf)-->设置默认运行级别-->系统初始化脚本rc.sysinit-->关闭或启动对应级别的服务-->启动终端开机自检POSTBlos开始自检并通过boot阶段;按顺序搜索启动设备Blos,按F2或Del进入Blos,即可调整硬盘的启动顺序。blos找到硬盘上的MBR,读取BootloaderGRUB引导阶段stage1:即写入存放在mbr中的bootloader程序。它的任务是将stage1_5(此时不能认为是磁盘分区/boot/grub/下的stage1_5,因为stage1无法识别文件系统)加载到内存中执行。stage1_5:位于mbr之后的扇区,通过提供基本的文件系统驱动,stage1中的bootloader程序可以识别磁盘分区/boot/grub/上的stage2文件,并加载到内存中执行。Configure/bootpartitionstage2:该程序主要为用户提供更友好的启动菜单,然后加载位于同一磁盘分区/boot/的内核文件(vmlinuz-2.6.32-573.el6.x86_64)2grubeditor命令b:开机,启动e:编辑,编辑选中项o:在选中行下方添加新行O:在选中行上方添加一行d:删除选中行ESC:退出编辑界面,进入主界面loadKernel阶段启动过程/sbin/init详细脚本/etc/rc.d/rc.sysinitsysinit脚本执行完成后,系统还需要启动各种服务,以便宿主机提供相关的网络和宿主机功能,所以必须根据相应的级别运行相应的系统服务。系统服务详细目录/etc/rc.d/rc3.d执行/etc/rc.d/rc脚本。这个文件定义了服务启动的顺序是先K后S,每个运行级别的具体服务状态放在/etc/rc.d/rc*.d(*=0~6)目录下,都是这些文件都是指向/etc/init.d下相应文件的符号链接。rc.sysinit通过分析/etc/inittab文件来判断系统的启动级别,然后执行/etc/rc.d/rcN.d下的文件。以rc3.d为例:/etc/rc.d/rc3.d目录,该目录下的内容都是以S或K开头的链接文件,都链接到"/etc/rc.d/init.d》目录下的各种shell脚本。S表示开机时需要启动的服务内容,K表示关机时需要关闭的服务内容,后面的数字代表优先级。等待用户登录完成系统服务启动后,linux会启动终端或者X-Window等待用户登录,会执行“/sbin/mingetty”,其中6个有已执行,因此linux将有6个纯文本终端(tty1、tty2...),mingetty是启动终端的命令。至此,系统启动!系统服务管理根据上面的描述我们可以知道,系统启动后,会根据需要的运行级别运行相应的服务脚本,而这些系统服务的管理可以通过chkconfig进行管理和使用。这些服务脚本放在etc/rc.d/init.d中的/chkconfig:更新并确认系统服务信息语法:chkconfig[–list][–typetype][name]:查看所有服务列表详情chkconfig–addname:添加服务到Systemservicechkconfig–delname:删除系统服务chkconfig–overridenamechkconfig[–levellevels][–typetype]name
