Show Table of Contents
E.2. GRUB
GNU GRand Unified Boot loader(GRUB)是启用在系统引导时选择要载入的安装的操作系统或者内核的程序。它还允许用户向内核传递参数。
E.2.1. 基于 BIOS 的 x86 系统中的 GRUB 和引导过程
这部分内容讨论了在引导基于 BIOS 的 x86 系统时 GRUB 扮演的特殊角色。要了解引导过程的全貌,请参考 第 F.2 节 “引导过程的详细介绍”。
GRUB 在下列阶段将自己载入内存:
- 使用 BIOS 将阶段 1 或者主引导装载程序从 MBR[16]读入内存主引导装载程序只在 MBR 中占用小于 512 字节磁盘空间,并可将阶段 1.5 或者阶段 2 载入引导装载程序。BIOS 无法读取分区表或文件系统。它初始化硬件、读取 MBR、然后完全依赖于第一阶段的引导装载程序来继续引导过程。
- 如果有必要,阶段 1.5 引导装载程序由阶段 1 引导装载程序读入内存。 某些硬件在进入第二阶段引导装载程序之前,要求一个中间步骤。当
/boot/分区处于硬盘的 1024 柱面之上,或者使用 LBA 模式时,这就会出现这种情况。阶段 1.5 引导装载程序位于/boot/分区或者是 MBR 和/boot/分区的一小部分空间里。 - 将阶段 2 或第二级的引导装载程序读入内存。 第二级引导安装程序显示 GRUB 菜单和命令环境。这个界面允许用户选择引导哪个内核或操作系统、将参数传递给内核、或者查看系统参数。
- 第二级的引导装载程序将操作系统或内核,以及
/boot/sysroot/里的内容读入内存。 GRUB 决定启动哪个操作系统或者内核后,它就会将其装入内存并将机器的控制权交给那个操作系统。
这个引导 Linux 的方法被称为直接载入,因为引导装载程序直接载入操作系统。引导装载程序和内核间没有互动。
其他操作系统使用的引导过程可能有所不同。例如,Microsoft Windows 操作系统,以及其他的操作系统,都使用 chain loading 的方式安装。在这种方式下,MBR 指向存放操作系统的分区的第一个扇区,找到所需的文件来引导操作系统。
GRUB 支持 direct 和 chain 安装这两种方式,这使它几乎可以引导任何操作系统。
警告
在安装过程中,微软的 DOS 和 Windows 安装程序完全覆盖了 MBR(主引导分区),这会破坏所有现有的引导装载程序。如果要创建一个双重引导系统,最好先安装微软的操作系统。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.