您好,登录后才能下订单哦!
这篇文章主要为大家展示了“Linux操作系统启动流程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux操作系统启动流程是怎么样的”这篇文章吧。
Linux操作系统启动流程
02 CentOS 6 启动流程
1、加载BIOS
当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
2、读取MBR
加载完BIOS信息后,计算机将会查找BIOS所指定的硬盘,读取该磁盘的MBR存储记录信息,引导系统启动。
3、GRUB引导
选择启动的内核/进行单用户模式重置密码
4、 加载Kernel
计算机读取内存映像,当屏幕输出“OK,booting the kernel”。系统将内核放置在内存中,并调用 start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。
5、设定系统运行级别
内核加载完毕,将启动第一个守护进程 init,然后通过读取该进程读取/etc/inittab文件,设定inittab运行等级。
Linux 常见运行级别如下: 1、 0:关机模式 2、 1:单用户模式 3、 2:无网络支持的多用户模式 4、 3:字符界面多用户模式 5、 4:保留,未使用 6、 5:图形界面多用户模式 7、 6:重新引导系统,重启模式
6、 加载rc.sysinit(系统初始化)
读取完运行级别,系统将执行第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括:设定PATH运行变更、设定网络配置、启动swap分区、设定/proc、系统函数、配置SELinux等。
7、加载内核模块
读取/etc/modules.conf文件及/etc/modules.d目录下的文件夹来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。
8、启动运行级别程序
根据第5步读取到的运行级别,操作系统会运行rc0.d到rc6.d中相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
9、读取 rc.local文件
操作系统启动完相应服务后,会读取执行/etc/rc.d/rc.local文件,可以将需要开机启动的任务加入到该文件末尾,系统会逐行去执行并启动相应命令。如下图所示:
10、执行/bin/login程序
执行/bin/login程序,启动到系统登录界面,如下图所示,输入用户名、密码即可登录Linux操作系统。至此该操作系统完整启动流程完毕。
03 CentOS 7 启动流程
CentOS 7 和CentOS 6 启动流程差不多,只不过到init程序时候,改为了systemd。
CentOS 7 引导顺序:
鸿蒙官方战略合作共建——HarmonyOS技术社区
UEFi或BIOS初始化,运行POST开机自检
选择启动设备
引导装载程序, centos7是grub2
加载装载程序的配置文件:/etc/grub.d/、/etc/default/grub、/boot/grub2/grub.cfg
加载内核选项
加载initramfs初始化伪文件系统
内核初始化,centos7使用systemd代替init
执行initrd.target所有单元,包括挂载/etc/fstab
从initramfs根文件系统切换到磁盘根目录
systemd执行默认target配置,配置文件/etc/systemd/system/default.target
systemd执行sysinit.target初始化系统及basic.target准备操作系统
systemd启动multi-user.target下的本机与服务器服务
systemd执行multi-user.target下的/etc/rc.d/rc.local
Systemd执行multi-user.target下的getty.target及登录服务
systemd执行graphical需要的服务
下图是我在网上看到的,总结很详细,分享给大家。仅供学习,若存在版权问题,请联系处理。谢谢
以上是“Linux操作系统启动流程是怎么样的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。