天天看点

Centos学习笔记—系统引导

2012-2-13

linux 引导流程

1.固件firmware(cmos,bios)-》post加点自检

2.自举程序Bootloader(grub)-》载入内核

3.载入内核                  -》驱动硬件

4.启动进程init              -》系统启动的第一个进程

5.读取执行配置文件 /etc/inittab

master boot record->MBR主引导扇区 位置:0驻面0磁头1扇区

插入图片:

bootloader中存放的是自举程序:

windows中为:--》ntldr 以及 boot.ini文件中的内容

linux中为:  --》/etc/grub.conf

init的工作:

init启动后读取inittab文件,执行缺省运行级别而继续从而引导过程。在unix系统中

,init时第一个可以存在的进程,它的PID恒为1,但他也同时必须向一个更高级的功能负责

:PID为0的内核调度器(kernel scheduler),从而获得cpu时间

inittab 文件剖析

在inittab中,所有的条目采取以下格式:

id:run-level:action:process

id:标示符,一般为两位数字或者字母或者数字

run—level:指定运行级别可以指定多个

action:指定运行状态

process:指定要运行的脚本/命令

action常用取值:

initdefault:指定系统缺省启动的运行级别

sysinit:系统启动执行process中的运行级别

wait:执行process中指定的命令,并等起结束再运行其他命令

once:执行process中指定的命令,不等待其结果

ctrlaltdel:按下Ctrl+alt+del时执行process指定的命令

powerfail:当出现电源错误时执行process指定的命令,不等待其结束

powerokwait:当电源恢复是执行process指定的命令

respawn:一旦process指定的命令中止,便重新运行该命名

任何的系统级别都会起动系统的启动脚本:

/etc/rc.d/rc.sysinit        

ls /etc/rc.d/rc3.d 可以看到系统启动对应级别下需要执行的脚本操作

/etc/rc.d/rc[0123456].d

分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中相应的脚本

比如:s12syslog

s—start

k—kill

数字

脚本名称

启动流程:插入图片: