linux启动等待进程,Linux开机启动过程详解

1.加载BIOS的硬件,与进行自我测试,并根据依据获得第一个可启动的装置。

由BIOS程序去加载CMOS的配置值,配置值包括主机的各项硬件信息.

然后BIOS还会进行自我测试.开始硬件的初始化.然后开始定义可启动装置顺序.

进行下一步读取MBR.

2.读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序)

BIOS是通过硬件中的INT13来读取MBR的.

硬盘中第一个扇区(MBR)里面存储着启动管理程序Boot Loader,是用来处理核心文件加载的.

以grub启动程序为例,系统读取内存中的grub配置信息(一般为menu.lst或grub.lst)

由Boot Loader程序读取/boot/grub/grub.conf

得到三段指令,

root(hd0,0)第一个硬盘第一个分区

kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ 告诉kernel /boot下的vmlinuz是内核

nitrd /initrd-2.6.18-194.el5.img 将跟kernel相关的驱动放在initrd下

3.依据 boot loader 的配置加载 Kernel ,Kernel 会开始侦测硬件与加载驱动程序

boot loader 管理读取核心文件之后,linux系统就会被压缩到主内存中.

此时linux核心会自动再检测一次硬件,不一定使用BIOS检测的硬件数据.

然后核心开始接管工作了.文件在/boot/vmlinuz中.

4.在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯

核心会主动的呼叫第一支程序,那就是 /sbin/init

/sbin/init 最主要的功能就是准备软件运行的环境,包括系统的主机名称、网络配置、语系处理、文件系统格式及其他服务的启动等

init程序会通过/etc/inittab文件获取run-level

/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:

0:关机

1:单用户模式

2:无网络支持的多用户模式

3:有网络支持的多用户模式

4:保留,未使用

5:有网络支持有X-Window支持的多用户模式

6:重新引导系统,即重启

5.init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行的作业环境

在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等

然后是从/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。

6.init 运行 run-level 的各个服务之启动 (script 方式)

根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

7.init 运行 /etc/rc.d/rc.local 文件

这个文件就可以运行自己想要运行的系统命令,用户个性化设置.

8.init 运行终端机模拟程序 mingetty 来启动 login 程序,最后就等待使用者登陆啦

运行 /sbin/mingetty, mingetty就是在启动终端机的命令

然后执行/bin/login程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值