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

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

Grub 等引导加载程序一般安装在哪里?

当我在磁盘的不同分区上安装 Windows 和 12.04 时,我遇到了“引导加载程序安装设备”的选择。如果我理解正确的话,它是用来指定引导加载程序 Grub 的安装位置,

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

问题:

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

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

感谢致敬!

答案1

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

您真正需要从引导加载程序获取的东西只有以下几样:

  • BIOS 能够找到它
  • 它能够找到并启动你的操作系统(对于 Linux,你只需要引导加载程序不知何故访问内核和 initrd 映像(如果您使用的话)。

只要您掌握了这两点,您就可以将它安装在更方便的地方以及 BIOS 会寻找它的地方。

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

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

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

在这种情况下,如果它提示你磁盘,这意味着它会询问您应该在哪个主引导记录上grub安装,即您将从哪个磁盘启动计算机。 grub 的这一部分将仅安装在磁盘 MBR 上。其余部分可能安装在与您正在安装的 Ubuntu 系统相同的分区上//boot/其余部分从 Ubuntu 访问,查找目录/boot/grub//grub/)。

答案2

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

主引导记录

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

其他驱动器

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

分区

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

其他引导加载程序

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

Grub 应用程序和设置

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

启动分区

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

答案3

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

无处不在的 grub 安装

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

资料来源:

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

经验

答案4

命令lsblk /dev/sda或者lsblk /dev/sdb等等

将显示标签/boot/boot/efi,指示启动管理器使用的分区

相关内容