A mon avis, "TestDisk" a détruit votre GPT.
Veuillez comparer le résultat de TestDisk avec mes disques. Les disques dans mon exemple sont de taille égale, le disque0 contient une partition CoreStorage et le disque2 une partition JHFS+ à l'ancienne. J'utilise deux disques séparés car on ne sait pas (du moins pour moi) quel type de formatage (CS ou JHFS+) a été utilisé à l'origine.
Le PMBR/GPT et les trois premières partitions (EFI/Macintosh HD/Recovery HD) devraient ressembler à ceci, si vous aviez une partition CoreStorage auparavant :
root# gpt -r -vv show disk0
gpt show: disk0: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk0: PMBR at sector 0
gpt show: disk0: Pri GPT at sector 1
gpt show: disk0: Sec GPT at sector 134217727
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 132538512 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
ou comme ceci, si vous aviez auparavant un volume JHFS+ classique :
root# gpt -r -vv show disk2
gpt show: disk2: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Pri GPT at sector 1
gpt show: disk2: Sec GPT at sector 134217727
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 132538512 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
(Veuillez considérer que la taille du média, les blocs, le secteur du GPT secondaire, la taille du 2ème volume et le bloc de départ du 3ème volume sont différents des vôtres, car j'utilise ici des disques d'exemple plus petits).
Votre problème devrait être résolu en réécrivant le GPT une fois de plus.
Préparation :
Installez un système vanille complet (Mavericks ou Yosemite devrait fonctionner) sur une clé USB (ou un disque externe). Un système de récupération ne fonctionnera pas. Démarrez sur la clé USB, téléchargez et installez wxHexEditor . Activez l'utilisateur Root et connectez-vous en tant que Root.
Conseil : Lorsque vous travaillez avec wxHexEditor, n'utilisez pas le copier-coller. Saisissez tout manuellement ! Vous pourriez accidentellement écrire directement sur votre disque.
Partition JHFS+ ou CoreStorage ?
Vous devez d'abord déterminer si vous aviez une partition JHFS+ ou CoreStorage à l'index numéro 2.
Ouvrez la calculatrice. Ouvrez wxHexEditor. Vérifiez que vous travaillez en mode lecture seule ("Options" -> "Mode fichier" -> "Lecture seule"). Dans la barre de menu, allez dans "Devices" -> "Open disk device" -> choisissez le diskNumber approprié. Il s'agit probablement du disque 0. Le disque devrait avoir d'autres partitions (disk0s1 - disk0s5). Essayez de disposer la fenêtre wxHexEditor comme dans les exemples ci-dessous avec des lignes rouges droites.
Ensuite, cliquez sur le bouton "Go to offset" (marqué par le cercle vert) et entrez 409640 exactement comme dans l'image ci-dessous. Parfois, vous devez le faire deux fois pour atteindre le bon secteur. Vérifiez à nouveau le secteur correct en entrant le décalage (marqué en rouge) dans la calculatrice et divisez-le par 512.
Les trois premiers secteurs d'une partition CoreStorage ressemblent à ceci :
Les 3 premiers secteurs d'un JHFS+ ressemblent à ceci :
Si vous obtenez une image fondamentalement différente, arrêtez-vous ici.
Où commence la partition EFI ?
Cliquez sur le bouton "Go to offset" et entrez 40 exactement comme dans l'image ci-dessous :
Si vous voyez les mêmes entrées comme dans l'image ci-dessus (XEBSD 4.4...EFI...FAT32), c'est le secteur de départ de votre partition EFI. S'il n'y a que des zéros, cela peut aussi être valable.
Où commence la partition Recovery HD ?
C'est probablement la partie la plus difficile, car il faut trouver une chaîne de caractères qui ne soit pas très spécifique. Sautez presque à la fin de votre 2ème partition (dans votre cas ~400 Mo/781250 secteurs moins que 1164570456 = 1163789206)
Saisissez ensuite "HFSJ" comme dans l'image ci-dessous, recherchez cette chaîne deux fois et notez les différents décalages :
Vous pouvez avoir deux résultats vraiment différents selon le type de partition :
-
Calculez le numéro de secteur de la première découverte. Dans mon exemple (voir image ci-dessus) c'est 68069452800/512=132948150. Continuez à chercher et calculez le secteur de la deuxième découverte. Dans mon cas, c'était 68069454848/512=132948154 (pas d'image).
La différence entre les deux résultats est de 4 blocs (=2 KB).
Ceci est typique de la limite entre une partition JHFS+ et le disque dur de récupération. Le disque dur de récupération commence alors au secteur de la deuxième découverte - 2 (dans mon exemple 132948154-2=132948152).
-
Calculez le numéro de secteur de la première découverte. Dans mon exemple, c'était 67733904384/512=132292782 (pas d'image). Continuez à chercher et calculez le secteur de la deuxième découverte. Dans mon cas, c'était 68069454848/512=132948154 (pas d'image). La différence entre les deux résultats est de 655372 (~336 MB).
Ceci est typique de la limite entre une partition CoreStorage et le disque dur de restauration. Le disque dur de récupération commence alors au secteur de la deuxième découverte - 2 (dans mon exemple 132948154-2=132948152).
Avec ces résultats, vous devriez être en mesure de restaurer votre GPT correctement. Quittez wxHexEditor. Si l'on vous demande d'enregistrer les modifications ne les sauvez pas ! .
Reconstruire un GPT correct
Ici, je suppose que l'identifiant de votre disque principal est disk0. Tout d'abord, vous devez démonter votre disque principal :
diskutil umountDisk disk0
Vérifiez la disposition des partitions puis supprimez les trois premières partitions :
gpt -r -vv show /dev/disk0
gpt remove -i 3 disk0
gpt remove -i 2 disk0
gpt remove -i 1 disk0
Comme l'EFI et le Recovery HD ont généralement des tailles fixes, nous pouvons calculer le bloc de début et de fin de votre volume principal.
D'abord on reconstruit l'EFI avec :
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
Ensuite, nous calculons la taille du volume principal : le bloc de départ est de 409640. Le bloc de fin a été trouvé dans la section "Où commence la partition du Recovery HD" : 1 de moins que le bloc de départ du Recovery HD. La taille est donc StartBlockOfRecoveryHD-409640.
Si vous avez trouvé un JHFS+ classique plus tôt, la commande suivante devrait réparer la partition 2 :
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
Si vous avez trouvé une partition CoreStorage plus tôt, la commande suivante devrait réparer la partition 2 :
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Pour reconstruire le disque dur de récupération, entrez :
gpt add -b StartBlockOfRecoveryHD -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Remonter le disque0 avec :
diskutil mountDisk disk0
Quittez Terminal, lancez l'utilitaire de disque et vérifiez si votre volume principal (probablement le disque dur de Macintosh) présente des erreurs et essayez de les réparer si nécessaire.
Si vous avez trouvé une partition CoreStorage auparavant, vous devrez peut-être redémarrer sur votre clé USB avant de réparer les volumes avec l'utilitaire de disque, car le volume logique CoreStorage pourrait ne pas être reconnu/monté correctement. Dans votre configuration - 1 disque principal et la clé USB - le volume logique devrait être disk2.
J'espère que cela résout vos problèmes.
Si vous rencontrez des problèmes (par exemple si vous ne trouvez pas le bon secteur de départ de votre Recovery HD), si vous avez des doutes ou des questions, arrêtez immédiatement et contactez-moi avec un commentaire @klanomath !