linux开机流程详解(centos 6¢os 7) 您所在的位置:网站首页 centos6开机启动 linux开机流程详解(centos 6¢os 7)

linux开机流程详解(centos 6¢os 7)

#linux开机流程详解(centos 6¢os 7)| 来源: 网络整理| 查看: 265

linux开机流程详解(centos 6¢os 7) 虾米姐 阅读:162 2022-05-23 17:57:48 评论:0

linux开机流程详解centos6和centos7 一 、Centos 6启动流程 二、Centos 7 启动流程

在这里插入图片描述

一 、Centos 6启动流程 加载BIOS 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。 读取MBR 加载完BIOS信息后,计算机将会查找BIOS所指定的硬盘,读取该磁盘的MBR存储记录信息,引导系统启动。 GRUB引导 选择启动的内核/进行单用户模式重置密码 加载Kernel 计算机读取内存映像,当屏幕输出“OK,booting the kernel”。系统将内核放置在内存中,并调用 start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。 确定系统运行级别 内核加载完毕,将启动第一个守护进程 init,然后通过读取该进程读取/etc/inittab文件,设定inittab运行等级。 在这里插入图片描述 上图中可以看到:initdefault的值是3,表明系统启动时的运行级别为3

Linux 常见运行级别如下:

级别 含义 0 关机 1 单用户模式(维护模式) 2 无网络支持的多用户模式 3 字符界面多用户模式 4 保留,未使用 5 图形界面多用户模式 6 重新引导系统,重启模式 加载rc.sysinit(系统初始化) 读取完运行级别,系统将执行第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括:设定PATH运行变更、设定网络配置、启动swap分区、设定/proc、系统函数、配置SELinux等。 加载内核模块 读取/etc/modules.conf文件及/etc/modules.d目录下的文件夹来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。 启动运行级别程序

根据第5步读取到的运行级别,操作系统会运行rc0.d到rc6.d中相应的脚本程序,来完成相应的初始化工作和启动相应的服务。

读取 rc.local文件

操作系统启动完相应服务后,会读取执行/etc/rc.d/rc.local文件,如下图所示: 在这里插入图片描述 可以看到后面5个docker内容为我自己添加的开机启动项,这里我们可以将需要开机自启的添加在这里,系统会逐行去执行并启动相应命令 10. 执行/bin/login程序 执行/bin/login程序,启动到系统登录界面,如下图所示,输入用户名、密码即可登录Linux操作系统。至此该操作系统完整启动流程完毕。在这里插入图片描述

二、Centos 7 启动流程 Centos6 和Centos 7的启动流程相似,运行init进程时运行systemd进程 UEFi或BIOS初始化,运行POST开机自检 选择启动设备 引导装载程序, centos7是grub2 加载装载程序的配置文件:/etc/grub.d/、/etc/default/grub、/boot/grub2/grub.cfg 加载内核选项 加载initramfs初始化伪文件系统 内核初始化,运行systemd进程 执行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需要的服务 在这里插入图片描述 标签:程序员 声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章 在Centos7上基于Zookeeper实现Flink1.13.2的高可用HA搭建(Standalone和Yarn版本)

在Centos7上基于Zookeeper实现Flink1.13.2的高可用HA搭建(Standalone和Yarn版本)

Flink Maven项目准备、key的定义、DataSet的数据源

Flink Maven项目准备、key的定义、DataSet的数据源

Flink DataSet聚合、分区、排序、关联转换算子的使用

Flink DataSet聚合、分区、排序、关联转换算子的使用

Flink分布式缓存和广播变量的讲解

Flink分布式缓存和广播变量的讲解

Flink的数据类型和序列化(Scala版)

Flink的数据类型和序列化(Scala版)

Flink生成执行计划图并进行可视化

Flink生成执行计划图并进行可视化

向Flink传递自定义参数的3种方式(withParameters、setGlobalJobParameters、ParameterTool)

向Flink传递自定义参数的3种方式(withParameters、setGlobalJobParameters、ParameterTool)

Flink Accumulators累加器、Counters计数器的使用和实现自定义Accumulators、Counters

Flink Accumulators累加器、Counters计数器的使用和实现自定义Accumulators、Counters

Flink DataStream的wordCount、数据源和Sink、Side Outputs、两阶段提交(two-phase commit, 2PC)

Flink DataStream的wordCount、数据源和Sink、Side Outputs、两阶段提交(two-phase commit, 2PC)

Flink DataStream的多流、键控流、窗口、连接、物理分区转换算子的使用

Flink DataStream的多流、键控流、窗口、连接、物理分区转换算子的使用

Flink DataStream的(任务、算子链和资源组)、ProcessFunction、迭代运算

Flink DataStream的(任务、算子链和资源组)、ProcessFunction、迭代运算

Flink DataStream Keyed和Non-Keyed窗口、WindowAssigner、窗口生命周期、窗口函数、迟到数据和窗口结果的处理

Flink DataStream Keyed和Non-Keyed窗口、WindowAssigner、窗口生命周期、窗口函数、迟到数据和窗口结果的处理



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有