磁盘结构
100%

文件系统 · 第 3 课

磁盘结构

了解块设备、分区表、分区和文件系统如何构成彼此独立的存储层。

存储设备会呈现为 /dev/sda/dev/nvme0n1 这样的块设备。它可以包含分区表,其中的条目描述各个区域,并把它们呈现为子块设备。分区中可以再保存文件系统、交换空间签名、RAID 成员、加密容器、逻辑卷物理卷或其他数据格式。

这些层彼此独立:并非每块磁盘都有分区表,并非每个分区都包含文件系统,文件系统也可以位于逻辑卷或整个设备上。

分区表与边界

分区表记录起始位置、长度、类型标识符和分区方案特有的属性。内核读取这些内容后,创建 /dev/sda1/dev/nvme0n1p1 这样的分区块设备。

在普通布局中,分区边界不得重叠。从分区表角度看,所有条目之外的空间尚未分配,但其中仍可能残留旧签名或数据。更改分区表不会自动移动文件系统内容来匹配新边界。

什么内容告诉操作系统磁盘分区从哪里开始、在哪里结束?

MBR 分区

传统的 DOS/MBR 方案把主分区表存放在第一个逻辑扇区中。它包含四个主表条目,其中一个条目可以描述扩展分区,作为一系列链式逻辑分区的容器,从而提供四个以上的可用区域。

使用 32 位扇区地址和 512 字节逻辑扇区时,MBR 常见的容量上限约为 2 TiB。精确寻址能力取决于扇区大小和工具支持。MBR 也没有 GPT 的冗余表头、分区表副本和每分区 GUID。

MBR 中的哪个结构允许创建四个以上的可用分区?

GPT 分区

GUID 分区表(GPT)使用 64 位逻辑块地址,通常在磁盘开头附近保存主表头和条目数组,并在磁盘末尾附近保存备份副本。保护性 MBR 可以避免旧式、仅支持 MBR 的软件把磁盘误认为空盘。

每个 GPT 条目都包含分区类型 GUID 和唯一分区 GUID;因此,GPT 并不是只有一种分区类型。可用条目数由分配的分区表和工具决定,通常远多于四个,而且不需要扩展分区或逻辑分区。

GPT 通常用于 UEFI 启动磁盘,但分区方案与固件启动模式是不同概念。UEFI 系统还需要适当的启动文件和 EFI 系统分区;仅有 GPT 并不会让磁盘可启动。

GPT 分区条目包含哪些标识符?

文件系统结构取决于具体格式

完成分区后,文件系统创建工具会写入该文件系统规定的结构。许多格式都有超级块、分配元数据、目录记录以及数据区段或数据块等概念,但具体布局、冗余方式和术语并不相同。

例如,ext 文件系统使用 inode 和块组,其他文件系统则通过不同的树或分配结构组织元数据。不要把“引导块、一个超级块、inode 表、数据块”这一简化图套用到每一种文件系统。

创建分区时会自动在其中创建文件系统吗?

检查当前布局

进行任何修改前,应先使用只读视图:

$ lsblk -o NAME,PATH,TYPE,SIZE,PTTYPE,PARTTYPE,FSTYPE,MOUNTPOINTS
$ sudo parted --list

PTTYPE 描述检测到的分区表方案,PARTTYPE 表示分区类型标识符,FSTYPE 则表示检测到的内容签名。检测结果只是一项证据,并不保证内容健康或可以安全挂载。

设备名称可能变化,残留签名也可能干扰检测。以写模式打开任何分区工具前,应确认型号、序列号、容量、传输方式、持久链接、活动挂载、交换空间、RAID、LVM、加密和备份。

哪个 lsblk 字段用于区分检测到的文件系统内容与分区表方案?

课程已完成

你已完成 磁盘结构

现在,你可以区分磁盘布局元数据与其中保存的数据格式。

  • 识别整个设备及其分区子设备。

  • 理解 MBR 扩展分区与传统四条目限制的关系。

  • 理解 GPT 的冗余分区表和每分区 GUID。

  • 把创建文件系统视为独立于创建分区的操作。

  • 进行变更前,检查每一层存储及其活动使用者。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 文件系统