为什么 Linux 分区的引导扇区是空的?

为什么 Linux 分区的引导扇区是空的?

我知道Linux系统主要使用GRUB 2作为存储在GPT硬盘主引导记录中的引导加载程序。但是,每个分区都有自己的卷引导记录或分区引导记录,并且从这个链接,我找到了以下信息

引导扇区是硬盘分区上的第一个扇区,扩展分区除外,扩展分区只是其他分区的容器。引导扇区提供 512 字节的空间,旨在包含能够在此分区上启动操作系统的代码。格式化的 DOS、Windows 和 OS/2 分区的引导扇区正是这样做的(此外,它们还包含一些有关文件系统结构的基本数据)。

相比之下,Linux 的引导扇区 分区为空(即使在其上创建文件系统之后)。因此,Linux 分区无法自行引导,即使它包含内核和有效的根文件系统。具有有效起始代码的引导扇区在其最后两个字节 (AA55) 中包含与 MBR 相同的幻数。

为什么 Linux 不在分区引导扇区写入任何内容?

答案1

你错了,它没有,你只需要告诉grub-install它写在那里。

完成此操作后,您可以从该引导扇区进行链式引导加载。

在新设置中默认不写入分区的主要原因是您的 BIOS 不会在那里找到它,您仍然需要在启动光盘的引导扇区中使用一些引导加载程序。

然而这样做有一些优点,例如,如果您安装了两个 Linux 版本,那么未写入引导扇区的版本的升级内核将不会导致新版本的 grub 菜单更新(因为您必须重新启动另一个版本并update-grub在那里运行)。如果您链接加载该版本,则在第一个菜单中选择启动该版本后,它将通过更新的(第二个)grub 菜单。

相关内容