¿Por qué fdisk tiene una discrepancia al traducir unidades entre cilindros y sectores?

¿Por qué fdisk tiene una discrepancia al traducir unidades entre cilindros y sectores?

Estábamos volviendo a particionar un disco virtual para aumentar el tamaño del volumen físico de un LVM.

Así es como realizamos esto inicialmente:

$ 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

Esto llevó a que Linux no reconociera el LVM. Me quedé perplejo y miré una copia de seguridad. Ambas tablas de particiones comenzaban en 1, por lo que ese no parecía ser el problema. Sin embargo, si cambié unidades (comando fdisk u) de cilindros a sectores, noté que la copia de seguridad comenzó en el sector 13 pero la nueva partición comenzó en el sector 128.

Cuando corregimos el inicio de la partición, todo salió bien.

No puedo entender la discrepancia en la conversión de unidades. ¿Puede alguien ayudarme a entender?

Respuesta1

fdisk es una herramienta antigua y utiliza el esquema de cilindro de estilo antiguo por defecto. Este se calculará en base a lafalsodatos de cilindro/pista/cabeza proporcionados por el firmware del disco duro. La mayoría de las herramientas (desde la existencia de la partición LBA) no tienen nada que ver.

Puede cambiar al modo basado en sectores con el comando u.

Su tabla de particiones probablemente fue generada por otra herramienta (probablemente mediante una función de reparto de un instalador), que utilizó esta partición basada en sectores de forma predeterminada.

Gpart, separado y, sin embargo, muchas herramientas hacen esto mejor, aunque ninguna de ellas tiene la precisión pura y limpia del antiguo fdisk.

información relacionada