Linux 第24天 自习 boot

时间: 20180811



系统启动加载过程描述

1.POST加电自检

主要检测硬件设备是否存在并能正常运行,如cpu,memory,disk是否存在并能正常运行,

有些设备存在与否都不影响系统的正常启动如键盘鼠标等。 这个自检功能是由一个程序实现

的,这个软件叫做BIOS,它是装载在一个硬件芯片CMOS之上,加电过程就是给CMOS通过,

启动其上的BIOS程序,BIOS程序会根据CMOS上面的一些配置信息去读取其他的硬件设备信息

并检测其是否存在并能正常运行,之后进行硬件初始化。

2.选择启动顺序

硬件初始化完成后,BIOS会列出一些可以启动的装置顺序,然后读取第一个可启动磁盘,

像指针一样会指向硬盘的0磁道0扇区去读取boot loader信息,每个分区的第一个扇区也会

有一个boot loader.


boot loader主要功能是提供菜单信息可以向使用者提供不同的启动项目,来加载不同的

操作系统。



3.加载系统内核

Linux系统启动

Boot loader程序将一个名为initrd的文件加载到内存中,这个文件被解压缩并且在内

存中模拟一个根文件系统,这个根文件系统能够提供一个可运行的程序,通过该程序可

以加载在启动过程中所需要的核心模块(Raid, LVM, SCSI等文件系统与磁盘的驱动

程序)加载内核,挂载根文件系统


4.启动用户空间第一个执行程序/sbin/init

在内核硬件及驱动信息加载完成后,内核会呼叫用户控件的第一个程序/sbin/init,init程序

主要功能是准备软件运行环境,包括系统的主机名称,网络配置,文件系统格式等其它服务的

启动管理,而这些操作都是通过init的配置文件来定义。