本文共 991 字,大约阅读时间需要 3 分钟。
系统引导过程是操作系统从加电到完全启动并进入可用的状态所经历的整个过程。这个过程通常由 bootloader 负责执行,具体又分为几个关键阶段。
首先,加电自检阶段会启动 bios,便于系统识别硬件设备。在这个阶段,系统会根据设置(如硬盘启动或CD-ROM)查找主引导记录(MBR),以确定如何启动操作系统。特别是对于使用 grub 的系统来说,grub 会被嵌入到 MBR 中。grub 会分为两部分:第一部分位于 MBR 中,第二部分位于操作系统安装的分区中。grub 会在启动时显示一个菜单,用户可以通过选择不同的选项来启动对应的操作系统内核。
接下来,内核加载阶段启动了。系统会通过 grub 引导将内核加载到内存中,然后在内存中解开发开。展开内核后,系统会开始初始化过程,首先读取根分区。根分区是系统运行所需的核心文件系统,会被挂载到 / 目录下。在此过程中,/sbin 目录会被访问,其中包含了重要的系统初始化工具。特别是第一个被启动的 init 进程,它会负责加载驱动、挂载文件系统等基础工作。
在初始化阶段,/etc/inittab 配置文件起到了关键作用。这个文件定义了系统的默认运行级别以及 init 进程的行为。init 进程会调用 /etc/rc.d/rc.sysinit 脚本,这个脚本负责完成网络设置、主机名配置、文件系统加载等基础初始化工作。
随后,系统会根据配置文件 /etc/rc.d/rc 脚本文件来启动或停止相应服务。这些脚本文件根据制定的运行级别(如 /etc/inittab 中定义的)执行操作,确保系统能够按预期顺序启动各个服务。运行级别通常由 /etc/rc.d/rc3.d 中的脚本文件控制,其中 K 开头的脚本文件会优先执行,按从低到高的顺序处理;S 开头的脚本文件则按从低到高的顺序执行,处理依次进行。
最后,系统会执行 /etc/rc.d/rc.local 脚本文件。这是一个用户自定义的脚本文件,用于存储需要在开机时自动执行的命令。执行完所有初始化工作后,系统会启动 mingetty 终端,提供一个登录界面供用户登录。
整个系统引导过程的核心在于确保系统能够按照预期顺序加载各个必要组件,并为用户提供可用的登录界面。这个过程由 bootloader、init 进程以及一系列初始化脚本共同完成,确保系统能够稳定、安全地启动。
转载地址:http://qakfk.baihongyu.com/