2021年3月-第01阶段-Linux基础-Linux系统的启动流程

Linux系统的启动流程

理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进而解决问题。

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

上图为Linux操作系统启动流程

1.加载BIOS

计算机电源加电质检,首先加载基本输入输出系统(Basic Input Output System,BIOS),BIOS中包含硬件CPU、
内存、硬盘等相关信息,包含设备启动顺序信息、硬盘信息、内存信息、时钟信息、即插即用(Plug-and-Play,PNP)
特性等。加载完BIOS信息,计算机将根据顺序进行启动。

2.读取MBR

读取完BIOS信息,计算机将会查找BIOS所指定的硬盘MBR引导扇区,将其内容复制到0x7c00地址所在的物理内存中。
被复制到物理内存的内容是Boot Loader,然后进行引导。

3.GRUB引导

GRUB启动引导器是计算机启动过程中运行的第一个软件程序,当计算机读取内存中的GRUB配置信息后,会根据其配置
信息来启动硬盘中不同的操作系统。

4.加载Kernel

计算机读取内存映像,并进行解压缩操作,屏幕一般会输出“Uncompressing Linux”的提示,当解压缩内核完成后,屏幕
输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的
初始化函数并初始化各种设备,完成Linux核心环境的建立。

5.设定Inittab运行等级

内核加载完毕,会启动Linux操作系统第一个守护进程init,然后通过该进程读取/etc/inittab文件,/etc/inittab文件
的作用是设定Linux的运行等级,
Linux常见运行级别如下:
•0:关机模式
•1:单用户模式
•2:无网络支持的多用户模式
•3:字符界面多用户模式
•4:保留,未使用模式
•5:图像界面多用户模式
•6:重新引导系统,重启模式

6.加载rc.sysinit

读取完运行级别,Linux系统执行的第一个用户层文件/etc/rc.d/rc.sysinit,该文件功能包括:设定PATH运行变量、设定
网络配置、启动swap分区、设定/proc、系统函数、配置Selinux等。

7.加载内核模块

读取/etc/modules.conf文件及/etc/modules.d目录下的文件来加载系统内核模块。该模块文件,可以后期添加或者修改及删除。

8.启动运行级别程序

根据之前读取的运行级别,操作系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。其中
以S开头表示系统即将启动的程序,如果以K开头,则代表停止该服务。S和K后紧跟的数字为启动顺序编号。

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

上图为运行级别服务

9.读取rc.local文件

操作系统启动完相应服务之后,会读取执行/etc/rc.d/rc.local文件,可以将需要开机启动的任务加入到该文件末尾,系统
会逐行去执行并启动相应命令。

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

开机运行加载文件

10.执行/bin/login程序

执行/bin/login程序,启动到系统登录界面,操作系统等待用户输入用户名和密码,即可登录到Shell终端,输入用户名、
密码即可登录Linux操作系统,至此Linux操作系统完整流程启动完毕。

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

系统登陆界面

拓展阅读@

扫一扫下面的二维码,关注我们,获取更多精彩活动资讯,有好礼相送哦~

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【腾讯云】618云上GO!云服务器限时秒杀,1核2G首年95元!

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【华为云】特惠专区,多款产品限时特价!

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【阿里云】上新必买抢先知,劲爆优惠不错过!

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【七牛云】优惠专区,多款云产品限时抢购!

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【又拍云】免费CDN专区,10G免费大放送!

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

【知识星球】一个资料分享的站点,各种学习资料,随时分享

2021年3月-第01阶段-Linux基础-Linux系统的启动流程

微信赞助; 微信打赏 支付宝打赏

免责声明:本文所有内容均为网上征集,仅供学习交流,整理文章用于传播相关技术,如有侵权行为,请联系删除

[En]

Disclaimer: all the contents of this article are collected on the Internet, only for learning and communication, organize the article for the dissemination of related technology, if there is any infringement, please contact to delete

Original: https://www.cnblogs.com/liangjing-pseudonym/p/Learning-Linux.html
Author: 敏宝宝
Title: 2021年3月-第01阶段-Linux基础-Linux系统的启动流程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524445/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL8主从复制

    环境介绍 主服务器配置 修改my.cnf配置文件 在/etc/my.cnf 添加如下信息 登录主服务器给从服务器授权 登陆mysql 创建user授权 备注:rootslave就是…

    Linux 2023年6月14日
    0117
  • 如何在EMACS 设置格式

    如何设置Emacs的各种模式, 这个教程要观摩一下的 http://www.emacswiki.org/emacs/IndentingC#toc1 Original: https:…

    Linux 2023年6月14日
    093
  • c++的bind使用方法

    c++的bind使用方法 除了容器有适配器之外,其实函数也提供了适配器,适配器的特点就是将一个类型改装成为拥有子集功能的新的类型。其中函数的适配器典型的就是通过 std::bind…

    Linux 2023年6月14日
    075
  • PHP array_reduce()

    array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: 示例二:…

    Linux 2023年6月7日
    096
  • powershell 编写的tui界面脚本《电壳别名宝》

    中文名: 《电壳别名宝》 English name: 《Power Alias》 powershell 编写的tui界面脚本。 用途:保存容易记住的别名(支持中文),保存linux…

    Linux 2023年6月14日
    084
  • MybatisPlus——全网配置最全的代码生成器

    MybatisPlus代码生成器 这里讲解的是新版 (mybatis-plus 3.5.1+版本),旧版不兼容 官方文档:https://baomidou.com/(建议多看看官方…

    Linux 2023年6月7日
    087
  • shell笔记

    shell脚本学习笔记 1.Shell入门简介 Shell是操作系统的最外层, Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell通过提示您输入,向操作…

    Linux 2023年6月7日
    059
  • rm命令弱爆了!

    大家好,我是良许。 创建、删除和修改文件是用户在 Linux 系统中执行的非常常见操作。大家都知道,在 Linux 系统里使用 rm 命令删除单个文件时,几乎一瞬间就完成了。但是如…

    Linux 2023年5月27日
    073
  • Docker镜像管理基础

    Docker镜像管理基础 1、镜像的概念 镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。 docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启…

    Linux 2023年6月7日
    0102
  • 一文让你明白Redis持久化

    网上虽然已经有很多类似的介绍了,但我还是自己总结归纳了一下,自认为内容和细节都是比较齐全的。 文章篇幅有 4k 多字,货有点干,断断续续写了好几天,希望对大家有帮助。不出意外地话,…

    Linux 2023年5月28日
    075
  • Centos7安装Docker

    一、docker运行流程 举个例子你想使用MySQL镜像,那么执行docker pull 下载镜像的时候 首先它会在本地仓库进行运行,如果本地仓库有你想要的MySQL镜像 那么它会…

    Linux 2023年6月6日
    071
  • Supervisor进程管理

    Supervisor 介绍 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它…

    Linux 2023年6月8日
    0106
  • redis 安装和命令

    转自:https://blog.csdn.net/hzlarm/article/details/99432240 在线安装: 查看使用的默认端口: 查看redis服务器的状态: 重…

    Linux 2023年5月28日
    067
  • CVE-2020-3580漏洞复现

    一、前言 前段时间碰到了该漏洞,记录一下! 二、漏洞介绍 该漏洞为思科ASA设备和FTD设备的未授权反射型XSS漏洞,影响版本如下: Cisco ASA Software 9.6 …

    Linux 2023年6月8日
    088
  • 文件夹图标修改软件 FolderIco

    本来文件夹图标是可以自定义的,只要找好图片,在软件中把图片格式转换成ico,再在文件夹属性中设置图标就可以了。 但是我发现转换出来的ico不够清晰,只有256*256,在大图标模式…

    Linux 2023年6月6日
    096
  • Linux_shell基础

    注意, 这里在运行时一定要写成./test.sh,而不是 test.sh, 运行其它二进制的程序也一样,直接写 test.sh,Linux 系统会去 PATH(环境变量) 里寻找有…

    Linux 2023年5月27日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球