Linux开机启动过程

一、加载BIOS

当我们打开计算机电源的时候,计算机首先会加载BIOS系统,BIOS一般存放在主板的ROM中,ROM即只读存储芯片。BIOS中包含了CPU的相关信息,设备启动程序信息,硬盘信息等等,通过加载BIOS系统,计算机得到了该去哪里读取硬件设备

二、读取主引导记录

主引导记录存放在硬盘的第一个扇区,里面存放了预启动信息和分区表信息。系统通过找到BIOS所指定的硬盘主引导记录后,就会将其复制到0x7c00地址所在的物理内存中,0x7c00是指BIOS加载MBR到内存时的起始地址

三、进行GRUB引导

在读取主引导记录时,被复制到物理内存里面的东西其实是Boot Loader,Boot Loader是操作系统内核运行前的一段程序,通过这个程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软件和硬件环境带到一个合适的状态,以便为最后调运操作系统内核做好正确的环境。说简单一点他就是系统启动引导程序,会引导操作系统,告诉你路该怎么走

四、加载Kernel(内核)

根据grub所设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作,系统将解压后的内核放在内存中,并调用一系列的初始化函数并初始化各种设备,完善Linux核心环境的建立

五、启动init进程,并依据inittab文件设定运行级别

内核加载完毕后,会启动系统的第一个守护进程init,然后通过该进程读取/etc/inittab文件,/etc/inittab文件里面存放这Linux运行等级,Linux常见的运行级别有:0 代表了关机模式 1 代表了单用户模式 2 代表了无网络支持的多用户模式 3 字符界面多用户模式 4代表了保留未使用模式 5 图像界面多用户模式 6 重新引导系统,重启模式

六、加载rc.sysinit

读取完运行级别后,Linux会执行第一个用户层文件/etc/rc.d/rc.sysinit 该文件功能是:设定了PATH运行变量,设定网络配置,启动swap分区,设定/proc、系统函数、配置selinux等

七、加载内核模块

读取完/etc/modules.conf文件及/etc/modules.d目录下的文件来加载系统内核模块,该模块文件可以后期添加或修改以及删除

八、读取rc.local文件

操作系统启动完相应服务之后,会读取执行/etc/rc.d/rc.local文件,他这个文件存放了开机要执行的命令或启动的服务

九、执行/bin/login程序

执行/bin/login程序,启动到系统登录界面,操作系统等待用户属于用户名和密码,即可登录到服务器上面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想上课。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值