Centos7系统启动流程
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系统启动流程相关推荐
- CentOS7系统启动、排错、修复、破解root口令
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://183530300.blog.51cto.com/894387/1854344 C ...
- linux系统启动流程详解
系统启动流程(CentOS6) Post加电自检: 开机检查cpu.内存.磁盘等是否存在 Boot Sequence: BIOS:Basic Input and Output System 按照BIO ...
- 学习笔记之centos系统启动流程
CentOS 系统的启动流程: 简介: (内核级别)POST -读取-> BootSequence(在BIOS中) --> BootLoader(在MBR中)--> Kernel( ...
- Linux系统启动流程(超详细)
目录 前言 为什么要了解系统启动流程? 正文 linux开机启动流程图 1. 开机自检 (POST, Power On Self Test) 2. 启动顺序 3.主引导记录 MBR( master b ...
- +++++++X86平台系统启动流程
操作系统的组成.内核的功能.库.函数.头文件.函数名.Linux内核.X86平台系统启动流程 忘记密码如何登陆系统 操作系统的组成:kernel + rootfs , kernel + 应用程序 ke ...
- CentOS系统启动流程
CentOS系统启动流程 POST-->Boot Sequence(BIOS) -->bootloader(MBR)-->Kernel-->rootfs(readonly)-- ...
- Linux 操作系统原理 — 系统启动流程
目录 文章目录 目录 系统启动流程 编辑 gurb.cfg RHEL7 的启动级别 RHEL7 破密码步骤 grup2 加密,防止破密码 initramfs 文件 系统启动流程 RHEL7 使用了 G ...
- Linux 系统启动流程及其介绍
熟悉Linux系统启动流程可以更好的排除Linux系统在启动的过程中所遇到的错误,下面介绍Linux系统在启动过程. 开机,BIOS自检:检测外置设备,目的是为了把外围设备的信息提供给操作系统使用 寻 ...
- 内核电源管理器已启动关机转换_Linux系统启动流程
Linux系统启动流程 电源开关 (手动操作按钮 / 加电自启动 ) 加载bios : 最接近硬件的软件 各家厂商都会开发适合自己主板的bios BIOS加电自检 只有硬件没有问题的情况下才能运行软件 ...
最新文章
- Udacity机器人软件工程师课程笔记(二十二) - 物体识别 - 色彩直方图,支持向量机SVM
- 【转帖】Nginx优化use参数epoll,kqueue,rtsig,eventport,poll
- 图文并茂的带你彻底理解悲观锁与乐观锁
- 上传漏洞学习——upload-labs 闯关(一)
- java实例变量可以被覆盖吗_Java继承覆盖实例变量
- 【加权并查集】bzoj 4602 齿轮
- 大样品随机双盲测试_训练和测试样品生成
- java jframe添加面板_JFrame添加组件的两种方式
- 2010年高教社杯全国大学生数学建模竞赛题目B题解析及层次分析法AHP在其中的应用
- ubuntu 以太网已连接但是无法联网_连接wifi时,出现“已连接但无法访问互联网”,这样做就可以了...
- Java 并发之 FutureTask 的基本使用
- 华为网络技术培训笔记之常用网络工具(一)
- php函数end,PHP end()函数
- SQL事务与ADO.NET事务
- 图书馆图书借阅登记微信小程序开发制作管理软件系统
- 基于神经网络的房价预测,房价预测 神经网络
- 几个城市的公交站查询
- 图神经网络-论文精读-“A Gentle Introduction to Graph Neural Networks“
- wincc逻辑运算符_wincc逻辑运算符_wincc中表达式及公式
- iOS开发企业版ipa分发