Pourquoi la partition commence-t-elle sur le secteur 2048 au lieu de 63?


54

J'avais deux disques partitionnés de la même manière et deux partitions RAID exécutées sur chacun.

Un est mort et je l'ai remplacé sous garantie pour le même modèle.

En essayant de la partitionner, la première partition ne peut démarrer que sur le secteur 2048, au lieu de 63 auparavant. Les disques ont une géométrie différente des précédents et des suivants. (Moins de têtes / plus de cylindres)

Ancien lecteur:

$ 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

Lecteur remis à neuf reçu de la garantie:

$ 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  ...

Pourquoi donc?


1
La sortie n'indique que ceci est un format avancé 4K lecteur: Sector size (logical/physical): 512 bytes / 512 bytes.
bwDraco

1
Pourquoi cela a-t-il été voté?
bwDraco

1
Je ne suis pas d'accord avec le vote négatif, je n'étais pas non plus au courant de l'idée fausse d'alignement des pistes et les informations de JdeBP sont utiles et pertinentes pour une question valide.
Garrett

Questions et réponses récurrentes: superuser.com/q/565577/19956 , unix.stackexchange.com/q/81556/3054 .
Pts

En utilisant des lecteurs de disque plus récents, il est recommandé d' utiliser GPT , qui utilise 2048par défaut le secteur de démarrage. Le disque le plus ancien a probablement été formaté avec un utilitaire plus ancien et utilise un format de table de partition non GPT. Pour partitionner des disques "Advanced Format 4K" plus récents, utilisez GPT fdiskUtilities . Pour le RAID, veillez à utiliser le type fd00 Linux RAIDet l’étiquette de vos partitions de manière appropriée.
TrinitronX

Réponses:


44

Parce que votre ancien disque était partitionné avec un ancien utilitaire, tel que Linux fdisk, qui implémentait inutilement l’alignement des pistes à l’aide de la géométrie totalement fictive du disque que vous voyez rapportée, et que votre nouveau disque était partitionné ou en cours de partitionnement par un utilitaire plus récent par défaut) s'aligne sur les limites de 1 Mo à la place.

Lectures complémentaires


7
En d'autres termes, le numéro de secteur LBA 63 correspond au cylindre 0, tête 1, secteur 1 au format CHS , qui est le premier secteur que vous pouvez utiliser au format MBR. Toutefois, le nombre 63 n’est pas divisible par 8, ce qui pose un problème avec les lecteurs 4K. Certains outils modernes démarrent donc la première partition à 20 h 48, ce qui offre également une compatibilité future avec les technologies GPT.
billc.cn

8
Il y a des moments où on aspire à trouver un moyen de noter les commentaires, en particulier des commentaires où d'autres essaient de mettre des erreurs dans la bouche. Ces "autres mots" sont incorrects , c'est pourquoi ils ne sont pas ce que j'ai écrit . Le premier secteur que l'on peut utiliser (comme plusieurs personnes) pour une partition principale avec une table de partition MBR est LB # 2, ou même LB # 1 s'il n'est pas nécessaire de compatibilité avec des éléments tels que LVM d'IBM. Et l'alignement 1MiB n'a rien à voir avec la compatibilité de table de partition EFI.
JdeBP

Bien, je suppose que j'ai commis une erreur dans la première partie, mais pour le second élément, je voulais dire que si vous commencez à 2048, vous n'aurez aucun problème à convertir le lecteur en GPT à l'avenir, d'où le mot "aussi" et "futur". .
billc.cn

5
C'est toujours faux. On n'aura pas de problème quand même . Faites l'arithmétique. Même l'alignement d'origine sur une (fausse) limite de piste offre plus de place que nécessaire. Ces secteurs de 60 512 octets peuvent contenir 240 entrées de table de partition EFI. Encore une fois: l'alignement 1MiB n'a rien à voir avec la compatibilité des tables de partitions EFI.
JdeBP

4
fdiskn'est pas un "ancien utilitaire", il est activement maintenu. Il suffit de NE PAS utiliser la "fausse géométrie de disque" via -c=dos(désactivée par défaut!). La page de manuel met explicitement en garde contre cela car CHS est mort en tant que disco. Le lien vers la page de JdBP est mort, mais l'historique de l'alignement 1MiB (secteur 2048) se trouve dans l'entrée de Wikipédia, Logical Disk Manager . C'est une verrue Windows Vista: "L'utilisation d'une limite d'alignement de 1 MiB permet une édition plus sûre de la table de partitions avec Vista Disk Mgt."
David Tonhofer

