Centos7系统启动流程

1、uefi或BIOS初始化,开始post(power on self test)开机自检
这个过程是开机后,BIOS或UEFI进行硬件检查的阶段。检测:CPU, 内存,硬盘等硬件信息。

2、加载MBR到内存,这里以BIOS为例,BIOS将会直接找硬盘的第一个扇区,找到前446字节,将MBR加载到内存中,MBR将告诉程序下一阶段去哪里找系统的grub引导。此阶段属于grub第一阶段。grub还有1.5阶段和2阶段。

分区符MBR(512字节)

三部分组成:

引导程序: 446字节(bootloader)

分区表: 64字节

魔数: 2字节(55AA)

3、GRUB阶段

grub第1.5和第2阶段,信息默认存放在扇区中,如果使用grub-install生成的第2阶段的文件是存放在/boot分区中的。

为了加载内核系统,不得不加载/boot分区,而加载/boot分区,要有/boot分区的驱动,/boot分区驱动是放在/boot分区中的啊,我们好像进入死循环了,Linux是怎么解决的呢?就是靠放在1.5阶段中的数据,放在第一个扇区后的后续扇区中,第1.5阶段和2阶段总共27个扇区。

第1.5阶段:mbr之后的扇区,识别stage2所在的分区上的文件系统。

第2阶段:开机启动的时候看到Grub选项、信息,还有修改GRUB背景等功能都是stage2提供的,stage2会去读入/boot/grub/grub.conf或者menu.lst等配置文件。

4、加载内核和initramfs模块

加载内核,核心开始解压,启动一些最核心的程序。

为了让内核足够的轻小,硬件驱动并没放在内核文件里面。

5内核开始初始化,使用systemd来代替centos6以前的init程序

(1)执行initrd.target

包括挂载/etc/fstab文件中的系统,此时挂载后,就可以切换到根目录了

(2)从initramfs根文件系统切换到磁盘根目录

(3)systemd执行默认target配置

centos7表面是有“运行级别”这个概念,实际上是为了兼容以前的系统,每个所谓的“运行级别”都有对应的软连接指向,默认的启动级别时/etc/systemd/system/default.target,根据它的指向可以找到系统要进入哪个模式 
模式:

0 ==> runlevel0.target, poweroff.target
1 ==> runlevel1.target, rescue.target
2 ==> runlevel2.target, multi-user.target
3 ==> runlevel3.target, multi-user.target
4 ==> runlevel4.target, multi-user.target
5 ==> runlevel5.target, graphical.target
6 ==> runlevel6.target, reboot.target
(4)systemd执行sysinit.target

有没有很眼熟?是的,在CentOS6上是被叫做rc.sysint程序,初始化系统及basic.target准备操作系统

(5)systemd启动multi-user.target下的本机与服务器服务

(6)systemd执行multi-user.target下的/etc/rc.d/rc.local

6、Systemd执行multi-user.target下的getty.target及登录服务

getty.target我们也眼熟,它是启动终端的systemd对象。如果到此步骤,系统没有被指定启动图形桌面,到此就可以结束了,如果要启动图形界面,需要在此基础上启动桌面程序

7、systemd执行graphical需要的服务

CentOS6,7启动区别

系统启动和服务器守护进程管理器,它不同于centos5的Sysv init,centos6的Upstart(Ubuntu制作出来),systemd是由Redhat的一个员工首先提出来的,它在内核启动后,服务什么的全都被systemd接管,kernel只是用来管理硬件资源,相当于内核被架空了,因此linus很不满意Redhat这种做法。

转载于:https://www.cnblogs.com/getbird/p/10869730.html

