硬件基础

一块硬盘,它起始的一部分扇区为主引导扇区,包括 MBR(主引导纪录)和 DPT(分区表,您可以阅读“分区概念”一节中相关内容)

每个分区起始的一部分扇区,为分区引导扇区。

在分区引导扇区之后的部分,为文件系统的索引,文件系统通过它定位文件在硬盘上的位置。不同的文件系统采用不同的索引,例如 FAT 文件系统使用文件分配表和目录区。

绝大多数操作系统,对硬盘的读写操作,通过文件系统来完成,因此引导扇区中的内容,我们不能够在文件系统中进行操作,而需要专用软件,比如引导管理器。

我们对文件进行修改后,操作系统会将文件系统索引中的内容同步。

系统引导流程

  1. 系统启动时,首先引导至 MBR,将控制权移交安装在 MBR 中的引导管理器4
  2. 引导管理器装载自身[39]
  3. 引导管理器读取分区中的配置文件,并按配置文件中预设的参数运行5
  4. 引导管理器根据您的选择,可能会有如下活动
    • 加载内核,启动 Linux 系统检查活动分区,并引导它
    • Windows 系统:读取相应分区的引导扇区,将控制权移交该扇区中的引导管理器

4

Windows 使用 NTLDR,Linux 通常用 Grub

5

例如,Grub 读取“/boot/grub/menu.lst”文件中内容,将可引导系统通过菜单显示

Linux 系统在安装 Grub 时,会提问您安装在 MBR 或者分区引导扇区中。如果将 Grub 安装在分区引导纪录中,您必须确保 MBR 中的引导管理器能够正确的引导至分区引导扇区。

如果您在 MBR 中使用的是 Windows 的引导管理器 NTLDR,完成这件工作会非常困难,因而我们推荐您使用 Grub。



[39] Grub 先装载 MBR 中的 stage1,通过 stage1 来装载文件系统中的 stage2,显示菜单和 Shell 等待用户。
  有时 stage1 不能识别 stage2 所在分区的文件系统,这就需要装载 stage1.5 来连接 stage1 和 stage2