Linux Kernel (一) 计算机启动流程简述

一、核心硬件组件

计算机启动过程始于主板上的以下几个核心部件:

  • CPU (中央处理器)
  • RAM (内存)
  • BIOS (基本输入输出系统,存储在 EEPROM 中)
  • 硬盘

二、启动流程

1. 固件初始化

  • BIOS 中的指令被加载到 RAM 中执行。
  • CPU 读取硬盘的第一个扇区,即 主引导记录 (Master Boot Record, MBR),并将其复制到 RAM 中。

2. 引导加载程序 (Bootloader)

  • 固件 (Firmware) 指示 CPU 开始运行其中的引导程序。
  • Bootloader 包含了分区表文件系统的基本信息。
  • 它的核心任务是将操作系统内核 (Kernel) 加载到 RAM 中,并通过设置 CPU 的指令指针来启动内核运行。

3. 内核与初始化

  • 内核 是操作系统的核心,负责管理进程通信、硬件驱动 (驱动程序进程)、系统服务进程等。

  • 内核自身不直接执行应用程序,而是启动初始化程序 (如 systemdinit)。

  • 初始化程序会根据配置文件(如 /etc/fstab挂载必要的文件系统。

    我的/etc/fstab文件:

    # Static information about the filesystems.
    # See fstab(5) for details.
    
    # <file system> <dir> <type> <options> <dump> <pass>
    # /dev/nvme0n1p8
    UUID=980ed768-169c-40fd-a098-d5a37d0df64e       /               ext4            rw,relatime     0 1
    
    # /dev/nvme0n1p1
    UUID=A5EB-573A          /efi            vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro   0 2
    
    # /dev/nvme0n1p9
    UUID=899dca01-0a2f-4fc9-bcfb-c5ce592f32b9       /home           ext4            rw,relatime     0 2
    
    /swapfile               none            swap            defaults        0
    

    这个文件中的第一条记录把 /dev/nvme0n1p8 这个分区挂载为根目录

    第二条记录把 /dev/nvme0n1p1 挂载为 boot 目录

三、典型硬盘分区

一个常见的 Linux 系统硬盘分区布局可能如下:

  1. 第一个分区:通常包含 Bootloader 和内核映像 (Boot Partition)。
  2. 第二个分区:根目录所在分区,包含操作系统主体文件 (Root Partition)。=
posted @ 2025-12-25 23:38  BorisDimitri  阅读(17)  评论(0)    收藏  举报