为什么fdisk在圆柱体和扇体之间的翻译单位有差异?

我们正在重新分区虚拟磁盘以增加LVM物理卷的大小。

这是我们最初的performance:

$ fdisk /dev/sdb # delete partition fdisk> d ? 1 # create new partition fdisk> n ? p ? 1 first cylinder? [ENTER] last cylinder? [ENTER] # set LVM type fdisk> t ? 8e fdisk> w 

这导致LVM无法被Linux识别。 我感到困惑,看着备份。 分区表都是从1开始的,所以看起来不是问题所在。 但是,如果我将单元(fdisk命令u )从柱面更改为扇区,我注意到备份从扇区13开始,但新分区从扇区128开始。

当我们改正分区的开始时,一切都很顺利。

我无法理解单位换算的差异。 有人能帮我理解吗?

fdisk是一个老的工具,并且使用oldstyle柱面模式是默认的。 这将根据硬盘固件提供的虚拟磁盘/磁道/磁头数据进行计算。 大多数工具(因为LBA分区的存在)没有任何事情要做。

您可以使用命令u切换到基于扇区的模式。

您的分区表可能是由另一个工具(可能是通过安装程序的重新分区function)生成的,默认情况下使用这种基于扇区的分区。

Gpart,parted,但很多工具做得更好,虽然没有一个具有旧的fdisk纯粹的精确度。