当前位置: 首页 > news >正文

Linux 系统的启动流程

Linux 系统的启动流程是一个复杂的过程,涉及多个阶段和组件。以下是 Linux 系统启动的详细流程:

1. BIOS/UEFI 启动

  • BIOS(Basic Input/Output System)UEFI(Unified Extensible Firmware Interface) 是计算机硬件启动的第一阶段。
    • BIOS:传统的启动方式,主要用于旧式硬件。BIOS 会进行硬件自检(POST,Power-On Self Test),检测硬件是否正常工作,并加载启动设备(如硬盘)上的引导记录。
    • UEFI:现代的启动方式,支持更大的启动分区和更安全的启动过程。UEFI 也会进行硬件检测,并从启动设备中加载 EFI 引导程序。
    • Legacy 是一种启动模式,用于兼容旧式硬件和软件,通常依赖 BIOS 来完成启动过程。

2. MBR/GPT 引导记录

  • MBR(Master Boot Record)GPT(GUID Partition Table) 是硬盘上的引导记录。
    • MBR:位于硬盘的第一个扇区(512 字节),包含启动代码和分区表。MBR 中的引导程序会加载活动分区的引导程序。
    • GPT:用于大容量硬盘(大于 2TB),支持更多的分区。GPT 引导程序通常位于 EFI 系统分区(ESP)中。

3. Bootloader(引导程序)

  • GRUB(GRand Unified Bootloader) 是最常用的 Linux 引导程序。
    • GRUB 阶段 1:从 MBR 或 ESP 中加载 GRUB 的第一阶段代码。
    • GRUB 阶段 2:加载 GRUB 配置文件(/boot/grub/grub.cfg),显示启动菜单,允许用户选择操作系统或内核版本。
    • GRUB 阶段 3:加载选定的内核和初始化内存盘(initrd)。

4. Kernel(内核)启动

  • 内核加载:GRUB 将 Linux 内核(通常是 /boot/vmlinuz)和初始化内存盘(initrd)加载到内存中。
  • 内核初始化
    • 硬件检测:内核会检测系统硬件并加载相应的驱动程序。
    • 初始化进程:内核启动后,会创建第一个用户空间进程,通常是 initsystemd

5. Systemd 或 Init 系统

  • Systemd(现代 Linux 系统的默认初始化系统)或 SysVinit(传统的初始化系统)负责启动用户空间的进程和服务。
    • Systemd
      • Target:Systemd 使用目标(target)来定义启动级别,例如 multi-user.target(多用户图形界面)或 runlevel3.target(多用户命令行)。
      • Service:Systemd 管理各种服务(如网络服务、SSH 服务等),通过 .service 文件定义服务的启动条件和行为。
      • Unit:Systemd 使用单元(unit)来管理各种资源,包括服务、设备、挂载点等。
    • SysVinit
      • Runlevel:SysVinit 使用运行级别(runlevel)来定义系统的启动状态,例如 runlevel 3(多用户命令行)或 runlevel 5(多用户图形界面)。
      • Init Script:SysVinit 使用启动脚本(位于 /etc/init.d/)来管理服务的启动和停止。

6. 用户登录

  • 登录管理器:Systemd 或 SysVinit 启动登录管理器(如 gettylightdm),允许用户输入用户名和密码进行登录。
  • 用户会话:登录后,系统会启动用户会话,加载用户配置文件(如 .bashrc.profile 等),并启动用户的应用程序和服务。

相关文章:

  • 树莓派超全系列教程文档--(30)autoboot.txt介绍
  • 2000-2017年各省发电量数据
  • 【Java学习笔记】关键字汇总
  • 嵌入式软件--stm32 DAY 1
  • 每日算法-链表(23.合并k个升序链表、25.k个一组翻转链表)
  • 用Prompt 技术【提示词】打造自己的大语言智能体
  • 第十六届蓝桥杯大赛软件赛省赛 C++ 大学 B 组 部分题解
  • UEFI Spec 学习笔记---12 - Protocols —CONSOLE SUPPORT(一)
  • 网络安全知识点2
  • 前端api(请求后端)简易template
  • 多模态模型 Grounding DINO 初识
  • HFSS(李明洋)学习记录1
  • 算法:双指针(快慢指针|对撞指针)、快排、模拟、二分、贪心
  • 4月17号
  • Ubuntu利用docker搭建Java相关环境问题记录
  • 影视产业链中的律师角色以及合规风控要点
  • Electricity Market Optimization 探索系列(VII)- 直流潮流方程的推导及例题
  • 自然语言处理(NLP)领域大图
  • 速盾:高防CDN访问多了会影响源站吗?
  • 闭坑-- `a-auto-complete` 组件中的 `options` 数据存在重复
  • 商务部:4月份以来的出口总体延续平稳增长态势
  • 13家券商一季报出炉:超七成业绩预喜,财通、湘财、第一创业下滑
  • 我国首个大型通用光谱望远镜JUST在青海启动建设
  • 影子调查丨起底“三无”拖拉机产销链:出口掩内销,监管如虚设
  • 视频丨伊朗阿巴斯港一处油罐发生高强度爆炸:造成大面积破坏,伤亡不明
  • 快捷公寓单间不足5平方米?公寓方:预订平台图片只是参考,已退房款