引导分区的不同类型的文件系统

引导分区的不同类型的文件系统

当将分区设置为可启动(即设置可启动标志=开启)时,是否需要将其文件系统设置为:

  • 保留 bios 启动区域

或者

  • EFI 启动分区

我面临的问题是我已经安装了 Ubuntu Server 12.04很多的次,每次安装完成后,我重新启动,服务器都会报告没有可用的启动设备

该服务器有 2 个启动菜单(即心情?),分别是:

  1. BIOS
  2. UEFI

我不确定是否要从 USB 启动UEFI或者BIOS心情?这会影响我为可引导分区选择的文件系统类型吗?

基本上,为什么操作系统安装后无法加载?!

答案1

首先,请注意有两种分区表类型:较旧的主引导记录 (MBR)系统和较新的GUID 分区表 (GPT)Windows 将这些分区表类型与启动方法绑定在一起:MBR 仅适用于基本输入/输出系统 (BIOS)GPT 仅适用于较新的可扩展固件接口 (EFI) 或统一 EFI (UEFI)。Linux 更加灵活,但偏离这种映射可能会导致问题,如后面所述。

这很重要,因为 、GParted 和其他基于 libparted 的工具提供的“启动标志”parted根据分区表类型具有不同的含义。具体来说,“启动标志”对于 MBR 磁盘来说是正确命名的。一些(但不是全部)BIOS 模式引导加载程序使用它来识别保存第二阶段引导代码的分区。然而,EFI 以完全不同的方式启动,出于我不假装知道的原因,但 libparted 开发人员选择在 GPT 磁盘上重新使用名称“启动标志”来识别EFI 系统分区 (ESP)—— 即,它是 GPT 上的分区类型代码。该概念与 MBR 概念非常相似。实际上,在 MBR 磁盘上的 Linux 分区上设置“启动标志”是很常见的,尽管使用 GRUB 时不需要这样做(因为 GRUB 会忽略“启动标志”)。但在 GPT 磁盘上,您应该绝不在 Linux 分区上设置“启动标志”;应该设置仅有的在 ESP 上。Linux 不关心这一点,但如果将 Linux 分区设置为 ESP,固件和其他分区工具或操作系统可能会感到困惑。为了讨论的清晰起见,“启动标志”一词最好保留给 MBR 磁盘,因为该术语不是在基于 libparted 的工具之外的 GPT 磁盘上使用 - GPT fdisk 系列(gdisksgdiskcgdisk)不使用它,Linux 之外的工具也不使用它。事实上,GPT 中有一个“旧版 BIOS 可启动”属性,它更接近 MBR“启动标志”的含义,但它是通过“legacy_boot 标志”在 libparted 中设置的。很抱歉这让人如此困惑。你可以责怪 libparted 开发人员在考虑不周的情况下把一些东西拼凑在一起。

接下来,您询问了两个分区:

  • ESP 包含 FAT(正式名称为 FAT32,尽管 FAT16 通常也可以使用)文件系统和 EFI 引导加载程序。正如我所说,它由 libparted 中的“引导标志”或 GPT fdisk 中的类型代码 EF00 标识。没有正式规定的大小,但通常在 100MiB 到 1GiB 之间。它是在 EFI 模式下启动计算机所必需的。
  • BIOS 启动分区保存 GRUB 启动代码,用于在 BIOS 模式下从 GPT 磁盘启动。它的不是在 EFI 模式下启动时需要。此分区通常大小为 1-2MiB,但有时可能更小。将其放大没有实际意义。它确实不是保存文件系统;GRUB 只是将代码“原始”转储到该区域。

GPT 磁盘可以同时具有 ESP 和 BIOS 启动分区;但是,您最多只需要其中一个即可启动。(实际上,您可以在没有这两个分区的情况下在 BIOS 模式下使用 SYSLINUX、LILO 或 GRUB Legacy 进行启动。)如果同时安装了这两个分区,您就可以在 BIOS 模式和 EFI 模式启动之间切换。

至于您的固件提示没有可启动设备的问题,我建议您阅读以下页面:

“无可启动设备”错误通常意味着发生了以下三种情况之一:

  • 计算机已配置为启动仅有的在 EFI 模式下,它找不到 EFI 模式的引导加载程序 - 比如,因为您在 BIOS/CSM/legacy 模式下安装了 Ubuntu,或者因为 ESP 被错误识别。
  • 计算机配置为以 BIOS/CSM/传统模式启动,但没有可用的 BIOS/CSM/传统模式引导加载程序 - 比如,因为您在 EFI 模式下安装了 Ubuntu。
  • 计算机配置为以 BIOS/CSM/传统模式启动,但固件希望在 MBR 分区上看到“启动标志”。如果您以 BIOS/CSM/传统模式安装了 Ubuntu,但使用了 GPT 分区,则不会出现这样的标志。这会导致一些 EFI 失效。请参阅我关于该主题的页面了解详情。

相关内容