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启动过程 - RHEL7 -> 正文阅读

[系统运维]Linux启动过程 - RHEL7

启动过程与细节

  1. 按下电源键,开机自检。

    • 这个过程中的主导程序来自系统固件,传统的 BIOS 和后来的 UEFI
    • 该过程无论是Windows系统还是LInux系统均一致
    • 无法完成自检一般是硬件问题
  2. 自检完成后会通过 BIOS/UEFI 的配置按顺序搜索所有磁盘上的主启动记录(MBR),并从MBR中读取启动加载器

    • 在Windows下可能为 Windows Boot Loader,Linux下一般为 GRUB
    • 此时系统固件将主导权转交给启动加载器
  3. 启动加载器从磁盘加载配置,向用户显示用于启动的菜单

    • 配置文件位于:/etc/grub.d/, 、/etc/default/grub 和 /boot/grub2/grub.cfg
    • 看到启动菜单,说明前面的步骤均正常
  4. 启动加载器根据用户选择或系统默认的选项,加载内核和initramfs到内存中。

    • initramfs 是经过 gzip 的 cpio 归档,包含启动时所有必要硬件的内核模块,初始化脚本
    • 配置文件为:/etc/dracut.conf
    • 此时启动加载器将系统控制权转交给内核
  5. 对内核可以在 initramfs 中找到驱动的所有硬件,内核会初始化这些硬件。然后使用 PID 1 从 initramfs 执行 /sbin/init

    • 在RHEL7之后的版本中 /sbin/init 指向 /sbin/lib/systemd/systemd
    • 此时的启动还会包含 udevd 守护进程
    • initramfs 中的 systemd 实例会执行 initrd.target 目标的所有单元。包括在 /sysroot 上挂载的实际 root 文件系统
  6. 内核 root 文件系统从 initramfs root 文件系统切换到之前挂载到 /sysroot 上的系统 root 文件系统

    • systemd 会使用系统中安装的 systemd 副本自动重新执行
  7. systemd 从系统中配置的默认目标(图形界面或多用户),启动对应的单元

    • 默认目标可以通过 /etc/systemd/system/default.target , /etc/systemd/system 来配置

上面的过程,简单通俗一点概述就是
开机自检
–> 读MBR加载启动加载器Grub
–> 启动一个包含基本驱动的临时文件系统initramfs,主要是为了驱动基本硬件,为真正的根文件系统启动作准备
–> 准备好之后切换根文件系统
–> 切换后重新加载 systemd,然后启动后续的服务单元
–> 登录界面

可以手动干预的阶段

  1. 自检过程中 F2 或 Del (根据硬件厂商的定义)进入 BIOS/UEFI 配置硬件选项
  2. 正常加载 Grub 后通过 grub-shell 执行 grub 命令,启动菜单界面按 ‘c’ 进入
  3. 后续要么启动配置不正确被卡住,要么能正常执行到 login 界面

PS:(重要)不自己一条一条认真过脑理解和实践是真记不住。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:22:56  更:2022-09-15 02:25:18 
 
开发: 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 9:52:55-

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