linux 启动过程详解

1. 系统启动时,首先由固化在硬件中的 BIOS 对硬件进行初始化,然后读取硬盘的 MBR 上的引导程序。
BIOS: Basic Input/Ouput System,基本输入输出系统,固化在系统中的代码,用于完成最底层的硬件操作。
MBR: Master Boot Record,主引导记录,位于第一块硬盘的第一个扇区,大小为512字节。其中前 446 字节为引导程序,之后的 64 字节为分区表,最后的两字节为结束标记。

2. MBR 中的 stage1 执行,并跳转到硬盘上保存的引导程序的剩余部分(即stage2)。
stage1、stage2: MBR 中保存的为 Linux 引导程序( Linux Boot Loader) 的第一部分(即stage1)。由于一般的引导程序都很大,无法放到 MBR 的 446 字节中,因此只将一部分放到 MBR 中,这一部分称为 stage1,用于将引导程序的剩余部分(即stage2)读入并执行。

3. stage2 执行,并读取 Linux 内核。

4. 内核执行,对各种硬件进行检测和初始化。

5. 内核启动 init 进程。
init进程: 为 Linux 系统中启动的第一个进程,PID 为 1,其它所有的进程都为该进程的子进程。

6. init 进程按照 /etc/inittab 的指示进行系统初始化工作。一般包括启动各种服务,并启动数个虚拟终端供用户登录。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据