我可以使用旧版 BIOS 来使用大于 2TB 的外部存储驱动器的全部容量吗?

我可以使用旧版 BIOS 来使用大于 2TB 的外部存储驱动器的全部容量吗?

我有一台运行 Gallium OS 的 Acer C720P Chromebook。我对 Linux 还不太熟悉,所以这是我第一次遇到硬件兼容性问题。我想将这台机器配置为 Plex 服务器,但作为 Chromebook,它只有 32GB 左右的内部存储空间。

我了解到我的机器包含 SeaBIOS,它仅支持旧版,不支持 UEFI。但大于 2TB 的驱动器需要以 GPT 格式化,这需要 UEFI 才能让 BIOS 读取所有扇区/块。至少,我相信这是准确的。但我读到的关于此问题的帖子都集中在从驱动器启动上。我不会这样做——我想从内部 32GB 驱动器启动并使用大于 2TB 的大型外部存储驱动器。

我不知道 BIOS(和 UEFI)是否参与了 ​​Gallium 在插入驱动器时读取/管理驱动器的功能。如果参与了,我就不能使用那么大的驱动器。如果不参与,购买存储驱动器时我是否应该注意兼容性问题?谢谢!!

答案1

您所学到的知识部分准确,但它混合了两个(或三个)不同的限制:

  1. MBR 分区表格式无法描述超过 2TiB(或更准确地说,超过一定数量的扇区)的分区,因为它只有 32 位空间用于扇区计数。GPT 分区表没有这样的限制。

    无论操作系统是什么,也无论启动模式是什么,此限制都很重要,因为它会影响磁盘上的元数据。(操作系统以“原始”模式访问整个磁盘,只是无法创建超出边界的卷。)

    幸运的是,对于数据磁盘,使用 GPT 对其进行重新分区非常简单 - 并且任何大磁盘很可能都会直接采用 GPT 分区。

  2. 就“传统” BIOS 而言,使用 BIOS 提供的“读/写磁盘”操作的引导加载程序通常无法访问 2TiB 以上的内容,同样是因为 BIOS 调用仅处理 32 位值。

    此限制仅与系统磁盘有关,并且不影响 UEFI 启动,只影响传统/CSM 模式。

    一旦操作系统成功启动,此限制就不再相关,因为操作系统不会调用固件来访问磁盘(这会非常慢) - 它总是直接与磁盘控制器对话。

    所有现代版本的 Windows 和 Linux,以及可能所有其他操作系统,都能够访问任何大小的磁盘(即使是系统磁盘)。

  3. 当使用“传统”BIOS 时,Windows系统磁盘必须使用MBR,当使用UEFI时,系统磁盘必须使用GPT。

    如果操作系统以 BIOS 模式启动,这会有效地将 Windows 系统磁盘限制为仅 2TiB 可用。

    它对“数据”磁盘没有影响;无论系统如何启动,它们都可以自由使用 GPT。

    (Linux 通常对组合没有限制,并且可以在传统 BIOS 模式下从 GPT 磁盘启动 - 在这种情况下,只有引导加载程序必须完全在 2TiB 范围内,但是一旦 Linux 内核运行,系统磁盘的全部容量就会可用。)

简而言之,当你在传统 BIOS 模式下启动时,你的系统磁盘需为2TiB或更小,但数据盘没有这样的限制。

答案2

但 2TB 以上的硬盘需要格式化为 GPT,这需要 UEFI 才能让 BIOS 读取所有扇区/块。至少,我认为这是准确的。

不,这完全是错误的。

您将 Windows 在 UEFI 或 BIOS(Legacy/CSM)模式下的安装要求与不适用此类限制的某些内容混淆了。

此要求仅适用于 (1) Windows 和 (2) Windows 系统驱动器。无论操作系统是什么,带有 GPT 的外部驱动器都可以与旧 BIOS 系统一起使用。

相关内容