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的配置文件来定义。
转载于:https://blog.51cto.com/winthcloud/2160768