Linux 服务器启动流程详解
发布日期:2025-04-06 19:25:15 浏览次数:6 分类:精选文章

本文共 1320 字,大约阅读时间需要 4 分钟。

启动第一步--加载BIOS

当计算机开机启动电源时,首先需要加载BIOS信息。这是计算机启动的最基础环节,BIOS包含了关于CPU、设备启动顺序、硬盘信息、内存信息、时钟设置以及PnP特性的关键配置信息。

启动第二步--读取MBR

接下来的步骤是读取硬盘的第一个扇区——MBR(Master Boot Record)。MBR大小为512字节,存放了启动相关的信息和分区表。在此阶段,系统会将BIOS指定的硬盘的MBR复制到物理内存中的0x7c00位置,这样就能启动次级启动加载器(如GRUB或LILO)进行后续操作。

启动第三步--Boot Loader

次级启动加载器(Boot Loader)是小型程序,用以初始化硬件环境和准备内存映射,使得操作系统内核能够顺利启动。常见的Boot Loader有GRUB、大约和SPFDisk。GRUB作为例子,读取配置文件(如menu.lst或grub.lst),并根据配置选择启动目标操作系统。

启动第四步--加载内核

在确定了目标内核映像路径后,系统会读取该映像并进行解压缩。解压缩过程中会显示“Uncompressing Linux”提示,随后完成后会显示“OK, booting the kernel”。此时,内核被加载至内存中,并调用start_kernel函数启动一系列初始化过程,完成操作系统核心的建立。

启动第五步--用户层初始化

内核加载完成后,第一个用户层程序 会是/bin/init。该程序读取/etc/inittab文件来设定系统运行等级。配置示例为“id:5:initdefault:”,表示系统将运行在等级5状态。这五个等级分别对应不同的运行模式,包括单用户模式、多用户模式等。

启动第六步--执行rc.sysinit脚本

设定了运行等级后,系统会执行/etc/rc.d/rc.sysinit脚本。这一脚本负责进行初始设置工作,包括定义PATH环境变量、配置网络参数、启用交换分区以及初始化/proc虚拟文件系统等。在完成这些基础配置后,系统会进入下一步。

启动第七步--加载内核模块

内核模块的加载依据是/etc/modules.conf文件或位于/etc/modules.d目录下的各个配置文件。这些模块负责扩展内核功能,添加额外的硬件支持或功能模块。

启动第八步--执行不同运行级别脚本

在确定了运行等级后,系统会依次执行rc0.d到rc6.d目录下的各个脚本程序。这些脚本负责启动级别对应的设备和服务。这一过程确保了系统在各个运行级别下都能正常运行所需服务。

启动第九步--执行rc.local脚本

在所有设备和服务初始化完成后,系统会执行最后一步——用户自定义脚本rc.local。该脚本留给用户进行个性化配置,可以添加自己想要启动的服务或设置。

启动第十步--启动登录状态

最后,系统会执行/bin/login程序,用户进入登录状态。负责统筹协调整个启动过程的内核和用户空间程序共同努力,使得整个操作系统能够顺利启动起来。

上一篇:linux 服务器性能监控(一)
下一篇:Linux 服务器启动流程详解

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月18日 13时49分48秒