我想知道GPT 保留分区和GPT EFI 系统分区是干什么的?我需要它们吗?如果我删除它们会发生什么?
还有它是用来做什么的?
我指的是图片中的第二个和第三个。
答案1
我认为正确的答案需要一些技术细节。
介绍
您的计算机可能只有一个硬盘。您在屏幕截图中看到的窗口实际上是分区,即使您的系统将它们称为磁盘。
一般来说,驱动器无需分区即可使用。软盘过去就是这样工作的。[1]但使用分区对大容量驱动器有很多好处,仅列举其中几点:
- 你可以将两个操作系统放在同一个硬盘上,而且不会互相干扰。每个操作系统都会将其分区视为逻辑驱动器,除非你告诉它这样做,否则不会干扰其他分区。
- 您可以逻辑地分离数据。如果某个分区因某种原因损坏,其他分区很可能仍会完好无损。
- 使用分区比使用多个较小的硬盘更好,因为您的系统更安静,消耗更少的能量,并且您可以调整大小、删除、移动它们等。
- 您可以将硬盘的某些部分用于某些特殊用途。
分区表
您的硬盘上有分区表。它是描述其分区布局的结构。
直到 2010 年左右,大多数情况下都使用 MBR 分区方案。之所以这样称呼,是因为分区表位于主引导记录– 磁盘的保留部分(第一个物理扇区),包含从磁盘读取的第一个引导代码,还包含驱动器的分区表 - 它告诉您有多少个分区、它们在哪里以及每个分区使用的文件系统类型(例如 FAT32、NTFS 等)
在引导过程中,机器的固件读取 MBR 代码并将控制权移交给它。MBR 代码依次读取卷引导记录来自活动分区分区表中标识的分区,并将控制权移交给它。该代码依次读取 VBR 的其余部分,最后从分区加载适当的文件并启动操作系统。
这种方案有许多优点。即使在旧硬件上或磁盘空间有限的情况下,它的实现和使用也非常简单。此外,VBR 代码(在操作系统安装期间编写)是第一个必须理解文件系统的执行代码,因此 BIOS 可以保持相对简单和紧凑。但 MBR 分区表已经有 30 年的历史了。硬件和软件已经发生了变化。一个主要限制是分区表的格式仅支持大约 2 TiB 大小的硬盘。MBR 分区还存在许多其他问题。
MBR 分区表现已被取代GUID 分区表,简称 GPT。这是您硬盘上的分区表类型(如果没有,则不会有“EFI 系统分区”[2])。GPT 没有 MBR [3],并由 UEFI 补充 - UEFI 是一种替代旧式 BIOS 的新型固件。(也就是说,要从 GPT 磁盘启动,您的机器必须具有 UEFI 固件。)UEFI 不必依赖单个分区提供的卷引导记录,而是可以使用操作系统提供的操作系统加载程序。
引导的工作原理
当 BIOS 从硬盘启动时,它首先查看 MBR;MBR 中的分区表允许 MBR 代码定位并识别活动分区;来自活动分区的卷引导记录的代码定位、读取并将控制权转移到操作系统的加载程序。
UEFI 更为复杂。UEFI 固件能够理解 FAT 格式分区的至少一些细节,足以找到可执行文件、将其加载到 RAM 中并将控制权转移给它。对于 Windows,此文件是bootmgr.exe
。
UEFI 固件会查找包含此类文件的分区。它就是屏幕截图上名为“EFI 系统分区”的分区。(它通过分区内的数字标识符 GUID 标识为“EFI 系统分区”。每个硬盘驱动器只允许一个这样的分区。由于 UEFI 固件只理解 FAT 系列文件系统,因此最好使用 FAT32 格式化 EFI 系统分区。)
然后,它会从该分区读取所有可用的操作系统加载程序,并检查您指定的默认加载程序是否存在。在 UEFI 开始启动之前,您很可能可以按下某个按钮来选择另一个操作系统加载程序。因此,UEFI 独立于 MBR 或 VBR 中的任何启动代码;相反,它依赖于已安装操作系统提供的加载程序。
值得注意的是,许多 UEFI 都包含兼容性支持模块,尽管有时默认情况下会禁用。它恢复了与基于 MBR 的 BIOS 启动顺序的向后兼容性。不幸的是,BIOS 启动需要系统固件执行一些额外的初始化,这会使启动速度整体变慢。
那么,我可以删除 EFI 系统分区吗?
此时你应该明白,删除EFI 系统分区将清除所有操作系统加载程序,从而无法使用 UEFI 启动该硬盘。
这保留分区
这是微软发明的占位符。它不包含任何有意义的数据,只是为了以防万一你需要创建一些额外的分区用于特殊用途。在这种情况下,Windows 会缩小保留分区并使用回收的空间创建一个新的。删除它不会造成任何损害现在,但您将来可能会遇到一些问题。
大问题
现在,在删除其中任何一个之前,你应该问自己一个问题:“我为什么要这么做?”
您获得的可用磁盘空间可能不值得。您的硬盘有 700 GB 的可用磁盘空间。这两个分区占用不到 400 MB合并。这占了你的硬盘的 0.05714%。您只能恢复磁盘的一小部分,但可能会出现启动失败的风险以及将来 Windows 可能出现的问题。
这样做的另一个原因是 MBR 分区表有 4 个分区的限制,因此每个分区都很宝贵。GPT 则不是这样,所以这里没有理由删除这两个分区。
[1]现代的驱动器完全采用单一文件系统格式化,没有分区表,有时仍被称为“超级软盘”。
[2]作为 Windows 用户,因为 Windows 需要 GPT 才能在 EFI 模式下启动。这是 Linux 没有的任意限制。
[3]这并不完全正确。GPT 将 MBR 所在的第一个扇区指定为保留扇区,并且不使用它。可以在那里放置一个虚拟 MBR 表,其中包含一个跨越硬盘前 2 TB 的伪分区,以欺骗不支持 GPT 的传统工具,让它们认为驱动器包含有效的 MBR 分区表和一个没有可用空间的单个分区。这至少暗示了驱动器上有一些可用数据,而不是让它看起来是空的。
答案2
ESP(EFI 系统分区)包含 NTLDR、HAL、Boot.txt 以及启动系统所需的其他文件,例如驱动程序。
Microsoft 保留分区 (MSR) 在每个磁盘驱动器上保留空间以供操作系统软件后续使用。