Centos7系统启动流程相关推荐

  1. CentOS7系统启动、排错、修复、破解root口令

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://183530300.blog.51cto.com/894387/1854344 C ...

  2. linux系统启动流程详解

    系统启动流程(CentOS6) Post加电自检: 开机检查cpu.内存.磁盘等是否存在 Boot Sequence: BIOS:Basic Input and Output System 按照BIO ...

  3. 学习笔记之centos系统启动流程

     CentOS 系统的启动流程: 简介: (内核级别)POST -读取-> BootSequence(在BIOS中) --> BootLoader(在MBR中)--> Kernel( ...

  4. Linux系统启动流程(超详细)

    目录 前言 为什么要了解系统启动流程? 正文 linux开机启动流程图 1. 开机自检 (POST, Power On Self Test) 2. 启动顺序 3.主引导记录 MBR( master b ...

  5. +++++++X86平台系统启动流程

    操作系统的组成.内核的功能.库.函数.头文件.函数名.Linux内核.X86平台系统启动流程 忘记密码如何登陆系统 操作系统的组成:kernel + rootfs , kernel + 应用程序 ke ...

  6. CentOS系统启动流程

    CentOS系统启动流程 POST-->Boot Sequence(BIOS) -->bootloader(MBR)-->Kernel-->rootfs(readonly)-- ...

  7. Linux 操作系统原理 — 系统启动流程

    目录 文章目录 目录 系统启动流程 编辑 gurb.cfg RHEL7 的启动级别 RHEL7 破密码步骤 grup2 加密,防止破密码 initramfs 文件 系统启动流程 RHEL7 使用了 G ...

  8. Linux 系统启动流程及其介绍

    熟悉Linux系统启动流程可以更好的排除Linux系统在启动的过程中所遇到的错误,下面介绍Linux系统在启动过程. 开机,BIOS自检:检测外置设备,目的是为了把外围设备的信息提供给操作系统使用 寻 ...

  9. 内核电源管理器已启动关机转换_Linux系统启动流程

    Linux系统启动流程 电源开关 (手动操作按钮 / 加电自启动 ) 加载bios : 最接近硬件的软件 各家厂商都会开发适合自己主板的bios BIOS加电自检 只有硬件没有问题的情况下才能运行软件 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(二十二) - 物体识别 - 色彩直方图,支持向量机SVM
  2. 【转帖】Nginx优化use参数epoll,kqueue,rtsig,eventport,poll
  3. 图文并茂的带你彻底理解悲观锁与乐观锁
  4. 上传漏洞学习——upload-labs 闯关(一)
  5. java实例变量可以被覆盖吗_Java继承覆盖实例变量
  6. 【加权并查集】bzoj 4602 齿轮
  7. 大样品随机双盲测试_训练和测试样品生成
  8. java jframe添加面板_JFrame添加组件的两种方式
  9. 2010年高教社杯全国大学生数学建模竞赛题目B题解析及层次分析法AHP在其中的应用
  10. ubuntu 以太网已连接但是无法联网_连接wifi时,出现“已连接但无法访问互联网”,这样做就可以了...
  11. Java 并发之 FutureTask 的基本使用
  12. 华为网络技术培训笔记之常用网络工具(一)
  13. php函数end,PHP end()函数
  14. SQL事务与ADO.NET事务
  15. 图书馆图书借阅登记微信小程序开发制作管理软件系统
  16. 基于神经网络的房价预测,房价预测 神经网络
  17. 几个城市的公交站查询
  18. 图神经网络-论文精读-“A Gentle Introduction to Graph Neural Networks“
  19. wincc逻辑运算符_wincc逻辑运算符_wincc中表达式及公式
  20. iOS开发企业版ipa分发

热门文章

  1. ARM的存储器映射与存储器重映射【转载】2009-12-14 10:29最近在用LPC2148,看到了一篇文章,感觉很有帮助,就转了过来。
  2. go语言中处处可见的for循环
  3. S3C2440 中断相关寄存器小探
  4. 10 个常用的软件架构模式
  5. 线程间通信及虚假唤醒
  6. 插值查找(按比例查找)
  7. 有源晶振和无源晶振的输出波形
  8. zcmu2117(普通母函数)
  9. 分布式 RPC架构简单理解
  10. 【译】The challenge of verification and testing of machine learning