您的位置:首页 > 运维架构 > Linux

Linux引导启动步骤

2014-04-23 10:35 295 查看
1. BIOS:位于系统只读存储器上的微型操作系统。

2. 引导程序:从磁盘的主引导记录上装载的微型应用程序,用来装载Linux内核和传送控制权。
3. 内核: Linux内核对内部结构和设备驱动程序进行初始化,提供初始的文件系统,启动第一个进程。
4. /sbin/init: 执行大多数与系统管理相关的繁重的任务,对机器进行初始化。

BIOS操作包括
1. POST系统检查:确保核心组件运行。
2. 设备初始化:为键盘、视频设备、串行接口初始化核心设备驱动程序,分配合适的系统资源,如IRQ和I/O端口
3. 引导设备选择
4. 移交执行区域: 选择了合适的引导盘之后,BIOS把磁盘的第一个数据块(512字节)放入内存,并把执行传递到这个区域。

引导程序:
引导程序通常执行下面三个任务:
1. 编写内核命令行。
2. 必要情况下,装在初始虚拟磁盘。(initrd)
3. 装在并传递控制权给Linux内核。

初始虚拟磁盘:
在文件系统可用之前,如果要加载内核模块,需要从初始虚拟磁盘加载。
一般位于/boot/initrd-kernelversion.img

引导程序:
引导程序可以分为两个阶段:
1. 第一阶段通常很小,适合主引导记录或分区的引导扇区。 唯一的任务是。 定位、装载并把控制权传递给第二阶段的引导程序。
2. 第二阶段通常是引导程序本身,在启动时运行了某种形式的应用程序(通常是交互式的),读取有关默认设置的配置信息。第二阶段引导程序通常是文件系统中可以识别的二进制文件。
在/boot/grub/下,stage1是第一阶段主引导程序,stage2是第二阶段,其中还有一些1_5可以理解为1.5阶段,用来从文件系统中找到并读取stage2,grub.conf以及其他文件。

Linux内核
执行了以下的三个任务:
1. 用Linux设备驱动程序替代所有的BIOS设备驱动程序。
2. 把根分区挂载为只读状态
3. 启动第一个进程

/sbin/init
职责是启动、停止和监控其他进程。

在内核步骤中将根分区挂载为只读是为了在init中对磁盘用fsck进行检查,fsck检查要求磁盘必须挂载为只读状态下。在fsck检查之后将/重新挂载为读写模式,并挂在其他分区。

之后则是/etc/rc.d/中的启动步骤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: