Linux系统从开机到登陆界面的启动过程

1,BIOS上电自检(POST)
主要功能就是对CPU,主板,内存,软硬件子系统 显示子系统 接口 键盘 光驱的检测。 检测硬件的好坏。

2,读取MBR,MBR引导
主引导菜单,(MasterBootRecord) 一共有446个字节(引导镜像:boot.img) 这里面记录着一段可执行代码。主要功能就是用于装载第二引导装载程序。
放在硬盘第一个扇区(512)里面
引导记录和第一个分区之间共(31744字节)有足够的空间来存储core.img文件

3,grub2引导菜单(Grand Unified Boot Loader,Version2)
是一个用于计算机寻找操作系统内核并加载到内存的智能软件
配置文件在 boot/grub2/grub.cfg 。

4,加载内核kernel

  真正的内核初始化过程是从这里开始的,函数start,kerenl()调用一系列初始化函数来完成内核本身的个方面设置,最终建立起基本完整的linux核心环境。

———————————————————————————
5启动init进程,依据inittab文件设定运行级别
内核加载后,运行的第一个程序便是/sbin/init 该文件读取/etc/inittab文件来进行初始化工作。他的主要作用就是设定运行级别。
0:关机模式
1:单用户模式(单人模式,用于系统维护时使用)

   2:无网络支持的多用户模式 (少了NFS服务)
   3:有网络支持的多用户模式(完整模式,不过是文本模式)
   4:保留,未使用(系统保留功能)
   5:有网络支持的X-windows支持多用户模式(桌面)
   6: 重新引导系统,即重启
   runlevel   查看运行级别

6.init进程,执行rc.sysinit文件。(init初始化)
执行etc/rc.d/rc.sysinit 是由init执行的第一个脚本,他的主要工作包括配置网络,配置内核参数 挂载root文件系统,检查文件系统,设置系统时钟,配置机器,开启交换空间等。
init最终完成状态是能够是的一般用户程序可以正常的被执行,真正完成可供应用程序运行系统环境。

7.启动内核模块,执行不同级别的脚本程序
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。
根据运行级别的不同,系统会运行rc0.d到rc6.d中相应的脚本程序,来完成相应的初始化工作和启动相应的服务

8,执行/etc/rc.d/rc.local(开机自启文件)
一切初始工作结束后,linux留给用户个性化的地方,可以把想设置和启动的东西放在这里面。

9启动mingetty,进入系统登陆界面

7版本:kernel内核开始初始化后,用systemd来替代6以前的init程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值