10.12 Sierra Disque dur externe crypté reformaté

Mc kintosh

Membre actif
14 Octobre 2017
159
15
47
Bonjour,

J'ai un gros soucis.

Un disque dur qui contenait toutes les photos de famille est innaccessible.

J'avais pris un disque dur externe de 3To que j'avais divisé en trois partitions. Les trois partitions étaient cryptées mac (fait avec l'utilitaire de disque).

J'ai voulu reformater une partition pour rendre les photos accessible (pas cryptées). J'ai fait ça sur Ubuntu qui a un très bon utilitaire. Il ma proposé de mettre des 0 pour un effacement propre et sécurisé et j'ai fait la connerie de dire oui !!!!

Car non seulement il a commencé à mettre des 0 mais je me suis rendu compte au bout de deux secondes que malgré le fait que je lui ai indiqué la partition à formater... c'était bien tout le disque dur qu'il était en train de formater.

J'ai arrêté le procesus au bout de quelques secondes à 500Megas de données formatées

Résultat : je n'ai plus accès à mes partitions et toutes les photos de famille depuis de 2001 qui étaient dessus poubelles... j'avais une copie, mais le disque dur de copie à crasché un mois avant et je n'avais ni racheté un disque, ni réussit (j'ai essayé ces derniers jours) à récupérer ce disque de secours (erreur de redondance cyclique) via des outils (DiskDrill).

J'ai fait tourner DiskDrill sur tout le disque de 3To, mais il me trouve quasiment rien (14Go de données inutiles) et que trois partitions.

Connaissez vous un moyen de me permettre de récupérer mes données ????

J'ai pensé qu'il était peut-être possible de réparer en ligne de commande puisque les trois partitions étaient cryptées de la même façon et avec le même mot de passe.

J'ai plutôt la boule. J'avais fait des copies de la naissance de mes enfants sur DVD (sage décision) mais tout le reste, de 2001 à 2007 disparus...

S'il y a un Obiwan Kenobi de la récup' de disque dur, je suis tout ouie

Avant que vous ne me le demandiez voici ce qu'affiche la commande Disklist
diskutil list

/dev/disk5 (external, physical):

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *3.0 TB disk5

1: Apple_HFS Boot OS X 134.2 MB disk5s1

2: Apple_HFS 604.9 GB disk5s2

3: Apple_HFS 134.2 MB disk5s3



ET LE COMMANDE DISQUE INFOS SUR CE DISQUE


Device Identifier: disk5

Device Node: /dev/disk5

Whole: Yes

Part of Whole: disk5

Device / Media Name: External USB 3.0


Volume Name: Not applicable (no file system)

Mounted: Not applicable (no file system)

File System: None


Content (IOContent): GUID_partition_scheme

OS Can Be Installed: No

Media Type: Generic

Protocol: USB

SMART Status: Not Supported


Disk Size: 3.0 TB (3000592979968 Bytes) (exactly 5860533164 512-Byte-Units)

Device Block Size: 512 Bytes


Read-Only Media: No

Read-Only Volume: Not applicable (no file system)


Device Location: External

Removable Media: Fixed


Virtual: No

OS 9 Drivers: No

Low Level Format: Not supported
 
Dernière édition:
Salut Mc kintosh

Est-ce que DiskDrill te donne une délimitation des partitions repérées en terme de numéros de blocs du disque ? - par exemple : partition B = du bloc n° tant au bloc n° tant ? - ou encore : du bloc n° tant > avec une extension de tant de blocs ?
 
Je vois que tu as rajouté le tableau retourné par la commande :
Bloc de code:
diskutil list

  • passe à présent la commande :
Bloc de code:
sudo gpt show /dev/disk5

  • à validation > une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide
  • la commande affiche le tableau de la distribution des blocs du disque

Poste ce tableau en copier-coller > en effectant ton coller dans une fenêtre de code par le procédé suivant (nécessaire pour la lisibilité) -->
  • dans la page de ce fil de MacGé > presse le bouton
    InsererCodeMcGe.jpg
    ici :
    521520_original.png

    menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)
 
Merci pour ta réponse.

Alors je viens de faire une pause sur DiskDrill il est à mon avis à 70%

