答案1
我不确定 libparted 为什么这样做,但我有三个假设:
- 这可能是过去的遗留问题。使用旧式柱面对齐时,现代磁盘上的扇区数很少能与精确的柱面数相符——也就是说,最后一个柱面是部分的。因此,在使用柱面对齐对 MBR 磁盘进行分区时,曾经常见的做法是将磁盘末尾的几个扇区留作未使用。libparted 用于执行此操作的算法可能会在 GPT 磁盘上产生 1MiB 的间隙。如果是这样,这可以被视为一个错误,尽管是一个非常小的错误。
- 这可能是舍入错误。在最新版本的 libparted 中,分区起始点与 1MiB 边界对齐。开发人员可能本想让分区在最后一个可用扇区结束,但舍入错误可能导致它下降了 1MiB 的分区对齐值。
- 这可能是故意的。磁盘末端的间隙可用于BIOS 启动分区(用户有时必须在分区后添加,因为他们没有意识到需要它)或调整分区表的大小。不幸的是,对于这个假设,libparted 不允许以这两种方式使用该空间,尽管它
gdisk
允许。
我按照可信度从高到低的顺序列出了这些选项。请注意,我是GPT fdisk(gdisk
、、sgdisk
和cgdisk
),所以我非常熟悉 GPT 分区的需求。我甚至为 libparted 贡献了几行代码,但我不熟悉 libparted 中负责此行为的特定区域,因此我的假设只是推测性质的。