Linux开机引导和启动过程

2019-04-14 18:08发布

1.简介 linux开机启动的过程可以大致分为两个部分 1.引导过程2.启动过程 引导过程开始于上电开始结束于内核初始化完成以及systemd进程启动完成 启动过程则是接管剩余的工作,直至操作系统启动完成进入可操作状态。 2.引导过程  引导过程可以分为 BIOS上电自检 引导初始化程序 内核初始化 启动systemd 1.BIOS上电自检(POST) 就是Basic I/O system的Power On Self Test。 这部分其实系统什么都没有做,都是由硬件来完成的。当电脑接通电源开始执行,如果post失败,则电脑不能时候,引导失败。 2.引导初始化程序 磁盘上第一个扇区为MBR(master boot record)即主引导记录。大小为512个字节,里面存储了预启动信息,分区表信息。 BIOS上电自检完成之后会产生一个中断,指向MBR,然后将MBR中的boot loader程序复制到0x7c00的物理内存中去,然后执行 bootloader程序。该程序会初始化硬件设别、监理内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为调用操作 系统内核做好准备。 3.内核初始化 内核镜像core.img位于MBR和63扇区之间的62个512字节之间。 bootloader程序会定位并加载内核镜像,将解压缩完成的内核加载到内存中。 4.启动systemd 当解压缩完的内核加载到内存中后,systemd程序运行,控制权在systemd程序中。 3.启动过程 systemd进程是所有进程的父进程。它负责将主机带到一个用户可执行的状态。 关于systemd的启动过程在此不赘述 详细的请看https://linux.cn/article-5457-1.html#3_905