Linux操作系统启动流程

序号子流程描述
1加载BIOSBIOS:basic input output system, 基本输入输出系统。包含设备启动顺序信息、硬盘信息、内存信息、时钟信息、即插即用(plug and play, PNP)特性等
2读取MBR读取完BIOS信息,计算机会查找BIOS指定的硬盘MBR引导扇区,将其内容复制到0x7c00地址所在的物理地址中。被复制到物理内存的内容是bootloader,然后进行引导
3GRUB引导GRUB启动引导器是计算机启动过程中运行的第一个软件程序,计算机读取内存中的GRUB配置信息后,会根据其配置来启动硬盘中不同的操作系统
4加载kernel计算机读取内存映像,并进行解压缩操作。系统将解压后的内核放置在内存中,并调用start_kernel()函数启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立
5设定inittab运行等级

内核加载完毕,会启动Linux操作系统第一个守护进程init,通过该进程读取/etc/inittab文件。/etc/inittab文件的作用是设定Linux的运行等级。常见的运行等级如下:

0 关机模式

1 单用户模式

2 无网络支持的多用户模式

3 字符界面多用户模式

4 保留,未使用模式

5 图像界面多用户模式

6 重新引导系统,重启模式

6加载rc.sysinit读取完运行等级,Linux系统执行第一个用户层文件 /etc/rc.d/rc.sysinit, 该文件设定path运行变量、设定网络配置、启动swap分区、设定/proc、系统函数、配置SELinux等
7加载内核模块读取/etc/modules.conf文件及/etc/modules.d目录下的文件来加载系统内核模块。该文件可以后期添加、修改、删除
8启动运行级别程序根据之前读取的运行等级,操作系统会运行/etc/rc.d/目录下rc0.d到rc6.d子目录中的脚本程序。其中S开头表示系统即将启动的程序,K开头表示停止该服务
9读取rc.local文件

操作系统启动完相应服务后,会读取执行/etc/rc.d/rc.local文件,可以将需要开机启动的任务加入该文件末尾。如:

/etc/init.d/httpd restart

/usr/local/nginx/sbin/nginx

10执行/bin/login程序执行/bin/login程序,启动系统登录界面。用户输入用户名和密码后进入shell终端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值