![GPT 是否与 4k 块对齐?](https://linux22.com/image/1279585/GPT%20%E6%98%AF%E5%90%A6%E4%B8%8E%204k%20%E5%9D%97%E5%AF%B9%E9%BD%90%EF%BC%9F.png)
这维基百科文章GUID 分区表的 GUID 分区表无法明确说明它是否与底层 4k 块文件系统对齐。由于该图显示数据扇区的第一个块为块 34,不能被 8 整除(每个扇区 512 字节 * 8 个扇区 = 4k 块),因此我倾向于说不是。即使 Windows 将第一个分区设为Microsoft 保留分区,正如通常的情况一样,该分区有 65536 个块(32 MiB),所以仍然是 65536+34=65570,不能被 8 整除。
我是否遗漏了什么?
答案1
是的,你忽略了两件事:
- EFI 分区表是不是要求长度为 34 个区块。 维基百科文章在这方面完全是误导性的。根据实际规范,而不是维基百科,分区表长度由分区表条目的大小和分区表条目的数量决定。它们都是可变的,并且任何单个 EFI 分区磁盘的值都存储在 EFI 分区表头中。34 个块是仅仅分区表条目大小为 128 字节、块大小为 512 字节、分区表条目为 128 个时,结果如下。最低限度规范要求的 EFI 分区表的大小。它不是这尺寸。
- 首先可用的块不必是第一个用过的堵塞。(顺便说一下,它不是一个“数据部分”。)仅仅因为在特定的磁盘上,块 #34 可能是第一个可用的块,它就是不是要求分区从那里开始。EFI 分区工具可以根据自己喜欢的任何规则对齐分区。(事实上,Apple 的磁盘实用程序等几个著名做法. Rod Smith
gdisk
的一个非平凡的规则集)EFI 规范不要求分区与第一个或最后一个可用块对齐。事实上,严格来说,它甚至不要求第一个可用块紧跟在分区表的主副本之后。
答案2
JdeBP 的回复很好,但我想补充一点,在实践中,大多数现代分区工具默认在 MBR 和 GPT 磁盘上将分区对齐到 2048 个扇区(1 MiB)的边界上。这可以使分区正确对齐,适用于高级格式驱动器以及其他驱动器类型,例如 SSD 和某些具有其他对齐要求的 RAID 阵列类型。此规则的一个部分例外是 OS X 的磁盘实用程序,它倾向于将 EFI 系统分区 (ESP) 创建为从扇区 40 开始的第一个分区。但是,磁盘实用程序会创建从 1 MiB 边界开始的后续分区。