CentOS7的启动流程

uefi或BIOS初始化,开始开机自检

这个过程是开机后,BIOS或UEFI进行硬件检查的阶段。

加载mbr到内存

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

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等配置文件。

加载内核和inintamfs模块

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

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

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

  • 先执行initrd.target

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

  • 从initramfs根文件系统切换到磁盘的根目录
  • systemd执行默认target配置

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

模式:

  1. 0 ==> runlevel0.target, poweroff.target
  2. 1 ==> runlevel1.target, rescue.target
  3. 2 ==> runlevel2.target, multi-user.target
  4. 3 ==> runlevel3.target, multi-user.target
  5. 4 ==> runlevel4.target, multi-user.target
  6. 5 ==> runlevel5.target, graphical.target
  7. 6 ==> runlevel6.target, reboot.target
  • systemd执行sysinit.target
  • systemd启动multi-user.target下的本机与服务器服务
  • systemd执行multi-user.target下面的/etc/rc.d/rc.local

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

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

systemd执行graphical图形化需要的服务

至此系统启动完成,可以正常使用。

centos7的启动流程的更多相关文章

  1. CentOS7 开机启动流程

  2. CentOS7启动流程

    同样我也找了一张CentOS7的启动流程图. 第一步.硬件启动阶段 这一步和CentOS6差不多,详细请看CentOS6启动流程(含详细流程图) 第二步.GRUB2引导阶段 从这一步开始,CentOS ...

  3. CentOS的启动流程

    因6和7俩个系列的启动流程有区别,所以我把他们分开来写 linux可看作是内核和根文件系统组成我们把内核单独拿出来总结一下 CentOS6系列启动流程 首先总结一下总体的流程,接下来展开来叙述:POS ...

  4. Centos系统的启动流程

    一.CentOS6启动流程 1.流程图 2.说明 (1)post加电自检 这个过程是开机后,BIOS或UEFI进行硬件检查的阶段 (2)MBR引导 自检硬件没有问题时候,这里以BIOS为例,BIOS将 ...

  5. centOS7服务管理与启动流程

    centOS7服务管理与启动流程 centOS7启动流程 systemd简介 unit对象 unit类型 特性 service unit文件格式 service unit file文件通常由三部分组成 ...

  6. Linux操作系统-CentOS7启动流程和服务管理

    Linux操作系统-CentOS7启动流程和服务管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.systemd POST --> Boot Sequence --&g ...

  7. Centos7启动流程及systemd中Nginx启动配置

    Centos7启动流程: 1.post(Power-On-Self-Test) 加电自检 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主 ...

  8. Centos7系统详细的启动流程

    熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽然基础,但能帮助我们更加理解Linux系统的工作机制.以下将以CentOS发行版为例来介绍Linux系统的启动流程,因为在CentOS 5. ...

  9. Centos启动流程及grub legacy

    Linux系统的组成部分:内核+根文件系统 内核的功能:进程管理.内存管理.网络管理.文件系统.驱动程序.安全功能 系统在运行时要么就是在运行内核代码,要么就是在运行应用程序代码.如果一个程序大多数时 ...

随机推荐

  1. JAVA写接口傻瓜(#)教程(四)

    接上篇 7.sevlert 啊啊啊终于写到最重要的实现部分了.Servlet = Service + Applet,表示小服务程序.Servlet 是在服务器上运行的小程序.这个词是在 Java ap ...

  2. RS485转USB插电脑上通讯不上

    在确定没有其他问题时,基本可以确定是干扰问题,换个24V电源试试,不要用原来的线 485接口确定,好坏通过两个相反对接,发送信息,两边一致,就可以

  3. IDEA主类文件需要放置在SRC文件下,非包内

    构建flash项目后,主类文件需要放置在src下,而不是在某个包内. 这样才会找到入口主类,然后有输出. 主类里面有引用其他类,需要使用 import * 全部引入.

  4. AES

    ES算法之理论与编程结合篇 1 前言 AES是现在使用最多的对称密钥分组密码算法,在逆向的过程中经常碰到,这几天处于离职期,有点时间,于是乎想细细的来研究一下它的原理,也算是离职的一个纪念吧. 网上的 ...

  5. MySQL—增删改查,分组,连表,limit,union,alter,排序,去重

    MySQL增删改查 在表格的增删改查中,查的内容是最多的,包括group by ,join,limit,union,alter,排序都是服务于查的 #sql语句数据行操作补充 #增加: #insert ...

  6. 关于javascript中arguments的一个很好的例子

    金克斯的迫击炮! 实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值 函数中的有隐式的不确定个数的参数,而我们在函数中将会用到它,很显然,这需要我们在 argum ...

  7. stackExchange.redis 实现模糊匹配批量查询

    如果使用redis的频次较高,那么业务中经常会出现需要根据关键字进行批量查询,所以总结一下StackExchange中使用批量查询的方法(如果数据量很大,那么在redis中模糊查询很耗时,请慎用!) ...

  8. js 使用Math函数取得数组最大最少值

    var arr = [3,1,2,6,7,8];

  9. Python3的基础

    Python的3.0版本,常被称为Python 3000,或简称Py3k. 关于Python版本的下载:https://www.python.org/,以及Anaconda的下载:https://ww ...

  10. coreData的ManagedObject后,报错

    设置:Data Model inspector -> Codegen -> Manual/None (如下图右侧)↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ ...