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)

大家都在看

  • linux 文件查找详解

    文件查找 介绍:在文件系统上查找符合条件的文件。 文件查找: 非实时查找(数据库查找):locate 实时查找:find 1、locate locate 查询系统上预建的文件索引数…

    Linux 2023年6月7日
    0101
  • 解决dpkg -i后自动安装依赖的问题

    自ubuntu14.04后,运行 若有未安装的依赖会先标记,再运行 自动将标记的依赖安装,再安装包即可 参考引用: https://qastack.cn/ubuntu/40011/…

    Linux 2023年6月13日
    091
  • python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分…

    Linux 2023年6月14日
    0136
  • CentOS系统磁盘目录空间调整

    前几天装了几台linux服务器,安装操作系统的时候,选择了默认磁盘分区,结果导致后面主目录分区空间不够用了,需要把其他分区的空间划分给主分区一点。 下面以CentOS6.5演示: …

    Linux 2023年6月6日
    097
  • JavaWeb创建一个公共的servlet

    对于初学者来说,每次前端传数据过来就要新建一个类创建一个doget、dopost方法,其实铁柱兄在大学的时候也是这么玩的。后面铁柱兄开始认真了,就想着学习点容易的编程方式,其实说白…

    Linux 2023年6月13日
    094
  • VMware服务关闭后一定要重启

    重要的事情说三遍:服务暂时关闭记得重启,服务暂时关闭记得重启,服务暂时关闭记得重启!!! VMware服务由于安装补丁的需要我暂时把服务关闭了,于是我遇到了尴尬的一幕,于是乎发现上…

    Linux 2023年6月7日
    0119
  • 泛微 OA 前台 GetShell 复现

    自行搭建环境: 漏洞路径: /weaver/weaver.common.Ctrl/.css?arg0=com.cloudstore.api.service.Service_Chec…

    Linux 2023年5月28日
    096
  • Linux快速入门(七)效率工具(Vim)

    Vim编辑器 所有的 Linux系统都会内建一个 Vi文本编辑器,而 Vim是从 Vi发展出来的一个高度可配置的文本编辑器,旨在高效的创建和更改任何类型的文本,它还可以根据文件的扩…

    Linux 2023年6月6日
    099
  • RPA纳税申报机器人

    bash;gutter:true;1、机器人开始工作2、机器人打开企业内部税务平台,自动下载报税底表3、机器人自动登录地方税务局,填写报税数据手工报税10分钟/3个表 VS 机器人…

    Linux 2023年6月7日
    077
  • gitlab部署

    Gitlab部署 Gitlab部署 Gitlab的基本使用 新建项目 使用命令行的方式管理项目 上传文件 新建分支 拉取文件 //配置yum源 [root@localhost ~]…

    Linux 2023年6月13日
    0104
  • Ubuntu报Command ‘firewall-cmd’ not found, but can be installed with: apt install firewalld错误解决方案

    当输入 firewall-cmd –list-ports 查看端口信息时报错 报错的原因可能是没有安装firewall,安装命令为: yum install firewalld …

    Linux 2023年6月7日
    094
  • 利用卷积神经网络处理cifar图像分类

    这是一个图像分类的比赛CIFAR( CIFAR-10 – Object Recognition in Images ) 首先我们需要下载数据文件,地址: http://…

    Linux 2023年6月6日
    0114
  • Feign 进行rpc 调用时使用ribbon负载均衡源码解析

    转载请注明出处: Feign客户端接口的动态代理生成是基于JDK的动态代理来实现的,那么在所有的方法调用的时候最终都会走InvocationHandler接口的实现,默认就是Ref…

    Linux 2023年6月14日
    072
  • Linux——配置主从数据库服务

    主从数据库 Linux中,数据库服务有三种:互为主主,互为主从,一主一从(主从数据库) 服务名 mariadb 协议名 mysql 进程名称 mysqld 端口号 3306 一、改…

    Linux 2023年5月27日
    0109
  • Golang 实现 Redis(9): 使用GeoHash 搜索附近的人

    本文是使用 golang 实现 redis 系列的第九篇,主要介绍如何使用 GeoHash 实现搜索附近的人。 搜索附近的POI是一个非常常见的功能,它的技术难点在于地理位置是二维…

    Linux 2023年5月28日
    0111
  • Conky配置(中文备注)

    conkyrc地址:~/.conkyrc 需要注意的是,因为每个人的网卡都不同,所以在网络部分,例如 downspeed wlp0s20f3 ,后面的 wlp0s20f3 每个人都…

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