Linux 开机过程概述

来源:互联网 发布:javascript 移动div 编辑:程序博客网 时间:2024/06/11 18:07

一、开机全过程

 

综述:

 

当用户打开PC的电源,1 BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,2接着启动设备上安装的引导程序lilo或grub开始引导Linux,3 Linux首先进行内核的引导,4接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;5 init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。

 

 

 

1 BIOS开机自检

 

2 grub开始引导Linux

 

 

3 接下来执行init程序

 

 

init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。

 

###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)

 

  # System initialization.

 

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

 

 

 

它调用执行了/etc/rc.d/rc.sysinit而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

 

 

 

4启动对应运行级别的守护进程

 

在 rc.sysinit执行后,将返回init继续其它的动作,通常接下来会执行到/etc/rc.d/rc程序。以运行级别3为例,init将执行配置文件inittab中的以下这行:

 

  l5:5:wait:/etc/rc.d/rc 5

 

这一行表示以5为参数运行/etc/rc.d/rc/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下的所有的 rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些链接文件,而不是真正的 rc启动脚本,真正的 rc启动脚本实际上都是放在 /etc/rc.d/init.d/目录下。而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。

 

5 启动了mingetty

 

等待输入用户名和密码

 

 

转自 : http://www.linuxcomputer.cn/jishuwendang/xinshourumen/200809/14-1170.html

原创粉丝点击