加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

呕心沥血!CentOS系统启动流程详解!

发布时间:2019-06-06 00:17:40 所属栏目:Windows 来源:opsonly
导读:副标题#e# 概述:系统启动流程是Linux一个重要的内容,深入了解启动流程会对我们学习Linux起到一个顺水推舟的作用。因为CentOS 7改动较大,所以下面的内容只是针对CentOS 5和6来说的。下面进入正题。 启动流程: 第一步:POST加电自检 此过程的就是为了检测

代码分析:以下为CentOS 5中的/etc/inittab文件

呕心沥血!CentOS系统启动流程详解!

呕心沥血!CentOS系统启动流程详解!

下图为系统启动时服务开启的界面

呕心沥血!CentOS系统启动流程详解!

第六步:启动终端

根据前面获取的默认运行级别来启动终端,如果运行级别为5,则启动图形界面

第七步:用户登录

系统启动流程结束!

问题总结:

在此之前,一直有几点问题困惑着我,我对它们做了一下总结

1)内核文件在磁盘上,系统还没有启动,系统还没有启动,/目录也没有挂载,前面说先找到boot分区,但是boot分区也是在/的目录下,/还没有,去哪找boot!?

问题解答:注意,此时系统去寻找boot分区下的grub菜单、内核文件及rootfs的驱动并不是通过/目录来寻找,因为此时的/还没有挂载,无法找到/下面的boot目录,而是直接去boot的那个磁盘分区去寻找所需要的文件,具体看一下代码

呕心沥血!CentOS系统启动流程详解!

2)上面问题的继续,即使你先加载boot分区,boot分区系统的系统驱动在哪里呢

问题解答:从以下代码得知,分区信息是从1柱面开始的,那么0柱面被狗吃了么?答案是没有被狗吃,MBR存放在了0柱面,0磁道的第一个扇区内,但是它只占据了512个字节,因为0柱面包括了好多扇区,后面的扇区就是为了存放/boot分区的文件系统驱动的。stage1->stage1.5->stage2这个过程就是为了挂载/boot分区,而其中的stage1.5就是寻找/boot分区的文件系统驱动的。

呕心沥血!CentOS系统启动流程详解!

3)加载内核后,为避免bug或者人为操作失误,rootfs先以只读方式挂载,只读方式挂载怎么写数据呢?

问题解答:内核在读取到init程序后,其中有一个系统初始化脚本,即/etc/rc.d/rc.sysinit脚本,其中有一段代码如下,在这rootfs会被重新以读写方式挂载。

呕心沥血!CentOS系统启动流程详解!

流程图:

俗话说的好,一图抵千言,我将上面所述的启动流程又画了一幅图,希望以更加清晰地描述CentOS的启动流程。

呕心沥血!CentOS系统启动流程详解!

【编辑推荐】

  1. 详解Linux下的IO监控与分析:系统级+进程级+业务级+文件级IO
  2. 日本操作系统,如何被美国超级301法案架空三十年?
  3. 如何在CentOS或RHEL系统上检查可用的安全更新?
  4. 苹果的五大系统、五大支柱
  5. 国产操作系统春天来了!Deepin比肩Windows,桌面简洁操作更流畅
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!