Surprise. Là où il n'y avait que trois partitions il y en a plein maintenant

  1. Unallaocated 1,4To propose de Récupérer
  2. Boot OS X 134M propose de Récupérer
  3. Untitled 2 604Go propose de Continuer
  4. Unallocated 115M propose de Récupérer
  5. Untitled 3 134M propose de Reconstruire
  6. Unallocated 999Go propose de continuer
  7. Partition Perdues 6 134M (HSF+) propose de Récupérer
  8. Partition Perdues 7 999Go (HSF+) propose de Récupérer
 
Ta commande retourne ça. En attendant je continue le scan DiskDrill il me reste... 8h

Bloc de code:
/dev/disk5 (external, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *3.0 TB     disk5

   1:                  Apple_HFS Boot OS X               134.2 MB   disk5s1

   2:                  Apple_HFS                         604.9 GB   disk5s2

   3:                  Apple_HFS                         134.2 MB   disk5s3


xxxxx:~ xxxxxx$ diskutil info /dev/disk5

   Device Identifier:        disk5

   Device Node:              /dev/disk5

   Whole:                    Yes

   Part of Whole:            disk5

   Device / Media Name:      External USB 3.0


   Volume Name:              Not applicable (no file system)

   Mounted:                  Not applicable (no file system)

   File System:              None


   Content (IOContent):      GUID_partition_scheme

   OS Can Be Installed:      No

   Media Type:               Generic

   Protocol:                 USB

   SMART Status:             Not Supported


   Disk Size:                3.0 TB (3000592979968 Bytes) (exactly 5860533164 512-Byte-Units)

   Device Block Size:        512 Bytes


   Read-Only Media:          No

   Read-Only Volume:         Not applicable (no file system)


   Device Location:          External

   Removable Media:          Fixed


   Virtual:                  No

   OS 9 Drivers:             No

   Low Level Format:         Not supported


xxxxx:~ xxxxxx$ sudo gpt show /dev/disk5

Password:

Sorry, try again.

Password:

      start        size  index  contents

          0           1         PMBR

          1           1         Pri GPT header

          2          32         Pri GPT table

          34  2725505302    

  2725505336      262144      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

  2725767480       36295    

  2725803775  1181378496      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

  3907182271      225845    

  3907408116      262144      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC

  3907670260  1952862871    

  5860533131          32         Sec GPT table

  5860533163           1         Sec GPT header
 
Analyse. Ceci -->
Bloc de code:
      start        size  index  contents
          0           1         PMBR
          1           1         Pri GPT header
          2          32         Pri GPT table

  • est le secteur des tables de partitions. Une Protective_MBR sur le bloc 0 & une GPT sur les 33 blocs suivants. RAS.
  • de même > cela tout en bas de tableau -->
Bloc de code:
  5860533131          32         Sec GPT table
  5860533163           1         Sec GPT header

  • est le secteur de la sauvegarde de la GPT principale de début de disque par un backup sur les 33 tout derniers blocs. RAS.

----------

Ensuite > ceci -->
Bloc de code:
          34  2725505302

  • désigne une bande de blocs libres qui commence au n°34 > et qui a une extension de 2725505302 blocs = 1,39 To. C'est là qu'il faut commencer à s'accrocher théoriquement.
  • de manière canonique avec une table GPT > après le bloc terminal de la GPT de haut de disque > il y a 6 blocs libres qui amènent régulièrement à un bloc n°40 qui est le bloc 0 d'une partition de type EFI d'une extension exacte de 409600 blocs (209,7 Mo). Cette partition de type EFI > présente par défaut avec une table GPT > recèle un système de fichiers FAT-32 (ce qui permet sa compatibilité avec des exécutables de prédémarrage non Apple comme ceux d'un volume BOOTCAMP contenant un Windows). Le bloc n° 40 = bloc 0 de cette partition de type EFI est le super-bloc du système de fichiers FAT-32 => le header (en-tête) de ce système de fichiers est inscrit précisément sur ce bloc. C'est le bloc "origine" du système de fichiers > lequel ne peut se trouver repris en charge par le kernel que si son super-bloc se trouve déterminé comme bloc 0 d'une partition dans le bon type. Un volume intitulé EFI doit alors se trouver défini sur la partition (non monté par défaut).
  • comme la recréation des partitions à leurs localisations exactes est une œuvre progressive > dont on teste pas à pas les effets produits > je te propose de tenter de récréer en 1er lieu dans la table GPT un descripteur de cette partition EFI canonique de 209,7 Mo. On verra si > en résultat > un volume EFI se trouve repris en charge par le kernel.

Passe d'abord la commande (copier-coller) :
Bloc de code:
diskutil umountDisk force disk5

  • la commande démonte de force le disque du DDE de ses volumes et désactive la table GPT > condition de possibililité d'un acte d'écriture à cette table. Si tu obtiens le retour :
Bloc de code:
Forced unmount of all volumes on disk3 was successful

  • = succès du démontage --> enchaîne avec la commande (copier-coller) :
Bloc de code:
sudo gpt remove -i 1 disk5

  • la commande supprime le descripteur de la fausse partition n°1 qui vient bien après et qui vole le rang n°1 dans la table GPT.

Poste l'affichage retourné. C'est encore un préalable à la recréation de la partition EFI à son rang n°1.

Note : la préservation de la table GPT > même avec de sévères perturbations dans ses descripteurs > révèle des blocs d'ancrage significatifs. J'ai bon espoir > après la recréation de la partition de type EFI > de pouvoir te faire déjà recréer - je pense au bloc près - la première grande partition chiffrée qui suit. Mais il faut savoir opérer patiemment et avec minutie.
 
Dernière édition par un modérateur:
  • J’aime
Réactions: litobar71 et demougin
Sérieux, pendant les cours d'informatique, t'as pas dormi toi !!! Je suis scotché de tant d'érudition. Merci vraiment de partager ce savoir.

:bookworm:

Je pense saisir que tu veux que je teste les éléments un par un pour ne rien perdre. Mais pourrais tu le préciser à chaque étape ?

Cette étape est bien juste une manip qui ne touche pas à l'écriture des disques ou du MBR ?

J'ai une petite question sur DiskDrill : tu penses que ce n'est pas bien de passer par DiskDrill pour essayer de réparer/reconstruire les tables ? Que c'est moins prudent et plus risqué ?

J'attends ta réponse et démarre ta procédure.
 
  • J’aime
Réactions: demougin
Les manipulations que je te propose de faire --> ne portent que sur les descripteurs de partitions de la table GPT. Elles ne touchent en aucun cas aux écritures des blocs du disque. Elles ne feront que supprimer des descriptions invalides > pour recréer des descriptions valides.

Il faut savoir que c'est le kernel en exercice qui prend en charge les systèmes de fichiers des partitions > et les volumes qu'ils définissent > uniquement à partir du bloc d'adressage de la table de partition. Si un descripteur est valide --> hop ! le kernel peut remonter le volume défini sur une partition.

Je ne peux pas te détailler tout ce qu'il y a à faire > parce que ça donnerait un topo démesuré. L'idée générale est d'abord de supprimer les 3 descripteurs de partitions qui volent les rangs des partitions valides à recréer. Puis de recréer un à un chaque descripteur de partition à son rang --> en vérifiant chaque fois si la partition correspondante et son volume sont repris en charge par le kernel.
 
  • J’aime
Réactions: demougin
Bon j'ai effectué la procédure.

Il a bien ejecté le disque.

J'ai un alerte mac qui me dit que "Le disque que vous avez inséré n'est pas lisible par cet ordinateur" en proposant d'initialiser, ignorer et ejecter
 
Dernière édition:
Comme tu as donné le tableau des partitions enregistré actuellement dans la table GPT > qui constitue disons un "paradigme" logique --> tu peux toujours tenter les reconstructions proposées par DiskDrill si tu veux. Elles recréeront en principe de nouveau descripteurs. On verra bien à l'arrivée ce que ça donne.
 
Oh le stress !!! J'ai effectué l'opération de démontage que tu m'a proposé.

Si j'essaye avec DiskDrill : ce sera destructif de "reconstruire" ?

Essai 1 : avec DiskDrill
Ok : sur la partition de Untitled 2 de 604 Go, DiskDrill n'a pa pu reconstruire le fichier catalogue de cette partition, essayez avec d'autres méthodes de récupération...

Idem pour l'autre... la partition de Untitled 3 de 134M
 
DiskDrill tente manifestement d'intervenir sur les écritures des blocs des partitions et pas sur les descripteurs des partitions dans la table GPT. Les procédés sont donc différents. À toi de voir ce que tu fais.
 
  • J’aime
Réactions: Mc kintosh
Ca n'a pas marché de toute façon, on peut essayer à ta manière ?

J'ai quitté DiskDrill et je suis toujours avec le disque ejecté avec ta manière et la fenêtre "disque que vous avez inséré n'est pas lisible par cet ordinateur"
 
Je te redonne la partie pratique de mon message antérieur.

Passe d'abord la commande (copier-coller) :
Bloc de code:
diskutil umountDisk force disk5
  • la commande démonte de force le disque du DDE de ses volumes et désactive la table GPT > condition de possibililité d'un acte d'écriture à cette table. Si tu obtiens le retour :
Bloc de code:
Forced unmount of all volumes on disk3 was successful
  • = succès du démontage --> enchaîne avec la commande (copier-coller) :
Bloc de code:
sudo gpt remove -i 1 disk5
  • la commande supprime le descripteur de la fausse partition n°1 qui vient bien après et qui vole le rang n°1 dans la table GPT.

Poste l'affichage retourné.
 
Merci

Rien retour au prompt après la procédure sur le terminal
Ca me met une alerte popup système Mac "le disque que vous avez inséré n'est pas lisible par cet ordinateur" => boutons initialiser, ignorer, ejecter

Je reste en ligne et j'actualise pour aller plus vite
 
Alors passe de nouveau la commande :
Bloc de code:
sudo gpt show disk5

  • qui affiche la distribution des blocs du disque

Poste le tableau --> qu'on voie si le descripteur n°1 a été supprimé ou pas. Tu es sûr que le disque du DDE est toujours disk5 ?
 
Bloc de code:
   start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34  2725803741      
  2725803775  1181378496      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  3907182271      225845      
  3907408116      262144      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  3907670260  1952862871      
  5860533131          32         Sec GPT table
  5860533163           1         Sec GPT header

Oui toujours je viens de vérifier avec diskutil list

Bloc de code:
/dev/disk5 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk5
   1:                  Apple_HFS                         604.9 GB   disk5s2
   2:                  Apple_HFS                         134.2 MB   disk5s3
 
Le 1er descripteur a bien été supprimé de la table GPT.

On répète la manœuvre pour les 2 autres. Passe (l'une après l'autre) les commandes :
Bloc de code:
diskutil umountDisk force disk5
sudo gpt remove -i 2 disk5
diskutil umountDisk force disk5
sudo gpt remove -i 3 disk5
sudo gpt show disk5

  • a) démontage > b) suppression du descripteur n°2 > c) redémontage > d) suppression du descripteur n°3 > e) affichage du tableau des blocs

