linux系统启动过程(方便记忆步骤&详细步骤)

2023-10-30

linux系统的启动过程
大致可以分为五个阶段
内核的引导
运行init
系统初始化
建立终端
用户登录系统

大致步骤

1.内核的引导:操作系统--->/boot

2.运行init:操作系统--->/boot--->init进程(配置文件 /etc/inittab,根据配置文件中的运行                                                                               级别0-6,运行这些开机启动的程序)

3.系统初始化:操作系统--->/boot--->init进程--->运行级别--->/etc/init.d(系统初始化)
                         在init的配置文件中有这么一行:si::sysinit:/etc/rc.d/rc.sysinit,它调用执行                                         了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash  shell脚本,它主要是完成系统                                     初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本,                                             它主要的工作有:激活交换分区,检查磁盘,加载硬件模板以及其它一些需                                     要优先执行的任务

4.建立终端

5.用户登录系统    操作系统--->/boot--->init进程--->运行级别--->/etc/init.d(系统初始                           化)--->建立终端--->用户登录

详细步骤

1. --->通电

2. --->BIOS(POST(power on Self Test)开机自检,BIOS程序首先检查计算机能否满足运行的基本条件

3. --->启动程序,硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序,这时BIOS需要知道”下一阶段的启动顺序“具体放在哪个设备里(磁盘,光盘,硬盘等),也就是说,BIOS需要有一个外部存储设备的排序,排在前面的设备就是优先转交控制权的设备,这种排序叫做"启动顺序"Boot  Sequence)

4. --->主引导记录MBR(master boot record),主引导记录只有512个字节,它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统

5. --->启动管理器(计算机读取主引导记录前面的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的”启动管理器“,由用户选择启动哪一个操作系统,目前linux环境中最流行的启动管理器是Grub,在boot目录下)

6. --->(加载)操作系统,系统初始化,控制权交给操作系统后,操作系统的内核首先被载入内存,开始运行的第一个程序是systemd/init,执行默认target配置文件/etc/systemd/system/default.target(centos 7/8的第一个进程是systemd,centos6的第一个进程是init)

7. --->运行级别runlevel(启动对应运行级别里的服务,查看运行级别runlevel)

8. --->用户登录

附BIOS介绍:
BIOS:Basic input  output  system,基本输入输出系统,它是电脑ROM芯片上的一段程序,它保存着计算机最重要的基本输入输出的程序,开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为计算机提供最底层的,最直接的硬件设置和控制。
(CMOS常指保存计算机的基本启动信息,如日期,时间,启动设置等,区别BIOS,CMOS是主板上的一块可读写的并行或串行的FLASH芯片,是用来保存BIOS的硬件设置和用户对某些参数的设定,通常在电脑启动时根据电脑型号按Delete键或F2或F8或F12键可以进入)
BIOS存储的信息
BIOS芯片中主要存放:
·自诊断程序,通过读取CMOS RAM 中的内容识别硬件配置,并对其进行自检和初始化;
·CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;
·系统自举装载程序,在自检成功后将磁盘上相对0道0扇区上的引导程序装入内存,让其运行以装入DOS(Disk operating  system)磁盘操作系统。
·主要I/O设备的驱动程序和中断服务

参考:BIOS的介绍及linux启动过程:https://blog.csdn.net/tiantianhaoxinqing__/article/details/123972845
linux启动的详细过程:
https://blog.csdn.net/shuju1_/article/details/126201364
linux系统启动过程:
http://edu.jb51.net/linux/linux-system-boot.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux系统启动过程(方便记忆步骤&详细步骤) 的相关文章

