一、简介
最简单地讲,引导加载程序(boot loader) 会引导操作系统。x86 系统中的引导加载程序由 BIOS(Basic Input Output System,基本输入输出系统)和位于硬盘主引导记录(MBR,Master Boot Record)中的操作系统引导加载程序(比如,LILO 和 GRUB 等)一起组成。
BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的引导加载程序读到系统的 RAM 中,然后将控制权交给操作系统引导加载程序。引导加载程序的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。
二、启动流程
一般来说,所有的操作系统的启动流程基本就是:
总的来说,linux系统启动流程可以简单总结为以下几步:
1)开机BIOS自检,加载硬盘。
2)读取MBR,进行MBR引导。
3)grub引导菜单(Boot Loader)。
4)加载内核kernel。
5)启动init进程,依据inittab文件设定运行级别
6)init进程,执行rc.sysinit文件。
7)启动内核模块,执行不同级别的脚本程序。
8)执行/etc/rc.d/rc.local
9)启动mingetty,进入系统登陆界面。
参考:
https://www.cnblogs.com/activecode/p/9454472.html