目录:
Linux 引导流程
Linux运行级别
Linux启动服务管理
Grub配置和应用
常见案例排查和解决
系统引导流程
固件firmware(介于软件和硬件之间)(CMOS/BIOS)——》Post加电自检
|
自举程序BootLoader(Grub)——》载入内核
| vmlinuz-2.6.18-194.el5(ls /boot)
(vmlinuz 内核名称)
(注释:2主版本号,6次版本号(若为奇数为内核为测试版,偶数为正式 版)8为内核末版本号))
载入内核Kernel ———》驱动硬件
|
启动进程init————》
|
读取执行配置文件/etc/inittab
常用固件设置
安全设置,可引导介质列表。。。。。
修改系统时间 date 和hwclock命令
内核Kernel只做两件事
1、 驱动与自检区别:前者基于软件,后者硬件
2、 启动进程(init)(系统启动第一个进程)
Ps –le |more(查看进程)
Init的工作
Init启动后读取inittab文件,执行缺省运行级别,从而继续引 导 过程
在UNIx中init时第一个可以存在的进程它的pid恒为1但它必 须向更高级的功能负责:PID为0的内核调度器(Kernel Scheduler), 从而获得CPU时间。
父进程终止子进程必然终止、
父进程死了儿子一般死(变成孤儿进程的指向init进程所以init是所有进程的父进程)
子进程死父进程不知道,却依然保持联系(子进程就变成了僵(尸)死进程,这个也不允许存在)
Inittab运行级别
10 # 0 - halt (Do NOT set initdefault to this)(关机)
11 # 1 - Single user mode(类似于windows安全模式只有root登录)
12 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)(服务器运行模式,没有图形界面)
13 # 3 - Full multiuser mode (服务器运行模式,没有图形界面)
14 # 4 - unused
15 # 5 - X11(系统缺省运行级别)再如xf86都是有图形界面多用户级别
16 # 6 - reboot (Do NOT set initdefault to this)
17 #
18 id:5:initdefault:
19
20 # System initialization.
21 si::sysinit:/etc/rc.d/rc.sysinit
22
23 l0:0:wait:/etc/rc.d/rc 0
24 l1:1:wait:/etc/rc.d/rc 1
25 l2:2:wait:/etc/rc.d/rc 2
26 l3:3:wait:/etc/rc.d/rc 3
27 l4:4:wait:/etc/rc.d/rc 4
28 l5:5:wait:/etc/rc.d/rc 5
29 l6:6:wait:/etc/rc.d/rc 6
查看当前运行级别:runlevel
切换当前运行级别:init /telinit【123456S/s】
Inittab文件剖析
在inittab文件中,所有条目采取以下格式
Id:run-levels:action:process
其id:条目的标识符,包含两个字母或数字。Run-level指定运行级别,可以多个、action指定运行状态,process指定要运行的可执行程序(脚本或是命令)
Grep -v “^#” /etc/inittab |more(查看inittab有效行用管道分页)一旦initdefault的运行级别改为0或6如何进行修复???(这里读者可以思考一下)
Action常用取值:
Initdefault:指定系统缺省启动的运行级别
Sysinit:系统启动执行process中指定的命令
Wait:执行process中指定的命令,并等其结束再运行其他命令
Once:执行process中指定的命令,不等待其结束
Ctrlaltdel:执行process指定的命令
Powerfail:当出现电源错误时执行process的命令,不等其结束
Powerokwait:当电源恢复时执行process指定的命令
Respawn:一旦process指定的命令终止,使重新运行该命令
/etc/rc.d/init.d 该目录下包含各个级别的服务程序脚本
手工启动或关闭一个进程或服务
设置自启动程序
1、ln –s (生成软连接)
2、chkconfig (chkconfig –list sshd)
3、ntsysv
错误查看
Dmesg
Var/log
GRUB配置和修复
根目录:Boot/grub/grub.conf(源文件)
Etc/grub.conf(软连接)
要在title上面设置密码
按f2可以进行启动优先级顺序(终极修复方法)
下一步 在该提示下输入 chroot /mnt/sysimage(改变根分区)
(重要文件和信息转移到mnt/sysimage下,必须切换根分区)
下一步 查看原因并修复