随机推荐

  • 数据结构中缀表达式转换为后缀表达式并求值,pta试题,小白心酸史

    数据结构中缀表达式转换为后缀表达式并求值 1 中缀表达式转换为后缀表达式并求值 100分 把题目给出中缀表达式转换为后缀表达式输出 并求后缀表达式的值 为简单起见 我们约定 1 输入的中缀表达式一定是合法的 并且只含数字 四种运算符 和小括
  • 我的opencv3.1+vs2015配置

    opencv下载地址 www opencv org 下载opencv3 1版本 其实是个压缩文件zip 然后解压 解压文件说明 build 里是各平台的jar dll sources 是源文件 头文件 框架等等 设置环境变量 右键我的电脑
  • R语言介绍

    1 R的统计计算和绘图功能十分强大 2 R是一种区分大小写的解释型语言 R的赋值符号是 lt 而不是传统的 号 3 x lt rnorm 5 表示了一个名为x的向量对象 它包含5个来自标准正态分布的随机偏差 4 注释是有 开头 再 之后的任
  • 使用canvas进行图片压缩(前端图片压缩核心处理)

    一 原理 实际上就是利用canvas进行重新绘制 1 先将图片的file文件转成baseURL 2 创建一个image标签去接收文件获取图片的宽高和比例 3 创建canvas画布设置画布的大小 4 将图片绘制到canvas上面 5 对can
  • vue-json-viewer展示JSON内容

    文章目录 01 前言 02 接口内容预处理 03 json viewer使用 01 前言 最近写的一个小案例 需要将接口返回的JSON内容显示在页面上 要求是要和控制台返回的JSON内容一样能点击展开显示或者关闭 当时只知道处理内容格式 后
  • [AHK]输入法状态提示,中文状态提示“中”,英文状态提示“EN”

    输入法状态提示 中文状态提示 中 英文状态提示 EN 切换中英文状态的时候 或者用鼠标切换到另一个编辑窗口的时候再次提示 循环如此 功能 输入法状态提示 环境 win10 搜狗输入法 输入法状态切换用默认的shift键 作者 sunwind
  • 【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作

    目录 1 NumPy 基础概述 1 1 NumPy的主要特点和功能 1 2 NumPy 安装和导入 2 Numpy 数组 2 1 创建NumPy数组 2 2 数组的形状和维度 2 3 数组的数据类型 2 4 访问和修改数组元素 3 数组操作
  • s7300的db块详细说明_s7-300与s7-200的mpi通信中db块的详细使用

    哪位有s7 300与s7 200的mpi通信中db块与v区对应详细资料 另外我想问一下想用组态软件与s7 300做mpi通信 然后用e277模块与s7 300做dp通信同时组态软件也能访问s 200不知道可不可以 硬 软件组态方面应该怎样连
  • vim的超详细使用方法

    文章目录 vim的四种模式 命令模式详解 移动光标 快速定位光标 复制 粘贴 剪切和删除 撤销和恢复 编辑模式详解 底行模式详解 保存和退出 文件内容的替换 显示行号 paste 查找和搜索 可视化模式 批量注释 批量去注释 vim是史上最
  • VC6.0无法安装,老是未响应

    今天我安装VC6 0 然后发现老是安装的进候 刚进去就程序未响应 特别的郁闷 弄了好多次 开始是怀疑是安装程序的问题 后来我换了一个版本 还是不可以 最后想想可能是因为我的WINDOWS分区的原因 因为我的系统本身是VISTA的 后来装双系
  • 利用傅立叶变换进行图像处理的代码演示

    前面有篇文件介绍过使用DCT 离散余弦 变换进行图像处理的例子 Matlab一探DCT IDCT变换在图像压缩中的应用 tugouxp的专栏 CSDN博客绝大多数图像都有一个共同特征 平坦区域和内容缓慢变化的区域占据一幅图像的大部分 而细节
  • Win11蓝屏代码IRQL NOT LESS OR EQUAL的处理方法

    蓝屏错误IRQL NOT LESS OR EQUAL是用户常见的系统故障了 升级到Win11新系统也遇到了同样的问题 那么Win11蓝屏问题IRQL NOT LESS OR EQUAL要如何解决 下面就来看看小编整理的解决办法 什么是 IR
  • Java 8: 元空间(Metaspace)

    前言 很多开发者都在其系统中见过 java lang OutOfMemoryError PermGen space 这一问题 这往往是由类加载器相关的内存泄漏以及新类加载器的创建导致的 通常出现于代码热部署时 相对于正式产品 该问题在开发机
  • 解决报错:错误1130- Host xxx is not allowed to connect to this MariaDb server

    在云服务器上面搭建了MariaDb MariaDB是MySQL源代码的一个分支 但是远程链接不上 首先 你要确保服务器安全组3306端口已经开放 在确保端口开放的情况下 如果出现错误代码1130 Host xxx is not allowe
  • SuperPoint 论文详解

    SuperPoint 该论文是 magic leap 公司在18年的一篇工作 而且提供了代码 基于 pytorch 的 不过遗憾的是训练代码和相应的渲染的训练数据没提供 主要思路 本文提出了一个自监督的方式去训练网络来提取特征点以及计算描述
  • 【LoadRunner】解决LR11无法录制Chrome浏览器脚本问题

    LoadRunner 解决LR11无法录制Chrome浏览器脚本问题 LoadRunner录制脚本时 遇到高版本的IE FireFox 或者Chrome浏览器 会出现无法录制脚本的问题 下面就来讲一下如何利用LR自带的wplus init
  • tflearn anaconda 安装过程记录

    准备工作 gcc升级为4 8 2glibc升级为2 18 opt xxx xxx components ficlient bigdata env 里加入 export LD LIBRARY PATH usr local lib usr lo
  • SpringBoot调取OpenAi接口实现ChatGpt功能

    很高兴和大家分享我实现的一个小项目 利用 Spring Boot 实现了一个 ChatGpt 对话系统 在本文中 我将详细介绍这个项目的实现步骤 以及代码实现 什么是 ChatGpt ChatGpt 是一种基于 GPT 技术的对话系统 能够
  • 剑指offer45 把数组排成最小的数

    目录 题目链接 解法1 调用sort 解法2 冒泡排序的扩展 题目链接 链接 其实这道题 大概看完就知道是一个排序的问题 无非就是数组中的元素以一个合适的位置排好序 这样从头加到尾 组成的整体数字最小 题目中也暗示你排序问题了 个人捉摸了一
  • linux系统启动过程(方便记忆步骤&详细步骤)

    linux系统的启动过程 大致可以分为五个阶段 内核的引导 运行init 系统初始化 建立终端 用户登录系统 大致步骤 1 内核的引导 操作系统 gt boot 2 运行init 操作系统 gt boot gt init进程 配置文件 et