这个磁盘/分区 GPT 属性是什么意思?

这个磁盘/分区 GPT 属性是什么意思?

我发现有人建议更改分区的 GPT 属性,以防止 Windows 在插入加密 USB 驱动器时自动检测并为其分配驱动器号,以及将其标记为“必需” - 避免弹出建议格式化的窗口。这是建议的更改,它似乎可以在多台计算机上工作,并且目前没有数据损坏。

GPT 属性=0xC000000000000001

我理解字符串最后位置的“1”是将分区标记为“必需”并防止系统删除或格式化它。“x”后面的第一个位置有几个可能的值,等同于表示分区是影子分区还是基本数据分区;这些似乎都是数值(即 2、4、8)。但我找不到任何表示第一个属性中的“C”的内容。有人知道这是什么意思吗,或者它是否会对长期数据稳定性/损坏造成问题?

谢谢

答案1

第一件事:0xC= C (hex)= 12 (dec)= 1100 (bin)。四位。字符串中的每个字符都C000000000000001表示四位,总共 64 位。字符串的二进制表示是11…01替换60 个零。

这些位的含义(来自维基百科):

0 所需平台(计算机正常运行所需,例如 OEM 分区,磁盘分区实用程序必须按原样保留分区)
1 EFI 固件应忽略分区的内容,而不是尝试从中读取
2 传统 BIOS 可引导(相当于 MBR 分区表的分区条目中偏移 +0h 处的活动标志(通常设置位 7))
3–47 保留供将来使用
48–63 由单个分区类型定义和使用

无法立即看出11…01序列中的哪一位是第 0 位,即第 63 位。这些数字是位序列中的偏移量吗?还是第 0 位是结果二进制数中最低有效位(最右边)?好吧,在我使用 (Linux) 进行的测试中,gdisk我切换了第 0 位,属性在00…00和之间切换00…01,因此我会说第 0 位是结果二进制数中最低有效位。

这意味着您对(十六进制)数字的解释1是正确的(虽然不完整,但该数字还包括有关位 1、2 和 3 的信息,这些位未设置)。

gdisk显示其自己的解释为:

0: system partition
1: hide from EFI
2: legacy BIOS bootable
60: read-only
62: hidden
63: do not automount

对于位 0-2,这与维基百科一致,并且另一个答案其中的链接60、62 和 63。我对后面的内容持保留态度,因为维基百科上说

48–63 由单个分区类型定义和使用

而且您没有告诉我们分区类型是什么,所以我们无法进一步调查。另一方面,如果 Windows 将其规则应用于所有分区类型,我也不会感到惊讶。您的设置“可在多台计算机上运行,​​且尚未出现数据损坏”这一事实表明,至少对于这个特定的分区,Windows 使用其关于位 62 和 63 的规则。


总而言之,所讨论的属性意味着:

  • 磁盘分区实用程序必须保留分区原样,
  • 隐,
  • 不自动挂载。

此设置应该适合您,并且不会对数据稳定性造成任何威胁。

答案2

正如 Kamil 指出的那样,“C”是十六进制的,用二进制表示为 1100。即:1*8 + 1*4 + 0*2 + 0*1。因此,您可以将“C”视为 8 和 4 的组合。

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/gpt,以下是一些 GPT 属性的值。

  • 0x80000000000000000。指定当磁盘移动到另一台计算机或计算机第一次看到该磁盘时,该分区默认将不接收驱动器号。

  • 0x40000000000000000。隐藏分区的卷。也就是说,挂载管理器不会检测到该分区。

因此,在您的情况下,将“C”视为 8 和 4 的组合,您的分区 (1) 将不会收到驱动器号,并且 (2) 将被隐藏。

相关内容