Linux系统开机启动过程分解
按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。
1、 BIOS加电自检:
加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。
2、 加载主引导加载程序(MBR):
主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。
主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。
3、 加载次引导记载程序(GRUB)
次引导加载程序只要就是加载linux内核。
上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,让用户选择加载什么样的内核。
4、 linux内核映像:
用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。
linux内核获得控制权之后开始干自己的事
1)、 检测硬件
2)、 解压缩自己并安装必要驱动
3)、 初始化与文件系统相关的虚拟设备,LVM或RAID
4)、 装载根文件系统,挂在根目录下面
5)、 完成之后,linux在进程空间里面加载init程序,下面轮到init干活
5、 init进程
init是所有进程的发起者和控制者,所有的进程都由此衍生。
init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。
至此,linux启动完成。
我们稍微总结一下:
首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux内核映像,完了把控制权交给init进程,完成初始化工作。
swap分区是什么?
类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。
相关文章
linux/ubuntu系统怎么安装百度网盘? linux百度网盘安装图文教程
linux/ubuntu系统怎么安装百度网盘?linux系统中想要安装百度网盘,该怎么安装呢?下面我们就来看看linux百度网盘安装图文教程2023-06-02新补丁发布! 修复Linux 6.3 更新导致 XFS 元数据故障
在升级到 6.3.3 维护版本更新之后,基于 XFS 格式的服务器就出现不断崩溃的问题现在已经找到原因,并发布新的补丁,详细请看下文介绍2023-05-30linux如何导出文件到本地电脑? Linux命令导出文件的技巧
linux如何导出文件到本地电脑?linux系统中的文件,想要导出道本地,该怎么操作呢?下面我们就来看看Linux命令导出文件的技巧2023-05-17- 这篇文章主要介绍了Linux系统下载(超全镜像整理下载),需要的朋友可以参考下2023-05-07
深度 deepin 操作系统 20.9今日发布: Qt 版本升级至 5.15.8
深度 deepin 操作系统 20.9今日发布,这个版本的核心目标是:为用户提供稳定的系统运行版本,详细更新内容请看下文介绍2023-04-18Linux Lite 6.4今日发布:基于 Ubuntu 22.04.2 LTS/原生应用支持 Zstd
Linux Lite 6.4今日发布,引入了诸多新功能 / 新特性,升级了相关组件,并优化了性能,详细请看下文介绍2023-04-02Linux 6.3发布第4个候选版本: diffstat占比超过50%
Linux6.3第4个候选版本发布,这意味着 6.3 的开发周期已经走过了一半路程,下面我们就来看看这个版本的公告内容2023-03-27linux无法识别ntfs格式U盘怎么办? 解决linux不识别nfst格式u盘问题技巧
linux无法识别ntfs格式U盘怎么办?在Linux系统中插入ntfs格式的u盘是,无法识别,下面我们就来看看解决linux不识别nfst格式u盘问题技巧2023-02-28linux怎么调整swap大小? linux扩容swap分区的技巧
linux怎么调整swap大小?linux系统中想要扩容swap分区,该怎么操作呢?下面我们就来看看linux扩容swap分区的技巧2023-02-28深度操作系统 deepin V23 Alpha 2 正式发布 预装跨端协同功能
深度操作系统 deepin V23 Alpha 2 正式发,该版本是 V23 的阶段性版本之一,deepin V23 Alpha 2 在主打的行云设计上持续升级,同时支持系统主题高级定制化设置,详细请看下2023-02-09
最新评论