1.让计算机知道系统被放在哪个设备上了(BIOS)
计算机启动先启动bios,再去读MBR,MBR动了才会启动操作系统
2.让计算机知道哪里的分区是活动分区(MBR),找出来把系统引导到这里来
这两部类似于早先游戏里的红色警报和星际争霸。红色警报一出来玩家没有选定的目标,不知道自己在哪,还要自己去找到基地车,然后在地图里找一块风水宝地来展开基地车,才能开局;
星际争霸就不一样,一出来就在自己家里,知道自己农民和基地在哪,直接开始搞建设就行了。
其他启动中涉及到的各种东西,什么BIOS,MBR,GRUB等等本质都是在做这两步。
关于BIOS,MBR和bootloader三个的顺序,具体就是这张图,从上往下:
再细化一点,就是下面这张图:
关于这些和init/systemd的启动顺序关系,就是下面这张图:
关于init和systemd的具体细节关系,见以下:
这里需要特别注意的是,关于用户态或是system态的守护进程,是在systemd里面就开始界定了的,可以ps | ef grep systemd来看到。system态在sbin /init里,usr态的则在usr/lib/systemd里面:
注意前者是后者,也就是是user态的一个软链接,这里面的主要内容都是一些系统的控制管理和进程管理:
Linux-Systemd_开着拖拉机回家的博客-CSDN博客_linux systemd
Linux启动流程及systemd服务详解_wespten的博客-CSDN博客_linux并行启动