centos6系统开机过程解析

LINUX系统的启动过程可以用下图来概述:
在这里插入图片描述

一、BIOS加电自检

加载bios的硬件信息,根据设定取得第一个可开机的引导。如:光驱、硬盘、网络、USB。

二、读取MBR中的bootloader就是grub引导

GRUB(GRand Unified Bootloader)是一个来自GNU项目的多操作系统启动程序。

MBR是硬盘的0柱面,0磁头,1扇区。称为主引导扇区(也叫主引导记录MBR)
MBR(512) = bootloader(446)+ 分区表(64) + 标示符 ‘55AA’(2)
为什么MBR分区表,只能分4个主分区?
答:分区表为64字节,一个分区占16个字节。刚好16*4=64
在这里插入图片描述

三、加载内核

依据bootloader中的设定,到主引导分区加载内核,内核会开始侦测硬件并加载驱动程序。
下图的步骤就停留在加载内核这一步.(还未加载)
在这里插入图片描述

四、执行init初始化程序

在硬件驱动成功后,内核会主动执行init程序,而init会获得run-level信息。
1、读取/etc/inittab配置文件
在这里插入图片描述
2、/etc/rc.d/rc.sysinit 文件来准软件执行的作业环境
/etc/rc.d/rc.sysinit shell脚本
作用:系统初始化。主机名、/etc/fstab、swap都在这里指定,完成了包括mount分区,激活swap 加载module等重要工作。
3、执行/etc/rc.d/rc#.d/下的脚本
init执行run-level下各个服务并启动(script 方式)
在这里插入图片描述
rc#.d(#为1到6)是对应不同的runlevel下起不同的服务,这些目录下都是一些符号连接,连接到/etc/rc.d/init.d下的一些文件。
以K开头表示开机不启动,以S开头开机启动。后面的数字代表启动的顺序。
init是顺序启动系统,需要一个一个服务启动成功,再执行下一步操作。centos7中的systemd可以并行启动多个服务,启动快。
4、执行开机后自动运行脚本/etc/rc.d/rc.local文件

五、init执行虚拟终端机控制 程序mingetty来启动login程序,最后就等待用户登录

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值