科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux引导流程

Posted on 2011-11-02 19:55  科创园  阅读(190)  评论(0编辑  收藏  举报

目录:

  Linux 引导流程

  Linux运行级别

  Linux启动服务管理

  Grub配置和应用  

  常见案例排查和解决

 

 

系统引导流程

 

固件firmware(介于软件和硬件之间)CMOS/BIOS)——》Post加电自检

|

自举程序BootLoaderGrub)——》载入内核

|  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文件,执行缺省运行级别,从而继续引 导 过程

  在UNIxinit时第一个可以存在的进程它的pid恒为1但它必 须向更高级的功能负责:PID0的内核调度器(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 /telinit123456S/s

 

 

 

Inittab文件剖析

inittab文件中,所有条目采取以下格式

Idrun-levelsaction:process

id:条目的标识符,包含两个字母或数字。Run-level指定运行级别,可以多个、action指定运行状态,process指定要运行的可执行程序(脚本或是命令)

Grep  -v  “^#”  /etc/inittab |more(查看inittab有效行用管道分页)一旦initdefault的运行级别改为06如何进行修复???(这里读者可以思考一下)

 

 

Action常用取值:

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

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

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

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

Ctrlaltdel:执行process指定的命令

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

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

Respawn:一旦process指定的命令终止,使重新运行该命令

/etc/rc.d/init.d  该目录下包含各个级别的服务程序脚本

 

手工启动或关闭一个进程或服务

 

  

设置自启动程序

  1ln –s (生成软连接)

   

    

 

  2chkconfig  (chkconfig –list sshd)

  3ntsysv

错误查看

Dmesg

Var/log

 

 

GRUB配置和修复

根目录:Boot/grub/grub.conf(源文件)

Etc/grub.conf(软连接)

 

 

 

 要在title上面设置密码

 

 

 

 

 

 

f2可以进行启动优先级顺序(终极修复方法

 

 

下一步   在该提示下输入 chroot /mnt/sysimage(改变根分区)

 

(重要文件和信息转移到mnt/sysimage下,必须切换根分区)

 

 

下一步  查看原因并修复