1 votes

Mon disque dur SATA a été éjecté et ne peut pas être remonté en raison de problèmes.

J'ai un Mac Pro 2012, il fonctionne sous Mountain Lion :( mais il a quelques disques partitionnés. J'ai une tour 1 et une tour 2. La tour 2 a récemment gelé mon ordinateur, il contient la plupart de mes vidéos pour le montage, donc le perdre serait une honte. J'ai redémarré l'ordinateur et l'icône de la tour 2 sur le côté gauche avait disparu. J'ai essayé de la réparer dans l'Utilitaire de disque, puis également dans Terminal. Voici la réponse que j'ai obtenue de mon fidèle Apple :

Last login: Tue Sep 13 18:34:11 on ttys001
DAJ-ROMMs-Mac-Pro:~ andrew$ diskutil repairDisk /dev/disk1 
Repairing the partition map might erase disk1s1, proceed? (y/N) y 
Started partition map repair on disk1 
Checking prerequisites
Checking the partition list
Problems were encountered during repair of the partition map 
Error: -69770: Partition map check failed because no slices were found

J'ai essayé beaucoup d'autres choses, comme retélécharger le système d'exploitation, et désactiver Spotlight via le terminal. Je finis toujours par arriver à cette réponse. J'aimerais vraiment poursuivre mon travail d'édition, alors si cela dit quelque chose à quelqu'un, je lui en serai éternellement reconnaissant.

Last login: Wed Sep 14 14:03:44 on ttys000
sudo gpt -r show /dev/disk1
      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  1953115495         
1953525135          32         Sec GPT table
1953525167           1         Sec GPT header
gpt show: /dev/disk2: Suspicious MBR at sector 0
     start        size  index  contents
         0           1         MBR
         1           1         Pri GPT header
         2          32         Pri GPT table
        34      411614         
    411648  1953112064      2  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
1953523712        1423         
1953525135          32         Sec GPT table
1953525167           1         Sec GPT header

1voto

klanomath Points 63400

Pour déterminer ce qui ne va pas avec vos disques durs ou vos volumes, vous devez d'abord avoir une vue d'ensemble. Les meilleurs outils pour y parvenir sont diskutil y gpt - deux outils de ligne de commande qui doivent être exécutés dans Terminal.app.

Ouvrez Terminal.app et entrez :

diskutil list

Pour exécuter une commande, vous devez toujours saisir la commande Enter clé.

La commande ci-dessus donnera quelque chose comme ceci (en fonction du nombre de disques dans votre Mac) :

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   2:       Microsoft Basic Data tower 1                 1.0 TB     disk2s2

L'exemple montre ce qui suit :

  • disk0 est votre lecteur système contenant une partition EFI (disk0s1), votre volume système principal "Macintosh HD" (disk0s2) et un volume de récupération (disk0s3). La taille de toutes les partitions (0.2 GB + 499 GB + 0.7 GB) est égale à la taille totale du disque (500 GB).
  • disk1 est un disque de 1 To contenant uniquement une EFI d'une taille de 200 Mo et avec 999,8 Go d'espace vide.
  • disk2 est un disque de 1 To contenant un volume de 1 To probablement formaté en FAT32, ExFAT ou NTFS.

On peut maintenant en déduire que le volume manquant tour 2 résidait autrefois sur le disque 1.

Après un redémarrage, les identifiants du deuxième et du troisième disque peuvent être échangés ! Donc, exécutez toujours diskutil list avant de manipuler les tables de partition !

Pour obtenir un aperçu plus précis du disque 1, utilisez gpt :

sudo gpt -r show /dev/disk1

Cela va révéler :

      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  1953115495         
1953525135          32         Sec GPT table
1953525167           1         Sec GPT header

Cela signifie :

  • Le disque possède une table de partition GUID (GPT).
  • La première partition (index = 1) est une partition de type EFI (C12A7328-F81F-11D2-BA4B-00A0C93EC93B), commençant au bloc 40 et ayant une taille de 409600 blocs (~209.7 MB).
  • A partir du bloc 409640 1953115495 blocs (~1 TB) du disque ne sont pas alloués à une partition.

Vous pouvez supposer que votre partition "perdue" (avec le nom de volume tour 2 ) a autrefois résidé ici.

Après avoir ajouté une partition, elle doit être formatée et un système de fichiers doit être créé. Le système de fichiers peut être (entre autres) : HFS+, ExFAT ou NTFS

Si vous connaissez le système de fichiers précédent, vous pouvez continuer à restaurer une partition. Si vous ne connaissez pas le système de fichiers, vous pouvez le déterminer en recherchant les en-têtes typiques du système de fichiers.

Pour déterminer une utilisation antérieure du volume de HFSJ :

sudo hexdump /dev/disk1 | grep "48 46 53 4a"

Cela va rechercher la chaîne "HFSJ" sur votre disque brut. Après avoir obtenu les premiers résultats, entrez simplement ctrlC pour interrompre la commande.

Sur votre type de disque, vous devriez obtenir les résultats suivants :

c805400 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
ca13e00 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
ca40e00 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff
...

Ici, la ligne importante est la première : c805400 48 2b 00 04 80 00 20 00 48 46 53 4a 00 00 01 ff avec c805400 étant le décalage en hexagone. Convertie avec un service hex2dec cela signifie un décalage de l'octet 209736704 (en divisant cela par 512 octets/bloc, le résultat est égal au bloc 409642). En général, le troisième bloc d'un volume HFSJ contient la chaîne "HFSJ". Vous avez donc trouvé le début d'un volume HFSJ : bloc 409640 ( BlockF ).

La fin d'un volume HFSJ peut être trouvée en conséquence car le 3ème dernier bloc contient la dernière occurrence HFSJ :

sudo hexdump -s 930g /dev/disk1 | grep "48 46 53 4a"

L'option -s signifie : Sauter les octets de décalage à partir du début de l'entrée.

Avec le dernier décalage (et en faisant le calcul comme ci-dessus), vous pouvez déterminer le dernier bloc ( BlocL) du volume HFSJ précédent en ajoutant simplement 2 blocs. La taille du volume HFSJ est alors de (BlocL-BlocF).

Après avoir rassemblé toutes les données nécessaires, vous pouvez maintenant essayer de restaurer le volume perdu. tour 2 avec le sudo gpt add ... mando.

Pour ajouter une entrée de partition, vous devez exécuter :

sudo gpt add -i number -b number -s number -t type diskX

avec

  • -i numéro d'index
  • -b numéro du premier bloc
  • -s taille en blocs
  • -t type de partition

Je ne connais ni le premier ni le second décalage de votre volume. tour 2 mais la commande ci-dessous peut fonctionner et les tailles entrées sont probablement des valeurs par défaut :

sudo gpt add -2 -b 409640 -s 1952443704 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk1

Après avoir ajouté cette entrée dans la table de partition, le volume devrait être monté automatiquement.

Vérifiez le disque et le volume avec :

diskutil verifyDisk disk1
diskutil verifyVolume disk1s2

Si une réparation est nécessaire, utilisez la réparation "préfixe" au lieu de vérifier !


Si vous avez des questions ou si vous ne trouvez pas la chaîne "HFSJ", veuillez ajouter un commentaire à l'adresse suivante @klanomath !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X