Linux启动过程(详细)

LINUX的启动过程,共分为加载BIOS,查找MGR,启动GRUB,加载Kernel,文件系统初始化等等阶段。下面我们来详细说明一下。

1.加载BIOS 基础输入输出系统

计算机在启动时,最先进行的操作就是加载BIOS。BIOS是存储在主板的ROM芯片中的一段程序,它存储了磁盘的启动顺序。计算机就是根据BIOS来决定下一步要干什么。
BIOS会根据启动顺序寻找MGR(主引导记录)。

2.MGR 主引导记录

MGR就是存储boot loader的一块存储,它通常在第一块磁盘的第一个分区中。BIOS会查找MGR,并加载boot loader程序到内存中,接下来,就将系统控制权交给boot loader。
3. 启动GRUB 多系统启动程序

GRUB程序(MGR)查找第二段boot loader,但在此时(系统还未启动的情况下),MGR找不到文件系统,就无法挂载/boot。此时,GRUB程序就会直接识别GRUB所在磁盘的文件系统,直接读取/grub2/grub.conf中的Kernel信息。
在这里插入图片描述
在grub.cfg文件中,我们也看到对开机时显示的系统版本号及救援系统的图形化界面的配置。
Linux启动过程(详细)_第1张图片
4. kernel 内核
Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。Kernel会以只读方式挂载根文件系统,当根文件系统被挂载后,开始装载第一个进程(用户空间的进程),执行/sbin/init,之后就将控制权交接给了init程序。

5.初始化

1)、激活udev和selinux;
2)、根据/etc/sysctl.conf文件,来设定内核参数;
3)、设定系统时钟;
4)、装载硬盘映射;
5)、启用交换分区;
6)、设置主机名;
7)、根文件系统检测,并以读写方式重新挂载根文件系统;
8)、激活RAID和LVM设备;
9)、启用磁盘配额;
10)、根据/etc/fstab,检查并挂载其他文件系统;
11)、清理过期的锁和PID文件

至此,linux启动完成。

你可能感兴趣的:(RHCE,学习笔记)