分区

分区

我最近一直在研究分区,我对一些事情感到很困惑:

  • 什么是分区表及其用途

  • 什么是分区方案(GPT 和 MBR)以及它们的用途

最后,我做了一些研究,发现术语“MBR”和“GPT”被用来描述分区表,我的最后一个问题是,MBR 和 GPT 是分区的另一个名称吗?

答案1

分区

让我们从另一个问题开始:什么是磁盘(从软件的角度来看)?

磁盘是一块内存。它有一个开始和一个结束。它保存着从 0 开始枚举的数据片段(您将其称为地址)。一条数据通常被称为部门通常产生 512 字节。

想象一个没有文件系统的世界。您只需将数据直接写入磁盘即可完全使用磁盘。然后您的数据就会位于磁盘上。它有一定的长度。它从地址a开始,占用空间直到地址b。现在您可能想要拥有不止一组数据,并且希望以某种方式组织数据。你可能会说:我想把内存分割成固定大小的更小的部分。我称这些部分为分区。我用它们来组织我的数据。

于是你就提出了分区表的概念。分区表是一个明确指定的整数列表,用于表征磁盘分区(开始、结束、指定的使用类型)。

膜生物反应器实际上不仅仅是一个分区表,但它包含一个分区表。 MBR 还包含一些与引导系统有关的可执行代码。您可以说,MBR 是分区表概念的一种广泛使用的实现。 MBR 预计位于扇区 0。它被设计成适合 512 字节的扇区。因此,它可以描述的分区的数量和大小是有限的。

GPT是另一种实现,但它更大,因此能够描述更多更大的分区。

词源

要理解 MBR 一词的词源,我们需要考虑一下历史。在您考虑如何组织数据之前,您希望系统能够启动。断电后,计算机几乎“坏了”,因为它无法执行任何操作。为了在开机后变得有用,第一个程序需要从众所周知的位置加载。这个众所周知的位置可以是硬盘驱动器的第一个扇区(这是引导过程的总体简化)。第一个程序被称为引导装载程序。添加一些标准和 MBR(主启动记录)诞生了。从这个角度来看,在 MBR 中拥有一个分区表是一个很好的附加功能,而不是必需的。

引导加载程序通常会读取分区表,查看第一个可引导分区,然后继续加载实际的操作系统。这就是为什么MBR分区方案通常带有一个操作系统分区。

GPT(GUID 分区表)为启动过程指定了一个分区,即 ESP(EFI 系统分区)。 ESP 通常使用 FAT 文件系统进行格式化。引导加载程序存储在文件中。实际的操作系统通常驻留在另一个分区中。这就是为什么GPT分区方案通常至少有两个分区:一个用于引导加载程序,一个用于操作系统。

答案2

存储分区位置的分区表。分区中没有存储任何内容。操作系统读取分区表,并限制软件可以写入的位置(因此/dev/sda1在其块编号中添加了偏移量 (startOffset),并且任何小于 0 或大于 $EndOffset-startOffset$ 的块都会被阻止。

主引导记录存储在分区表旁边,并包含第二阶段引导加载程序(第一阶段位于 ROM 中)。然后加载阶段 3(例如 grub)。

GPT 是一种新的分区表标准。

相关内容