IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux系统启动过程(基于Systemd)全揭晓-尚文网络xUP楠哥 -> 正文阅读

[系统运维]Linux系统启动过程(基于Systemd)全揭晓-尚文网络xUP楠哥

进Q群11372462领取专属报名福利!

#说在前面

从我2009年开始学习研究Linux系统开始,Linux系统管理进程及启动过程已经过2次变化,特别是在2016年云计算、大数据等到来,Linux系统要在数据容量上、文件系统上、进程管理上要贴合于这些改变IT行业变革的产物,势必要做出相应改变。那么Linux系统从老版本如RHEL&Centos 4.x | 5.x | 6.x的基于Sysv的init进程这种有些老迈的管理方式演变到从Linux7.x开始基于Systemd方式管理。今天我们重点再讨论下基于Systemd方式管理的Linux系统启动过程全揭晓,Let’s go !

#说明Linux8启动过程

  • 主机上电后,经过BIOS或者UEFI的方式开始主机自检(也叫POST),开始初始化部分硬件;
  • 根据BIOS或者UEFI配置的顺序,搜索磁盘的主引导记录信息(MBR);
  • 接下来从磁盘中读取启动加载器,之后将系统控制权交给启动加载器;在Linux8系统中,该启动加载器叫做GRUB,版本v2(以下简称GRUB2);通过grub2-install命令配置;
  • GRUB2会从/boot/grub2/grub.cfg这个文件中加载配置并显示对应的菜单,从中选择要启动的内容,通过grub2-mkconfig命令进行配置并生成grub.cfg文件;对于Linux8.x系统内核文件,放在了Linu系统中/boot目录下有个对应内核版本的vmlinuz-4.18.0-193.el8.x86_64文件,具体如下:
    在这里插入图片描述
    那么,当我们从重新启动Linux8系统引导选择界面的时候,如下图,之所以能够看到有如下选择,是因为在/boot/loader/entries目录下有三个conf配置文件,表明GRUB引导界面的选择,具体如下:
    在这里插入图片描述在这里插入图片描述
  • 接下来,选择内核后,从磁盘加载内核和initramfs文件并放到内存中;其中,内核文件我们已经知道了,就是/boot/vmlinuz-4.18.0-193.el8.x86_64,那么,initramfs文件又是啥呢,initramfs文件是一个存档,包括启动时所必须的硬件的内核模块、初始化脚本等;对于Linux8.x系统内核文件,放在了Linu系统中/boot目录下有个initramfs-4.18.0-193.el8.x86_64.img,具体如下:
    在这里插入图片描述
    我们可以用lsinitrd命令查看下内核里都包含什么样的文件,具体如下:
    在这里插入图片描述
  • 接下来,内核在Initramfs中找到驱动的硬件,初始化硬件并作为进程ID(PID)为1,从initramfs执行/sbin/init,指向Systemd进程;
  • 下一步,initramfs中的Systemd实例会执行initrd.target目录的单元,这其中就会包括磁盘上的root文件系统,以只读的方式挂载到/sysroot目录;
  • 此时,内核将root文件系统从initramfs进行切换到/sysroot,作为root根文件系统;
  • 最后,systemd根据默认的目标,启动符合该目标的配置,自动解决一些依赖关系,最终,进入交互式登录界面,我们就看到了一个Linux系统图形。
    在这里插入图片描述

#说在最后

相信小伙伴们已经Get到了Linux系统的启动过程,只有当我们理解了启动过程,对于一些平时运维遇到的问题会从容的进行troubleshoot排错,例如恢复用户口令、因为fstab配置文件导致正常的磁盘分区或者卷无法正常启动的解决办法。

进Q群11372462领取专属报名福利!

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 12:01:58  更:2022-05-05 12:04:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:19:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码