博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS6启动流程
阅读量:6183 次
发布时间:2019-06-21

本文共 1449 字,大约阅读时间需要 4 分钟。

CentOS6启动流程

 

1.加载BIOS的硬件信息,获取第一个启动设备

在通电之后,CentOS6会进行加电自检(Power On Self Test),这个过程主要是由BIOS完成的。在自检完毕,会检查启动设备。

2.读取第一个启动设备MBR的引导加载程序(grub)的启动信息

在检测到启动设置之后,会读取第一个可启动设备MBR(Main Boot Record)中grub的启动信息。 主引导扇区,由MBR(主引导记录,占446byte)、磁盘分区表(DPT,占64Byte)和结束标志(占2Byte)三部分构成。在这一过程中就是读取grub中的启动信息。

3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备

    加载grub程序,从而初始化硬件设备、建立内存空间的映射图。为最终调用操作系统内核做好一切准备。

  grub属于Boot Loader中的一种, 其他的loader还有Lilo和spfdisk等。

4.核心执行init程序,并获取默认的运行信息

根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。

系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。  

5.init程序执行/etc/rc.d/rc.sysinit文件

内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。

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

0:关机

1:单用户模式
2:默认不支持NFS的多用户模式
3:多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启

除了设置运行等级之外,在该脚本中,还做了一下操作:

(1) 设置主机名

(2) 设置欢迎信息
(3) 激活udev和selinux
(4) 挂载/etc/fstab文件中定义的文件系统
(5) 检测根文件系统,并以读写方式重新挂载根文件系统
(6) 设置系统时钟
(7) 激活swap设备
(8) 根据/etc/sysctl.conf文件设置内核参数
(9) 激活lvm及software raid设备
(10) 加载额外设备的驱动程序
(11) 清理操作

6.启动核心的外挂模块

依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块

7.init执行运行的各个批处理文件(scripts)

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

8.init执行/etc/rc.d/rc.local

  在一切初始化工作后,执行该脚本。Linux留给用户进行个性化的地方,需要进行初始化的文件可以放在此处。 

9.执行/bin/login程序,等待用户登录

  在该阶段,用户可以使用用户名和密码登录。

10.登录之后开始以Shell控制主机

转载于:https://www.cnblogs.com/vathe/p/6838002.html

你可能感兴趣的文章
response content-type json
查看>>
线程同步
查看>>
Android 从零开始打造异步处理框架
查看>>
调用Interop.zkemkeeper.dll无法使用解决方案
查看>>
贪心算法(Greedy Algorithm)
查看>>
DuBrute 3.1
查看>>
【PWA学习与实践】(9)生产环境中PWA实践的问题与解决方案
查看>>
RecyclerView的复用机制
查看>>
机器学习之牛顿法
查看>>
在Ubuntu上使用MySQL设置远程数据库优化站点性能
查看>>
鹅厂优文|主播pk,如何实现无缝切换?
查看>>
编写基于PHP扩展库的后门
查看>>
Android Handler机制之Message及Message回收机制
查看>>
JSON vs Js
查看>>
css居中
查看>>
谈谈分享邀请奖励机制(附iOS实现代码)
查看>>
多隆:淘宝第一行代码撰写者的程序世界
查看>>
【刷算法】翻转单链表的递归和非递归方法
查看>>
十步零基础JavaScript学习路径
查看>>
vue-cli 3.0新特性解读
查看>>