¿Por qué no se pueden incluir los últimos sectores en una partición?

¿Por qué no se pueden incluir los últimos sectores en una partición?

Cuando la partición con fdisklos últimos sectores no se puede incluir en una partición, hasta donde yo he experimentado. Siempre pensé que esto se debe a la alineación del bloque MiB o IO, ¡pero me acabo de dar cuenta de que el último sector que me permite usar no está alineado! Probé varias herramientas con varios discos duros de diferentes proveedores, y siempre son los últimos 30 y tantos sectores. Por ejemplo:

Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
last MiB-aligned sector:                      976773119
last IO-block-aligned (4KiB) sector:          976773167 (the last one)
last usable sector:                           976773134

Por supuesto, esto no es un gran problema, pero tengo curiosidad por saber el motivo. ¿Tiene que ver con sectores malos?

Respuesta1

Apuesto a que creaste unTabla de particiones GUID (GPT)en el disco para obtener el número del "último sector utilizable".

¿Notaste que el último sector utilizable es 34 sectores menos que el número total de sectores?

Mira esto:

Esquema de tabla de particiones GUID(fuente)

¡Esos 33 sectores "inutilizables" son en realidad para el GPT de respaldo! (Eso es LBA -34 hasta el final).


También podemos deducir por qué el último sector alineado con MiB y el último sector alineado con el bloque de E/S son como son.

Nota:Probablemente llegó a los números de su último sector sin usar un GPT. Eltabla de particiones heredada de MS-DOSsólo ocupa 512 bytes (1 sector lógico) al principio del disco y nada al final.

Información del disco

Logical sector size:            512 (used in calculations)
Physical sector size:          4096 (used for I/O block alignment)

Alineación de bloques físicos

Su último sector alineado:976773167

Physical sector size:          4096
Divide by logical sector size: ÷512
                               ----
Sectors for block alignment:      8

Total sector count:       976773168
Divide by alignment sectors:     ÷8
                          ---------
Max 4KiB blocks:          122096646
Unusable sectors remainder:       0

Total sector count:       976773168
Subtract remainder:              -0
                          ---------
First unalignable sector: 976773168
Your last aligned sector: 976773167

Alineación de bloques de 1MiB

Su último sector alineado:976773119

1MiB in bytes:              1048576
Divide by logical sector size: ÷512
                            -------
Sectors for 1MiB alignment:    2048

Total sector count:       976773168
Divide by alignment sectors:  ÷2048
                          ---------
Max 1MiB blocks:             476940
Unusable sectors remainder:      48

Total sector count:       976773168
Subtract remainder:             -48
                          ---------
First unalignable sector: 976773120
Your last aligned sector: 976773119

información relacionada