Comment réparer manuellement une table de partition?

10

J'ai récemment eu des problèmes avec la table MBR / partition sur mon ordinateur portable. J'ai réussi à reconstruire la table de partition à l'aide de testdisk et à installer GRUB pour le redémarrer correctement (j'utilise un double démarrage avec Windows 7). Cependant, je ne peux plus exécuter correctement gparted car j'obtiens l'erreur Can't have a partition outside the disk!.

fdisk -l la sortie ressemble à ceci:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x188f12a9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         154     1228800    7  HPFS/NTFS/exFAT
/dev/sda2             154       13446   106775171    7  HPFS/NTFS/exFAT
/dev/sda3           13447       28745   122880000   83  Linux
/dev/sda4           28745       30402    13317664+   f  W95 Ext'd (LBA)
/dev/sda5           28745       29127     3069944   82  Linux swap / Solaris
/dev/sda6           29127       30402    10240000    7  HPFS/NTFS/exFAT

Ainsi, le disque a 30401 cylinders, mais sda6se termine à cylinder 30402; c'est probablement là que réside le problème.

Lorsque j'exécute testdisk, sa 6e partition se termine à cylinder 30401, mais l'écrire dans la table de partition ne fait aucune différence.

Existe-t-il un moyen simple de résoudre ce problème?

J'ai lu ailleurs que je pouvais résoudre ce problème en modifiant manuellement la table de partition, mais j'aimerais des instructions vraiment spécifiques car je ne connais pas grand-chose à ce sujet!

jwaddell
la source
1
Êtes-vous capable de courir gparted /dev/sda6? Pouvez-vous exécuter l'éditeur de partition à partir d'un Live CD? Sinon, le manuel peut être la voie à suivre ...
Rasman
La même chose se produit lors de l'utilisation d'un Live CD. Je vais essayer gparted /dev/sda6ce soir.
jwaddell

Réponses:

11

Utilisez fdisk. Mettez-la en mode secteur avec la ucommande, puis pimprimez la table, dsupprimez la partition, puis nrecréez-la. Lorsque vous le recréez, utilisez le même secteur de départ, mais un secteur de fin qui tient réellement dans le disque. Lorsque vous avez terminé et revérifié (à pnouveau), enregistrez et quittez avec w.

psusi
la source
1
Il s'est avéré que c'était la partition étendue qui était le problème, mais fdiska bien fonctionné pour la recréer et les partitions logiques à l'intérieur. gparteds'ouvre maintenant correctement.
jwaddell
Cela ne provoquerait-il pas la perte des données? Un avertissement, peut-être ...
ADTC
@ADTC, non; le tout est de récupérer des données.
psusi
1
@ADTC, la nouvelle ne sera pas vide car la suppression et la recréation d'une partition ne touchent pas les données de la partition; il définit uniquement les limites de la table de partition. En supprimant et en recréant la partition avec le même début mais une fin différente, vous fixez effectivement la taille de la partition.
psusi
1
Oui, il est important de comprendre ce qu'est une partition - c'est simplement un peu de données sur le disque dur qui dit 'commence ici, fin ici, appelle-le numéro 4 ..'. La table de partition est juste un peu de données contenant tous ces petits mappages. Les données sont toujours là, il vous suffit d'indiquer au système d'exploitation où se trouvent les données.
John Hunt
1

Téléchargez et installez Boot Repair , un outil de récupération automatisé qui résout généralement ce type de problèmes.

Julien Chau
la source