第一步:通电自检加载BIOS

打开服务器电源,设备自检即是加载BIOS,BIOS中包含各硬件CPU、内存、硬盘、RAID卡、光驱、USB等信息,检验硬件基本功能是否正常。

第二步:读取MBR

硬盘上第一个扇区被称为MBR,即主引导记录,它的大小是512字节,里面存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘MBR后,将其复制到物理内存中。被复制到物理内存的内容叫Boot Loader,即grub。

第三步:读取grub加载内核

系统读取内存中的grub信息,依据配置信息来启动不同的操作系统。系统根据grub设定的内核映像所在路径,读取内存映像,进行解压操作并将解压后的内核放置在内存之中,之后初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立,基于Linux的程序可正常运行。

第四步:依据init启动对应等级

内核加载后,第一个运行的程序便是/sbin/init,该文件读取/etc/inittab文件,依据此文件来进行初始化工作。该文件的主要作用是设定Linux的开机启动等级,常用 3 文本模式 和 5 图形模式。
Linux的运行等级设定如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启

第五步:init进程执行rc.sysinit

init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。

第六步:启动内核模块

依据/etc/modules.conf文件或/etc/modules.d目录下的文件加载内核模块。

*第七步:运行/etc/rc.d目录下rc.d中的脚本**

执行/etc/rc.d/rc和/etc/rc.d/rc*.d目录下的脚本。 *为0-6的运行级别。用来完成相应的初始化工作和启动相应的服务。

第八步:执行/etc/rc.d/rc.local

执行用户自定义启动脚本。可以编辑你想开机就执行的命令。

第九步,执行/bin/login程序,等待用户登录

此时,系统已经进入到了等待用户输入username和password的时候了,你已经可以用自己的帐号登入系统了。