OS X utilise trois types différents de tables de partition valides. Une seule d'entre elles est écrite sur un disque particulier :
La table de partition par défaut sous OS X est la table de partition GUID.
Selon la table de partition précédemment utilisée sur votre disque, vous devez utiliser différents outils pour la créer/modifier/écrire :
- gpt pour la table de partition GUID
- pdisk pour Apple Partition Table
- fdisk pour MBR
Après les informations supplémentaires données par le PO (résultats de testdisk) et la vérification dans une machine virtuelle, il est très probable que le disque a été formaté avec une carte de partition Apple. Par conséquent, utilisez pdisk pour reconstruire la carte de partition.
pdisk :
Un disque typique formaté avec une table de partition Apple ressemble à ceci :
Driver Descriptor Map: Block 0 Size: 1 Block
Apple Partition Table: Block 1 - 63 Size: 63 Blocks
Apple_Free: Block 64 - 262207 Size: 262144 Blocks
1st partition: Block 262208 -
Apple_Free: Size: 262144 Blocks
...
Apple_Free: Size: 262144 Blocks
last partition
Apple_Free: Size: 16 Blocks
Pour recréer la carte de partition, procédez comme suit :
-
attachez le disque externe
-
détachez tout autre disque externe
-
ouvrez le Terminal et entrez diskutil list
pour obtenir le DiskIdentifier (dans l'étape ci-dessous je suppose que votre DiskIdentifier est disk1
-
entrez diskutil unmountDisk /dev/disk1
-
entrez sudo pdisk /dev/rdisk1
Vous obtiendrez le résultat suivant :
Modifier /dev/rdisk1 -
Commande ( ? pour l'aide) :
-
Maintenant, entrez c
puis entrez le bloc de départ, la taille de la première partition et le nom. Vous devez appuyer sur la touche Entrée après chaque saisie. Répétez cette opération pour les deux partitions suivantes. À la fin, cela devrait ressembler à ceci :
Commande ( ? pour l'aide) : c
Premier bloc : 262208
Longueur en blocs : 419430400
Nom de la partition : part1
Commande ( ? pour l'aide) : c
Premier bloc : 419954752
Longueur en blocs : 838860800
Nom de la partition : part2
Commande ( ? pour l'aide) : c
Premier bloc : 1259077696
Longueur en blocs : 694447456
Nom de la partition : part3
Commande ( ? pour l'aide) :
-
À la dernière invite, entrez w
puis y
pour écrire les changements sur le disque et enfin q
pour quitter pdisk :
Commande ( ? pour l'aide) : w
L'écriture de la carte détruit ce qui était là avant. Est-ce que ça va ? [n/y] : y
La table de partition a été modifiée !
Commande ( ? pour l'aide) :
-
Les volumes manquants devraient être montés automatiquement. Sinon, entrez diskutil mountDisk /dev/disk1
. Entrez q
à la dernière invite pour quitter pdisk, puis quittez le terminal, ouvrez l'utilitaire de disque et vérifiez que les volumes récupérés ne comportent pas d'erreurs.
gpt :
Dans l'exemple ci-dessous, je suppose que le DiskIdentifier de votre disque externe est disk1 (vérifiez-le avec la commande diskutil list
)
Vous devez d'abord démonter le disque externe :
diskutil umountDisk disk1
Supprimez le MBR actuel et créez un GPT avec gpt :
sudo gpt create -f /dev/disk1
D'abord reconstruire l'entrée EFI avec :
sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk1
La partition EFI est une partition de taille fixe située au début de chaque disque partitionné par GUID (en utilisant les outils de partitionnement d'OS X).
Ensuite, ajoutez les entrées de la partition JHFS+ avec les résultats de TestDisk :
sudo gpt add -b StartBlock -i IndexNumber -s SizeOfVolume -t 48465300-0000-11AA-AA11-00306543ECAC disk1
Exemple pour la première partition OS X :
sudo gpt add -b 409640 -i 2 -s SizeOfHFSVolume1 -t 48465300-0000-11AA-AA11-00306543ECAC disk1
Après avoir ajouté une partition avec gpt, vous devrez peut-être démonter disk1 avec diskutil umountDisk disk1
si vous obtenez une erreur "resource is busy" en ajoutant des partitions supplémentaires.
Augmentez le numéro d'index de 1 pour chaque nouvelle partition.
Vous trouverez ci-dessous des réponses à des questions similaires (couvrant en partie d'autres systèmes de fichiers comme ExFAT).
Si vous rencontrez des problèmes, laissez un commentaire à la réponse avec @klanomath.