Poste le tableau des blocs affiché à la fin.
 
Opération 1 : Removed
Opération 2 : Removed

Résultat

Bloc de code:
sudo gpt show disk5
       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34  5860533097     
  5860533131          32         Sec GPT table
  5860533163           1         Sec GPT header

SI TU ATTENDS IL Y A UNE DEUXIÈME PAGE QUI S'EST CRÉÉ POUR LE TOPIC
 
Dernière édition:
On voit que la table GPT est devenue une épure : il n'y a que la GPT primaire de haut de disque et la GPT secondaire (backup) du pied de disque. C'est ce qu'on appelle une table vide > ne décrivant aucune partition sur les blocs.

On s'attelle à présent à la recréation d'un descripteur de la 1ère partition par défaut : la partition EFI. Passe les commandes (l'une après l'autre) :
Bloc de code:
diskutil umountDisk force disk5
sudo gpt add -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B -i 1 /dev/disk5

  • la 1ère redémonte le disque (même sans partition) --> afin que la table GPT soit bien désactivée
  • la 2è crée un descripteur de partition de rang1 > dans le type EFI (déterminé par son UUID) > avec le bloc n°40 comme bloc 0 > et une extension de 409600 blocs = 209,7 Mo

Poste l'affichage retourné par la 2è commande.
 
  • J’aime
Réactions: Mc kintosh