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 引导加载程序将安装在尤其是。
资料来源:
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
,指示启动管理器使用的分区