日期:2014-05-16  浏览次数:20713 次

linux引导流程

linux引导流程

固件firmvare(CMOS/BIOS) --> POST加电自检

自举程序BootLoader(GRUB) --> 载入内核 vi /etc/grub.conf

载入内核Kernel --> 驱动硬件

启动进程init

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

?

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

统中,init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个更高级

的功能负责,PID为0的内核调度器(Kernel scheduler),从而获得CPU时间

?

ps -ls | more

vi /etc/inittab

runlevel 查看当前的运行级别

N?

S 切换过的运行级别

?

grep -v "^#" /etc/inittab | more 查看有效行

?

id:run-levels:action:process

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

run-levels:指定运行级别,可以指定多个

action:指定运行状态

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

?

si::sysinit:/etc/rc.d/rc.sysinit

启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置

,设置系统时钟,加载字体,检查加载文件系统,生成系统启动信息日志文件等

?

10:0:wait:/etc/rc.d/rc 0

...

判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程

序,完成相应运行级别的初始化设置

?

ls /etc/rc.d/rc3.d

S12syslog

S-Start

K-Kill

12:数字:启动的顺序

syslog:脚本名称

?

firmware--BootLoader--kernel--init--/etc/inittab--initdefault--/etc/rc.d/rc.sysint--/etc/rc.d/rc--/etc/rc.d/rcN.d N=0-6--username&passwd

?

action常用取值:

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

sysinit:系统启动执行process中指定的命令

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

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

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

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

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

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

?

设置自启动程序

ln -s

chkconfig --list ?/ chkconfig --levels 2345 sshd off

ntsysv 更改运行级别

?

检查引导期间的错误 

dmesg ?dmesg | grep eth0

?

?

?

init 1

常用固件设置

安全设置

可引导介质列表

可引导介质搜索顺序

电源管理

启动细节显示

?

# date软件时钟

# hwclock固件时钟

# hwclock --hctosys

# date 121411302013.38 修改时间

# hwclock --set --date="9/22/06 16:00:00"

?

GRUB配置与应用

/boot/grub/grub.conf

?

default定义缺省启动系统

timeout定义缺省等待时间

splashimage定义GURB界面图片

hiddenmenu隐藏菜单

title定义菜单项名称

root设置GRUB的根设备即内核

kernel定义内核所在的位置

initrd命令加载镜像文件

?

启动故障分析与解决

# grub-md5-crypt

# md5crypt

?

?

?

?