36
fdisk -c=dos

Vous avez utilisé l'ancienne table de partitions DOS lors de la création de votre partition. Les versions les plus récentes de fdiskn'utilisent pas le mode de compatibilité dos par défaut.


3
La réponse acceptée contient des informations précieuses mais cette réponse contient le joyau dont j'avais besoin pour résoudre mon problème.
jcbwlkr

fdisk ne me laisserait pas recréer une partition commençant au secteur 2048 sans cet argument - je me suisFirst sector (3072-314572799, default 3072):
tomfanning

5
Ceci est essentiel si vous essayez de redimensionner une partition, ce qui signifie fdisk signifie la supprimer et la recréer. vous avez besoin de la partition pour commencer au même endroit.
mcr

ne fonctionne plus avec fdisk from util-linux 2.28: /
akostadinov

1
trouvé fdisk -c=dos -u=cylinders /dev/sdbdans gist - gist.github.com/jkullick/febf46756435f1fa99dc56f00782de03
akostadinov

7

Peut-être sera-t-il utile d'ajouter un commentaire ici. Pour la partition LUKS, il est dit de supprimer et de recréer la partition au même endroit, mais plus grande avant l'appel cryptsetup resize. Mais lorsque vous avez créé votre partition il y a longtemps, elle commence au secteur 63. Avec fdisk, la partition est recréée avec le mauvais décalage, ce qui entraîne la perte de la partition.

J'ai réussi à le récupérer en utilisant fdisk -c=dospour pouvoir créer une partition du secteur 63, sans problèmes.


1

Vous ne savez pas vraiment pourquoi cela a commencé le 63, mais selon fdisk, la taille de votre secteur est de 512.

Donc, si vous voulez que vos partitions, et donc les clusters, soient alignés, votre offset de départ devrait être divisible par 512. 2048 est assez commun de nos jours.

Si vous préférez des secteurs mal alignés, vous pouvez toujours demander à GPart de déplacer votre partition à 63.

Modifier:

Ooops. Vous n'avez pas vu que vous avez un RAID. Vous devriez probablement poster votre RAID et la taille de la bande.


1
63 est 111111 en binaire. Le BIOS des PC, le numéro de secteur est / était codé en six bits, ce qui donne un nombre maximal de 111111 (63) secteurs par piste. Ce maximum est toujours utilisé pour la géométrie virtuelle du SHC.
Chris Reid

1

Bien que je sache que la question a été résolue, une solution rapide au problème du premier cylindre 63 vs 2048 est la suivante:

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

(si vous êtes sûr que vos disques ont la même taille)

Vous pouvez ensuite procéder à l'ajout des différentes partitions dans les RAID où vous avez reçu des plaintes concernant le fait que les partitions ne sont pas de la même taille en raison de la différence entre les cylindres de départ 63/2048 qui a provoqué l'élimination de la taille des partitions.


vous devriez expliquer ce que cela fait, destination source?
Pawel Cioch le

0

Le choix de 1 Mio (taille de bloc émulée de 2048 * 512 octets) est un excellent choix pour diverses configurations de stockage matériel. Étant donné que les structures de données du système de fichiers sont généralement alignées sur le point de départ de la partition, cela peut être important pour optimiser la vitesse de lecture / écriture du stockage.

Par exemple:

RAID peut utiliser des bandes de données d’une taille allant de 16 à 256 Ko. 1 MiB étant un multiple entier de cette valeur, le démarrage de la partition à 1 MiB est compatible avec le modèle RAID sous-jacent.

Les disques SSD ont généralement une taille de bloc d'effacement comprise entre 128 et 256 pages NAND, ce qui, selon le lecteur, peut être de 256 Ko ou de 512 Ko. Donc, là encore, le démarrage de la partition à 1 Mio est compatible avec les caractéristiques de stockage SSD sous-jacentes.

Les disques durs rotatifs Advance Format 512e ont une taille de bloc physique de 4 Ko, et encore une fois, 1 Mo est un multiple entier (bien qu'un assez grand) de cela.

Ainsi, si vous possédez un lecteur AF et que vous partitionnez en tant que GPT, vous serez peut-être parfaitement satisfait de votre première partition commençant au bloc LBA 40 (un multiple entier des 8 blocs logiques de chaque bloc physique de votre disque dur). le stockage mondial est perdu en démarrant au bloc LBA 2048 (1 Mio), ce qui est une valeur plus flexible pour le logiciel de partitionnement, car il convient à la plupart des configurations matérielles.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.