一、概述

本次目的:熟悉Linux的启动过程。

二、内容实践

1、Linux的启动过程

1. 操作系统大致引导顺序

image.png

2. 操作系统引导详细过程

在系统启动过程中的几大步骤:

  • 第一个启动的是硬件的BIOS自检和初始化,无论是硬件主机,还是虚拟化这部分都是要经过的,唯独虚拟化因为是软件模拟的硬件,基本的自检可以快速通过检查,检查的速度是非常的快。
  • 第二步就进入到MBR(Master Boot Record),当然现在MBR并不是主流技术了,随着大容量的磁盘大规模的使用,显然这种2T的容量的限制是不合时宜的。这时的GPT(GUID Partition Table)就比较适合,不过这两种都是实现磁盘引导的记录的分区制式,实现的功能基本一致。能够通过磁盘扇区让硬件可以找到引导记录。
  • 第三步,通过MBR找到引导记录后,就需要进入GRUB(GRand Unified Bootloader)中,GRUB又分为3个阶段分别为1阶段、1.5阶段和2阶段。其中1阶段启动GRUB,1.5阶段可以通过GRUB找到引导系统的入口,2阶段是通过GRUB引导到内核阶段。
  • 第四步,在GRUB引导的内核阶段,内核会启动自己的文件进程,并且挂载initramfs,通过挂载额外驱动来驱动磁盘文件系统,进而进入操作系统。
  • 第五步,内核阶段过去后,系统会挂载本地文件系统,对操作系统进行初始化工作,早期的Centos6是使用bash脚本来做初始化,Centos7以后使用systemd进程来初始化。
  • 第六步,初始化过程中启动有一个参数是运行级别,通过确定级别来确定需要启动哪些进程,这个也是非常重要的。
    至此操作系统的核心内容已经启动完成。