Mise à jour finale:
Je savais déjà ce que je devais faire pour résoudre ce problème; Je ne savais tout simplement pas comment faire. J'espérais qu'il y aurait un outil prêt à l'emploi pour le faire automatiquement - mais je n'en ai pas trouvé. J'accepte la réponse de Rod parce que même si je ne résout pas directement mon problème, cela donne un très bon contexte sur le problème de la taille du secteur et m'a donné la certitude que le problème était vraiment l'alignement et la résolution des partitions. Pour ceux qui viennent à cette question ayant le même problème, lisez-le attentivement et attentivement, y compris les commentaires, avant de faire quoi que ce soit.
Au début
J'avais un ordinateur et j'avais besoin de plus d'espace, j'ai acheté un nouveau disque de 500 Go et un boîtier USB. Bientôt, j'ai remarqué que si je partitionnais le lecteur sur le boîtier et le déplaçais vers l'ordinateur, il ne reconnaîtrait pas les partitions (et vice-versa). J'ai supposé que c'était un problème avec le boîtier et je ne m'en suis pas inquiété.
Ensuite, la tragédie
Une merveilleuse journée, mon ordinateur a décidé de ne plus s'allumer. Il s'avère que la carte mère (sans marque, juste un gros MADE IN CHINA imprimé dessus) est morte. Je l'ai utilisé comme serveur de fichiers et ce disque de 500 Go est maintenant plein de données que je ne peux pas me permettre de perdre. Je suis en panne maintenant et je ne peux pas me permettre un nouvel ordinateur, donc mon seul espoir était le boîtier USB "défectueux".
L'enquête
Armé de plusieurs distributions Linux, d'un ordinateur portable, de VirtualBox et du boîtier, j'ai fait une analyse médico-légale sur la question. dmesg a signalé que la taille de la partition dépassait la fin du lecteur. J'ai donc parcouru les fiches techniques des disques durs, calculé le nombre de secteurs à partir de zéro, testé manuellement les limites des disques avec dd, et tout semblait OK, jusqu'à ce que je déclenche fdisk et qu'il soit dit:
Note: Sector size is 4096 (not 512).
Quelle modestie de fdisk. Cette "note" était à l'origine de tous les problèmes. Après quelques manipulations supplémentaires, ces conclusions ont été tirées:
Le boîtier USB n'est pas défectueux.
Le contrôleur SATA sur la carte mère maintenant morte est celui qui était "bizarre", au moins. Il n'a pas signalé les secteurs de 4096 octets au système d'exploitation, donc le système d'exploitation a heureusement créé le MBR en utilisant des adresses de secteur de 512 octets.
Maintenant, lorsque j'essaie d'accéder à la partition, le système d'exploitation essaie d'utiliser les adresses basées sur 512 octets sur un lecteur de secteur de 4096 octets, et bien sûr, cela ne fonctionnera pas.
La question
Alors, comment puis-je corriger les adresses dans le MBR afin qu'elles soient valides sur une taille de secteur de 4096 octets, à part la modification manuelle du MBR sur un éditeur hexadécimal, et
Les partitions ne sont pas alignées pour les secteurs de 4096 octets. Il existe un outil disponible pour les aligner en dehors de la copie dans et hors d'un autre lecteur? (Je n'ai pas de disques de rechange), ou devrai-je créer un outil qui "décale" les données sur le côté un peu à la fois? Les partitions sont ext3.
Merci!
Mise à jour:
J'ai trouvé qu'il existe un moyen intelligent d'utiliser dd pour déplacer la partition en place dans cette question: Comment déplacer une partition sous GNU / Linux? Mais je ne sais pas si cela fonctionnera sur une tranche de secteur, cependant. Je ne peux pas le tester pour le moment mais le ferai quand j'aurai du temps.
Mise à jour 2:
J'ai donc réussi à aligner la partition en utilisant la méthode ci-dessus et à modifier manuellement le MBR sur un éditeur hexadécimal. Dès que j'ai rebranché le disque dur, la partition de la flèche est montée automatiquement! Je ne le recommande pas cependant, il y a eu des erreurs d'E / S pendant le processus et j'aurais pu tout perdre, voir le commentaire sur la réponse de Rod. Pour l'autre partition, je ne prendrai pas de risques et utiliserai un ancien disque dur et alignerai des morceaux à la fois en copiant les données puis en les collant dans une position différente.
fdisk
pour modifier le MBR (j'ai appris cela plus tard, pas besoin d'éditeurs hexadécimaux :)) Vous pouvez changer chaque point de départ et taille d'entrée, et revoir les changements avant de postuler. Donc: démarrez fdisk
, notez la configuration actuelle (ou mieux, sauvegardez le MBR avec dd
), multipliez l'adresse de début et les valeurs de taille par 8 et modifiez-les. Assurez-vous de tout vérifier avec une calculatrice et de comprendre ce que signifient les valeurs. Vous verrez que Size = End - Start + 1, et cela fdisk
montre la taille en unité de 1000 secteurs, vous devrez donc peut-être activer le mode expert pour voir la valeur réelle, etc.