¿Por qué comienza la partición en el sector 2048 en lugar de 63?

54

Tenía dos unidades particionadas de la misma y ejecutaba dos particiones RAID en cada una.

Uno murió y lo reemplacé en garantía por el mismo modelo.

Al intentar particionarlo, la primera partición solo puede comenzar en el sector 2048, en lugar de 63 que era antes. La unidad tiene una geometría diferente a las anteriores y restantes. (Menos cabezas / más cilindros)

Disco viejo:

$ sudo fdisk -c -u -l /dev/sdb 

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000aa189

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63   174080339    87040138+  83  Linux
/dev/sdb2       174080340   182482334     4200997+  82  Linux swap / Solaris
/dev/sdb3       182482335  3907024064  1862270865   fd  Linux raid autodetect

Unidad remanufacturada recibida de la garantía:

$ sudo fdisk -c -u -l /dev/sda

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
81 heads, 63 sectors/track, 765633 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0b5d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  ...

¿Porqué es eso?

gcb
fuente
1
La salida no indica que se trata de una avanzada unidad de formato 4K: Sector size (logical/physical): 512 bytes / 512 bytes.
bwDraco
1
¿Por qué se rechazó esto?
bwDraco
1
No estoy de acuerdo con el voto negativo, tampoco estaba al tanto de la idea errónea de alineación de pistas y la información de JdeBP es útil y relevante para una pregunta válida.
Garrett
Releated preguntas y respuestas: superuser.com/q/565577/19956 , unix.stackexchange.com/q/81556/3054 .
pts
Al usar unidades de disco más nuevas, se recomienda GPT , que utiliza 2048como sector de inicio de forma predeterminada. El disco más antiguo probablemente fue formateado con una utilidad más antigua y utilizando un formato de tabla de partición no GPT. Para particionar discos más nuevos de "Formato avanzado 4K", use GPT fdiskUtilities . Para RAID, asegúrese de usar el tipo fd00 Linux RAIDy etiquetar sus particiones adecuadamente.
TrinitronX

Respuestas:

44

Debido a que su disco anterior se particionó con una utilidad antigua, como Linux fdisk, que implementó inútilmente la alineación de pistas utilizando la geometría de disco completamente falsa que ve informada, y su nuevo disco ha sido o está siendo particionado por una utilidad más nueva que (por predeterminado) se alinea con los límites de 1MiB en su lugar.

Otras lecturas

JdeBP
fuente
77
En otras palabras, el número de sector LBA 63 corresponde al cilindro 0, cabezal 1, sector 1 en el formato CHS , que es el primer sector que puede usar en el formato MBR. Sin embargo, el número 63 no es divisible por 8, lo que causa un problema con las unidades 4K, por lo que algunas herramientas modernas comienzan la primera partición en 2048, que también proporciona compatibilidad GPT futura.
billc.cn
8
Hay momentos en que uno anhela una forma de marcar los comentarios, especialmente los comentarios en los que otros intentan poner errores directos en la boca. Esas "otras palabras" son incorrectas , por lo que no son lo que escribí . El primer sector que se puede usar (como lo han hecho varias personas) para una partición primaria con una tabla de partición MBR es LB # 2, o incluso LB # 1 si no se necesita compatibilidad con cosas como el LVM de IBM. Y la alineación de 1MiB no tiene nada que ver con la compatibilidad de la tabla de particiones EFI.
JdeBP
Bien, supongo que cometí un error acerca de la primera parte, pero para el segundo bit quise decir que si comienzas en 2048, no tendrás problemas para convertir la unidad a GPT en el futuro, de ahí la palabra "también" y "futuro" .
billc.cn
55
Eso sigue siendo incorrecto. Uno no tendrá ningún problema de todos modos . Haz la aritmética. Incluso la alineación original a un límite de pista (falso) proporciona espacio más que suficiente. Esos 60 sectores de 512 bytes pueden contener 240 entradas de tabla de partición EFI. Nuevamente: la alineación de 1MiB no tiene nada que ver con la compatibilidad de la tabla de particiones EFI.
JdeBP
44
fdiskno es una "vieja utilidad", se mantiene activamente. Simplemente NO use "geometría de disco falsa" a través de -c=dos(¡está desactivada por defecto!). La página de manual advierte explícitamente contra hacerlo, ya que CHS está muerto como disco. El enlace a la página de JdBP está muerto, pero el historial de la alineación de 1MiB (sector 2048) se puede encontrar en la entrada de Wikipedia Logical Disk Manager . Es una verruga de Windows Vista: "El uso de un límite de alineación 1-MiB permite una edición más segura de la tabla de particiones con Vista Disk Mgt".
David Tonhofer
36
fdisk -c=dos

