linux系统启动的过程

1.BIOS
BIOS(Basic Input/Output System),基本输入/输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程,这个过程其实就是检查CPU和内存,计算机最基本的组成单元(控制器、运算器和存储器),还会检查其他硬件,若没有异常就开始加载BIOS程序到内存当中。详细的BIOS功能,这边就不说了,BIOS主要的一个功能就是存储了磁盘的启动顺序,BIOS会按照启动顺序去查找位于磁盘头的MBR信息,并加载和执行MBR中的Bootloader程序,若第一个磁盘不存在MBR,则会继续查找第二个磁盘
2.MBR
MBR(Master Boot Record),主引导记录,MBR存储于磁盘的头部,用于存储BootLoader程序,64bytes用于存储分区表信息,最后2bytes用于MBR的有效性检查。
3.GRUB
选择相应的操作系统
4.Kernel
Kernel会以只读方式挂载根文件系统,当根文件系统被挂载后,开始装载第一个进程(用户空间的进程),执行/sbin/init,之后就将控制权交接给了init程序。
5.Init
执行完后,根据配置的启动级别runlevel,执行对应目录底下的脚本(见下),启动指定runlevel的服务,最后执行/etc/rc.local这个脚本,至此,系统启动完成。
6.Runlevel
runlevel,运行级别,不同的级别会启动的服务不一样,init会根据定义的级别去执行相应目录下的脚本,Linux的启动级别分为以下几种
0:关机
1:维护模式
2:不含网络功能的纯命令行模式
3:含有网络功能的纯命令行模式
4:系统保留功能
5:图形界面模式
6:重启
在不同的运行级别下,/etc/rc.d/rc这个脚本会分别执行不同目录下的脚本
- Run level 0 – /etc/rc.d/rc0.d/
- Run level 1 – /etc/rc.d/rc1.d/
- Run level 2 – /etc/rc.d/rc2.d/
- Run level 3 – /etc/rc.d/rc3.d/
- Run level 4 – /etc/rc.d/rc4.d/
- Run level 5 – /etc/rc.d/rc5.d/
- Run level 6 – /etc/rc.d/rc6.d/
这些目录下的脚本只有K*和S*开头的文件,K开头的文件为开机需要执行关闭的服务,S开头的文件为开机需要执行开启的服务。
参考文献:
posted on 2019-03-12 17:45 JoeChenzzz 阅读(162) 评论(0) 收藏 举报
浙公网安备 33010602011771号