当前位置:首页>Linux>Linux启动过程解析

Linux启动过程解析

  • 2026-10-10 07:41:56
Linux启动过程解析

1. 开机

  • 计算机开机时启动引导过程。
  • 系统硬件初始化,并将控制权交给BIOS或UEFI。
  • BIOS/UEFI存储在非易失性存储器中,并执行开机自检(POST)以检查硬件完整性。

2. BIOS/UEFI 初始化

  • 检测并初始化硬件设备,如 CPU、内存、磁盘驱动器和外设。
  • 确定可启动设备(如硬盘、USB 或网络)。
  • 一旦硬件检测完成,控制权将移交给引导加载程序(Bootloader)。

3. 启动设备选择

  • BIOS/UEFI 根据配置顺序选择启动设备。
  • 启动设备包含引导加载程序(例如 GRUB)。
  • 系统读取启动扇区以定位引导加载程序。

4. GRUB(引导加载程序)

  • GRUB(GRand Unified Bootloader)从所选设备加载。
  • 读取配置文件 /etc/grub2.cfg。
  • 显示启动菜单(如果已配置),以选择所需的内核或操作系统版本。
  • 将选定的Linux内核加载到内存中。
  • 加载启动所需的基本内核模块和库。

5. 内核初始化

  • Linux 内核解压自身并初始化系统组件。
  • 检测硬件组件并挂载根文件系统(/)。
  • 启动第一个用户空间进程——通常是systemd。
  • 从内核模式切换到用户模式。

6. 执行systemd

  • systemd 是用户空间中的第一个进程(PID 1)。
  • 负责初始化所有其他服务和目标。
  • 从 /etc/systemd/system/ 读取配置文件。
  • 激活目标文件,如:
  • basic.target
  • multi-user.target
  • getty.target
  • ssh.service

7. 运行启动脚本

  • 执行系统范围和用户特定的启动脚本。
  • 例如:
  • /etc/profile
  • /systemd-logind
  • ~/.bashrc
  • 这些脚本用于设置用户环境和后台服务。

8. 用户登录

  • 一旦所有启动脚本和目标执行完毕,登录界面将出现。
  • 用户现在可以通过终端、GUI或SSH登录。
  • 系统现在处于完全可运行的多用户状态。

最新文章

随机文章