Usó la antigua tabla de particiones de DOS al crear su partición. Las versiones más recientes de fdiskno usan el modo de compatibilidad de dos por defecto.

Miguel
fuente
3
La respuesta aceptada tiene información valiosa, pero esta respuesta tiene la joya que necesitaba para solucionar mi problema.
jcbwlkr
fdisk no me dejó volver a crear una partición a partir sector de 2048 sin este argumento - MeFirst sector (3072-314572799, default 3072):
tomfanning
55
Esto es crítico si está intentando cambiar el tamaño de una partición, lo que con fdisk significa eliminarla y volver a crearla; necesita la partición para comenzar en el mismo lugar.
mcr
ya no funciona con fdisk from util-linux 2.28: /
akostadinov
1
encontrado fdisk -c=dos -u=cylinders /dev/sdben los GIST - gist.github.com/jkullick/febf46756435f1fa99dc56f00782de03
akostadinov
7

Quizás sea útil agregar un comentario aquí. Para la partición LUKS, se dice que elimina y vuelve a crear la partición en el mismo lugar, pero más grande antes de llamar cryptsetup resize. Pero cuando creó su partición hace mucho tiempo, comenzó en el sector 63. Usando fdisk, la partición se volverá a crear en el desplazamiento incorrecto, lo que dará como resultado una partición perdida.

Logré recuperarlo utilizando fdisk -c=dospara poder crear una partición desde el sector 63, sin problemas.

Adrien Clerc
fuente
1

No estoy seguro de por qué comenzó en 63 en primer lugar, pero según fdisk, los tamaños de su sector son 512.

Entonces, si desea que sus particiones y, por lo tanto, los clústeres estén alineados, su desplazamiento inicial debe ser divisible por 512. 2048 es bastante común en estos días.

Si prefiere sectores desalineados, siempre puede hacer que GPart mueva su partición nuevamente a 63.

Editar:

Ooops No vi que tienes un RAID. Probablemente debería publicar su RAID y el tamaño de la banda.

surfasb
fuente
1
63 es 111111 en binario. El BIOS de las PC, el número de sector está / fue codificado en seis bits, lo que resulta en un número máximo de 111111 (63) sectores por pista. Este máximo todavía se usa para la geometría virtual de CHS.
Chris Reid
1

Si bien me doy cuenta de que la pregunta real fue respondida, una solución rápida para el problema del primer cilindro 63 vs 2048 es algo así como:

sfdisk -d /dev/sdb | sfdisk --force /dev/sda

(si está seguro de que tiene unidades del mismo tamaño)

Luego, puede continuar agregando las diversas particiones a los RAID, donde recibió quejas de que las particiones no tienen el mismo tamaño debido a la diferencia de cilindro de inicio 63/2048 que arroja los tamaños de partición eventuales.

Jason Byrne
fuente
deberías explicar lo que hace, destino de origen?
Pawel Cioch
0

La opción 1 MiB (tamaño de bloque emulado de 2048 * 512 bytes) es una gran opción para varias configuraciones de almacenamiento de hardware. Dado que las estructuras de datos del sistema de archivos generalmente están alineadas con el punto de inicio de la partición, esto puede ser importante para maximizar la velocidad de lectura / escritura de almacenamiento.

Por ejemplo:

RAID puede usar franjas de datos que varían de 16 a 256 KiB de tamaño. 1 MiB es un múltiplo entero de esto, por lo que iniciar la partición en 1 MiB es compatible con el modelo RAID subyacente.

Los SSD suelen tener un tamaño de bloque de borrado de 128 a 256 páginas NAND, que según la unidad pueden ser de 256 KiB o 512 KiB. Entonces, nuevamente, comenzar la partición en 1 MiB es compatible con las características de almacenamiento SSD subyacentes.

Los discos duros giratorios 512e de formato avanzado tienen un tamaño de bloque físico de 4 KiB y, de nuevo, 1 MiB es un múltiplo entero (aunque bastante grande) de esto.

Entonces, si tiene una unidad AF y está particionando como GPT, es posible que esté perfectamente satisfecho con su primera partición que comienza en el bloque 40 de LBA (un múltiplo entero de los 8 bloques lógicos en cada bloque físico de su HDD), casi no hay el almacenamiento mundial se pierde al comenzar en el bloque LBA 2048 (1 MiB), que es un valor más flexible para el software de partición predeterminado, ya que es adecuado para prácticamente cualquier configuración de hardware.

Ryan Feeley
fuente