一、开机启动流程图

第一步:开机自检就是开始工作之前先对自己的工具进行检查是否正常。BIOS就是主板上的一个自检程序,开机先对主板上自带的和外界的一些开机必备的设备进行检测,比如CPU、显卡、内存、硬盘等设备的自检过程就是自检
第二步:MBR引导,也就是根据装有Linux系统的硬盘上的主引导区的记录进行引导,主引导记录处在硬盘上的第一个物理分区上,硬盘能够读取到的数据也就是靠的这个最主要的MBR主引导记录,加如这个512字节丢失,那么这张硬盘就无法工作。它里面包含了硬盘的主引导程序和硬盘的分区表,分区表有四个分区记录,每个分区占16个字节共64个字节,还有446字节放主引导程序,2字节用作校验
第三步:GRUB菜单(Boot Loader),也就是操作系统引导菜单
第四步:加载内核(kernel),也就是启动操作系统的核心
第五步:运行INIT进程,init也就是主进程,它的PID号是1,也就是第一个被运行的进程
第六步:读取/etc/inittab配置文件,也就是linux开机时,默认的运行级别
第七步:init进程,执行/etc/rc.d/rc.sysinit/初始化脚本,也就是init进程的初始化用来执行kernel的任务
第八步:执行/etc/rc.d/rc脚本,通过执行脚本找出默认启动模式选项要启动的进程
第九步:执行/etc/rc.d.rc.local个人配置脚本,也就是用户想要开机自启动的命令或者进程都放在这个脚本里,开机时这个脚本文件内的所有命令全部执行一遍
第十步:启动mingetty进程
简化流程
第一步: BIOS自检
这步是找到BIOS检查CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等,(启动顺很熟悉,每次gost装机的时候,要把开机首选项设置成从U盘启动)。
第二步: 读取MBR(Master boot Record)
MBR是位于一扇区,零磁道,0柱面的一个有512B的文件,里面有446B是引导区(PRE-BOOT) ,用来找到活动分区(active)并将活动区读入0×7c00内存,其实被复制到内存的就是我们说的BOOT Loader,准确到电脑上就是GRUB。还有66B是分区表(PARTITION PABLE)这里记录了硬盘信息。(分了几个区之类的)
第三步: 加载Boot Loader
Boot Loader的种类有很多, 其实是一段小程序,初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状 态,以便为最终调用操作系统内核做好一切准备。其中Grub、Lilo和spfdisk是常见的Loader。下面使用Grub(就是开机的时候选择哪一个内核)。
第四步:加载内核
系统将解压后的内核放置在内存中(这里说系统到底是哪一个系统呢?)开始调用start_kernel()函数, 来初始化各种设备,到这里内核环境已经建立起来了。
第五步:启动systemed单元目标
转载:
https://blog.youkuaiyun.com/qq_48391148/article/details/126001896