引导加载程序安装在哪里?

Tim*_*Tim 19 bootloader

引导加载程序,例如 Grub,一般安装在哪里?

当我在磁盘的不同分区上与 Windows 一起安装 12.04 时,我遇到了“用于引导加载程序安装的设备”的选项。如果我理解正确的话,就是指定在哪里安装引导加载程序Grub,

我在网上发现是指定包含操作系统分区的磁盘,而不是磁盘上的任何分区。例如磁盘 sda,而不是分区 sda1、sda2。

问题:

我想知道引导加载程序实际安装在磁盘上的什么位置?

它是否安装在操作系统和个人数据的任何现有分区上,或者它是否有自己的分区,例如从 Ubuntu 的系统监视器也可以看到?

感谢致敬!

njs*_*jsg 20

引导加载程序需要安装在 BIOS 正在寻找要引导的东西的地方。为简单起见,您通常有一个磁盘驱动器,您的计算机从中启动,您在该磁盘中安装了 GNU/Linux 系统,引导加载程序也会到达那里。

您需要从引导加载程序中获得的唯一内容是:

  • BIOS 能够找到它
  • 它能够找到并引导您的操作系统(使用 Linux,您只需要引导加载程序以某种方式访问内核,如果您使用的是 initrd 映像。)

就这两点而言,您可以将其安装在更方便的位置以及 BIOS 会查找的位置。

BIOS 通常会在硬盘驱动器的主引导记录中查找引导加载程序,这是驱动器开头的一个小区域,您可以在其中放置一些要运行的代码。您还可以在分区的开头安装引导加载程序。

引导加载程序通常足够小以适应这些小区域,即使它们不适合,它们也必须在那里放置一些东西,以便 BIOS 引导引导加载程序。

lilo是一个简单的引导加载程序,安装在这些区域。grub有点大,所以你在这些区域安装一些代码,然后从磁盘分区加载更多的代码(grub所谓的“安装”,它的配置文件所在的位置,以及二进制代码,这通常设置为系统/boot分区,为方便起见,内核和 initrds 也放置在该分区中)。

在这种情况下,如果它提示您输入磁盘,这意味着它询问您应该grub安装哪个主引导记录,即您将从哪个磁盘引导计算机。grub 的那部分将只安装在磁盘 MBR 上。其余的可能被安装在同一个分区//boot/Ubuntu系统的您正在安装(和休息从Ubuntu的,找目录访问/boot/grub//grub/)。

  • 不,BIOS 在主板中 [在一个小的、可重写的内存芯片中](https://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory)。它处理底层硬件的东西,它处理计算机启动过程早期阶段的一些细节(比如启用/禁用/准备一些设备、寻找启动设备、管理网络启动和 [POST]( http://enwp.org/Power-on_self-test))。维基百科有一篇[关于启动过程的文章](http://en.wikipedia.org/wiki/Bootstrap_loader#Boot_sequence_on_standard_PC_.28IBM-PC_compatible.29),您可能会觉得有趣。 (4认同)
  • 不,MBR 不是分区。它实际上是存储分区表本身以及(可选)引导代码的地方。它不会出现在系统监视器中,因为它不是分区并且没有文件系统(至少如果“系统监视器”是这样的:http://www.dedoimedo.com/images/computers/wubi -ubuntu-system-monitor.jpg -- 已挂载的文件系统表)。它也不会出现在显示分区表的工具中。(它非常小,顺便说一句:只有 512 个字节。) (3认同)
  • 谢谢!那个小区域,即磁盘的MBR,是一个分区本身,还是其他分区?它是否显示在 Ubuntu 系统监视器中? (2认同)
  • BIOS 是否也安装在磁盘的 MBR 中?那它在哪里? (2认同)

Tak*_*kat 11

Grub2 是 Ubuntu 的标准引导加载程序。一如既往,我们更喜欢高度可配置的应用程序。Grub2 就是其中之一。Grub2 将完全安装到您告诉它的位置,无论这是否是一个好主意。

主引导记录

通常的情况是您引导计算机的驱动器的主引导记录(MBR)。这很可能是您的第一个(或唯一一个)硬盘/sda。这也将是安装 Grub2 时的默认选项。

其他驱动器

当然这个启动设备也可以是另一个硬盘、SSD,甚至是外接设备。然后,当 Grub2 询问您时,您必须告诉 Grub2 您希望它安装在哪里。

分区

需要将 Grub 安装到分区的情况很少见,但仍有可能,例如,如果您使用另一个引导加载程序并从分区引导记录中链加载 Grub。

其他引导加载程序

其他引导加载程序也位于 MBR 中。Grub2 将覆盖这些,因此您将无法再使用这些启动。Grub2 将负责引导您从引导时显示的菜单中选择的操作系统。

Grub 应用程序和设置

由于 Grub 应用程序和设置的大小,它们将不适合主引导记录。因此,它们将安装在其他地方(您也可以对其进行配置)。通常,默认情况下,Grub2 会/在您安装 Ubuntu的根分区上查找它的文件,但这也可以是您任何硬盘上的任何其他分区。

启动分区

有些人认为为此设置一个单独的专用引导分区是个好主意。但是您只在特殊情况下才需要它,例如,如果您安装了需要 GUID 分区表 (GPT) 来引导的 UEFI BIOS。


Eld*_*eek 5

这正是您在安装 Ubuntu 时选择安装它的位置。ubiquity安装期间会提示您输入此信息。见下文:

无处不在的 grub 安装

如果您运行的是旧系统(BIOS),这通常是您选择的驱动器的主引导记录或您选择安装它的分区的分区引导记录的不寻常选择。如果您正在运行具有统一可扩展固件接口的系统,则 grub 引导加载程序将安装在ESP 中。

资料来源:

https://help.ubuntu.com/community/Grub2/Installing

https://en.wikipedia.org/wiki/BIOS

https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

https://www.rodsbooks.com/efi-bootloaders/installation.html#accessing

经验