NTFS 将分区的标签存储在哪里?

NTFS 将分区的标签存储在哪里?

我正在使用十六进制编辑器 (wxHexEditor) 探索硬盘内容。我正在寻找分区标签的存储位置。

因此,我正在探索的驱动器是 NTFS 格式的 GPT 驱动器。使用 Gparted,我更改了分区的名称和标签。名称很容易找到,它是 GPT 特有的,存储在分区表中。但是我找不到标签存储在哪里。

我的 NTFS 引导扇区位于扇区 2048。我正在查看NTFS 的维基百科页面引用:

在 NTFS 中,所有文件、目录和图元文件数据(文件名、创建日期、访问权限(通过使用访问控制列表)和大小)作为元数据存储在主文件表 (MFT)

并且段落图元文件包含元文件列表:

$Volume:包含有关卷的信息,即卷对象标识符,体积标识[…]

因此,从逻辑上讲,分区的标签存储在此主文件表中。
就在上面的段落中分区引导扇区这表明在字节偏移量 0x30 处,8 个字节表示包含主文件表的簇。对我来说,它是 0x0000000000000004。然而在簇 4 处我什么都没有,该块完全是空的。

那么 NTFS 文件系统将分区的标签存储在哪里?

答案1

信息正确。

格式化后,在大于几 GB 的 NTFS 上,您通常会在簇 0xC0000 处找到 MFT。如果簇大小为 8 个扇区,则 MFT 等于 0xC0000 × 8 = 0x600000 = 扇区 6291456 维基百科中给出的“典型”值 0x0000...004 并不常见。

您可以发布分区引导扇区的转储,以便我们检查。

另外,在十六进制编辑器中,只需搜索字符串“FILE0”,该字符串在每个 MFT 条目中都有。通常,您会在开头附近找到前 24 个 MFT 条目的镜像副本,然后只需找到某处名为 $Volume(以 UCS2 编写,即十六进制视图中的“$.Volume”)的 MFT 条目,您便可以在那里找到分区标签。

相关内容