感谢各位大佬指出问题!!!
以前并没有关注过开机启动这块的内容,systemed都是在各个网站参考后写的自己的理解,有问题的话,望提出!
第一步: 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单元目标
随之而来的是/etc/inittab文件无效。取而代之的是 /etc/systemd/system/default.target,这是一个软链接指向/usr/lib/systemd/system/graphical.target,当改变默认运行级别的时候,软连接指向的文件也随之改变
1.systemd将运行级别分成了不同的启动单元组
将相应的服务划分为一个单元(eg:graphical.target)
2、systemed并行启动原理
1、解决socket依赖
2、解决D-Bus依赖(desktop-bus)
3、解决文件系统依赖

Linux操作系统的开机流程详解(rehl6、centos7)