3. 启动过程:引导加载程序

Linux 中的引导加载程序是什么

BIOS/UEFI 完成其任务后,它会将控制权移交给引导过程的下一阶段:引导加载程序。Linux 中的引导加载程序是一个小型程序,它将操作系统的内核加载到内存中,然后执行它。它充当系统固件和 Linux 内核之间的桥梁。

Linux 引导加载程序的作用

Linux 引导加载程序的主要职责是简单但至关重要的:

  • 操作系统选择:如果您设置了多重引导,它可以显示一个菜单以引导到各种操作系统,包括非 Linux 系统。
  • 内核选择:它允许您选择要加载哪个版本的 Linux 内核,这对于故障排除或测试非常有用。
  • 传递内核参数:它指定内核正确启动所需的重要参数。

最常见的 Linux 引导加载程序是 GRUB(GRand Unified Bootloader),您最有可能正在使用它。虽然存在 LILO、SYSLINUX 和 Coreboot 等其他引导加载程序,但本课程将重点介绍 GRUB。

GRUB 中常见的内核参数

引导加载程序的主要目标是加载内核,但它需要关于如何以及在哪里找到它的指令。这些指令以内核参数的形式提供。在启动过程中,您通常可以通过在 GRUB 菜单中按 'e' 键来查看或编辑这些参数。

以下是您会遇到的一些最常见的参数:

  • initrd - 指定初始 RAM 磁盘的位置,这是一个加载到内存中的临时根文件系统。我们将在下一课中更详细地介绍它。
  • BOOT_IMAGE - 定义要加载的内核映像文件的路径。
  • root - 指向实际根文件系统的位置。内核使用此路径来查找 init 进程。这通常由设备名称(例如 /dev/sda1)或 UUID 表示。
  • ro - 一个标准参数,指示内核最初以只读模式挂载根文件系统。这是一种安全措施,允许在进行任何更改之前运行文件系统检查。
  • quiet - 此参数会抑制大多数详细的启动消息,从而提供更简洁、不那么冗长的启动屏幕。
  • splash - 启用在引导过程中显示图形化启动屏幕,而不是文本消息。

登录以保存您的学习进度

登录

练习

实践出真知!这是一个实践实验室,用于加强您对 GRUB 引导加载程序及其配置的理解:

  1. 在 Linux 中自定义 GRUB2 引导菜单 - 练习修改 GRUB2 主配置文件以更改引导菜单设置并应用这些更改。

此实验室将帮助您在实际场景中应用这些概念,并建立对引导加载程序管理的信心。

测验

哪个内核参数可以确保您看不到启动消息?请用单个的、小写的英文字符串回答。