Récupération disque HS. Topic is solved

Comment utiliser TestDisk pour récupérer une partition perdue
Locked
Message
Author
maximarc
Posts: 2
Joined: 05 Mar 2012, 11:21

Récupération disque HS.

#1 Post by maximarc »

Bonjour,

Un ami m'a confié son Macbook, le disque est HS: le Mac montre un ? dans un dossier et ne boote pas.

J'ai démonté le disque, et je l'ai placé dans un linux.

Première étape, ddrescue effectué sur le disque.
je constate des blocs défectueux a plusieurs endroits, y compris sur le block 0 de sdd2. (vu dans dmesg)

Mar 4 12:14:51 eeePC900 kernel: [1175491.404616] scsi9 : SCSI emulation for USB Mass Storage devices
Mar 4 12:14:56 eeePC900 kernel: [1175496.440931] scsi 9:0:0:0: Direct-Access ST98823A S PQ: 0 ANSI: 2 CCS
Mar 4 12:14:56 eeePC900 kernel: [1175496.444905] sd 9:0:0:0: Attached scsi generic sg3 type 0
Mar 4 12:14:56 eeePC900 kernel: [1175496.476499] sd 9:0:0:0: [sdd] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
Mar 4 12:14:56 eeePC900 kernel: [1175496.477243] sd 9:0:0:0: [sdd] Write Protect is off
Mar 4 12:14:57 eeePC900 kernel: [1175496.479740] sdd: sdd1 sdd2
Mar 4 12:14:57 eeePC900 kernel: [1175497.303138] sd 9:0:0:0: [sdd] Attached SCSI disk
Mar 4 12:15:25 eeePC900 kernel: [1175525.298357] sd 9:0:0:0: [sdd] Unhandled sense code
Mar 4 12:15:25 eeePC900 kernel: [1175525.298367] sd 9:0:0:0: [sdd] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
Mar 4 12:15:25 eeePC900 kernel: [1175525.298376] sd 9:0:0:0: [sdd] Sense Key : Hardware Error [current]
Mar 4 12:15:25 eeePC900 kernel: [1175525.298386] sd 9:0:0:0: [sdd] Add. Sense: No additional sense information
Mar 4 12:15:25 eeePC900 kernel: [1175525.298396] sd 9:0:0:0: [sdd] CDB: Read(10): 28 00 00 06 40 28 00 00 08 00
[...]

[1260554.586503] sd 10:0:0:0: [sdd] Unhandled sense code
[1260554.586513] sd 10:0:0:0: [sdd] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
[1260554.586522] sd 10:0:0:0: [sdd] Sense Key : Hardware Error [current]
[1260554.586532] sd 10:0:0:0: [sdd] Add. Sense: No additional sense information
[1260554.586542] sd 10:0:0:0: [sdd] CDB: Read(10): 28 00 00 06 40 28 00 00 08 00
[1260554.586562] end_request: I/O error, dev sdd, sector 409640
[1260554.586573] Buffer I/O error on device sdd2, logical block 0


J'ai fait deux images: une de /dev/sdd, l'autre de /dev/sdd2 qui je pense est là où se trouve le système...

ddrescue -d --max-retries=1 /dev/sdd2 /mnt/akasa/sdd2.disk /mnt/floppy/sdd2.log
après de longues heures, il m'affiche ceci:
Initial status (read from logfile)
rescued: 79665 MB, errsize: 16698 kB, errors: 138
Current status
rescued: 79665 MB, errsize: 16698 kB, current rate: 0 B/s
ipos: 53736 MB, errors: 138, average rate: 0 B/s
opos: 53736 MB, time from last successful read: 0 s
Splitting failed blocks...

bien que la partie errsize diminue, ce process est interminable.
J'ai essayé de monter l'image copiée, mais sans succès:

root@eeePC900:/mnt/floppy# mount -t hfsplus sdd2.disk /mnt/toto/ -o loop -v
mount: on se prépare à utiliser le périphérique de type loop /dev/loop0
mount : type erroné de syst .de fichiers, option erronée, super bloc
erroné sur /dev/loop0, codepage ou aide manquante ou autre erreur
Dans quelques cas certaines informations sont utiles dans syslog - essayez
dmesg | tail ou quelque chose du genre

dans dmesg: il y a hfs: unable to find HFS+ superblock

(idem en hfs tout court)

J'ai donc essayé testdisk 6.11 sur l'image.
dans sdd2, j'ai dit "non partitioned media"

analyse me dit:
Disk sdd2_denis_rescue.disk - 79 GB / 74 GiB - CHS 9688 255 63
Current partition structure:
Partition Start End Size in sectors

P Unknown 0 0 1 9687 127 8 155629664

Quick search raconte des choses comme ceci:

Disk sdd2_denis_rescue.disk - 79 GB / 74 GiB - CHS 9688 255 63
Analyse cylinder 6901/9687: 71%


HFS+ 22 29 60 9709 157 4 155629664
HFS+ 22 31 15 9709 158 22 155629664
HFS+ 22 38 7 9709 165 14 155629664
HFS+ 22 41 11 9709 168 18 155629664
HFS+ 22 44 15 9709 171 22 155629664
HFS+ 22 45 49 9709 172 56 155629664
HFS+ 22 50 39 9709 177 46 155629664
HFS+ 22 51 9 9709 178 16 155629664
HFS+ 22 51 34 9709 178 41 155629664
HFS+ 22 51 58 9709 179 2 155629664
HFS+ 22 52 28 9709 179 35 155629664
HFS+ 22 53 14 9709 180 21 155629664
HFS+ 22 66 60 9709 194 4 155629664
HFS+ 22 68 31 9709 195 38 155629664
HFS+ 22 77 57 9709 205 1 155629664
check_FAT: Unusual media descriptor (0xf0!=0xf8)
Warning: Incorrect number of heads/cylinder 16 (FAT) != 255 (HD)
Warning: Incorrect number of sectors per track 32 (FAT) != 63 (HD)
FAT16 2746 1 56 2746 164 26 10240 [IPODRESOURC]

Ensuite, testdisk ne me propose que de récupérer deux partitions fat16, ce qui est incorrect.

Je suis maintenant perdu, je ne sais pas vraiment quoi essayer :(
Je pense que la table de partitions de sdd est bonne, on a bien un sdd1 et un sdd2, mais impossible de réparer sdd2...
C'est je pense le block0 de sdd2 qui étant ko, ne me permet pas de réparer:

fsck.hfsplus sdd2.disk -d
** sdd2.disk
Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
Block 2 is not an MDB or Volume Header
CheckForClean - could not get VHB/MDB at block 155629662
** Checking HFS Plus volume.
Invalid B-tree node size
(4, 0)
** Volume check failed.
volume check failed with error 7
volume type is pure HFS+
primary MDB is at block 0 0x00
alternate MDB is at block 0 0x00
primary VHB is at block 2 0x02
alternate VHB is at block 155629662 0x946b85e
sector size = 512 0x200
VolumeObject flags = 0x05
total sectors for volume = 155629664 0x946b860
total sectors for embedded volume = 0 0x00


Des idées ?
tout est mort sur ce disque ?

Je peux retenter de faire un ddrescue a nouveau, j'ai peut être endommagé mon image sdd2 en essayant des trucs ?
(j'ai une image complète de sdd mais impossible via testdisk d'extraire la partition sdd2: il s'arrête à 2G en se plaignant que le disque est plein, ce qui n'est pas le cas (bug du 2G?) .)

User avatar
cgrenier
Site Admin
Posts: 5432
Joined: 18 Feb 2012, 15:08
Location: Le Perreux Sur Marne, France
Contact:

Re: Récupération disque HS.

#2 Post by cgrenier »

Pour la limite à 2Go, attention à ne pas choisir une destination en FAT32. Sinon essayez avec la version de TestDisk récupérée directement sur www.cgsecurity.org

Concernant l'échec du mount via un loop, je me suis retrouvé il y a quelques semaines avec un disque dont je pouvais monter la partition HFSX mais pour lequel il était impossible de monter l'image (utilisation de losetup -o offset /dev/loop0 image.dd). Je n'ai pas eu le temps de creuser le problème, mais je pense qu'il y avait là un bug kernel (Nota, le disque source avait des secteurs standards de 512 octets, rien d'exotique). Donc si tu as un disque vierge, essayer de recopier le disque d'origine vers celui-ci. En théorie, il n'y a pas de différence mais...

Si tu n'arrives toujours pas à monter la partition, essayes PhotoRec dessus.

Bonne chance

maximarc
Posts: 2
Joined: 05 Mar 2012, 11:21

Re: Récupération disque HS.

#3 Post by maximarc »

Bonjour,

Merci pour les conseils et l'aide.

Juste un petit tour pour vous donner des nouvelles:
la partition du mac est GUID ou un nom similaire. ce format de partition n'est pas toujours correctement pris en charge par certain utilitaires, ce qui peut induire en erreur.

Ceci dit, mon disque avait vraiment un probleme dans le block0 de la bonne partition: fatalement il n'etait pas lisible.

J'ai utilise parted sur un disque neuf que j'ai rempli avec dd a partir d'une image obtenue via d'un dd_rescue.
Lors de son utilisation, parted n'etait pas trop sur, et disait quelque chose d'qpprochqnt d'un "ca ressemble a du GUID, mais si c'est le cas, c'est pas bon" lui dire oui... puis il se plaint que la zone contenant le backup du catalogue n'est pas au bon endroit (normal: disque de taille differente...). j'ai donc demande a parted de faire la copie de la zone au mauvais endroit a la fin du disque.

Toujours impossible de monter les partittions... :-(

J'ai alors utilise disk-warrior, qui en l'espace de quelques minutes (en tous les cas NETTEMENT moins long que la phase de dd_rescue ^^) a pu reparer ce qu'il a pu du disque et me permettre de le monter sur le mac _ouf_

En resume, j'ai recupere des fichiers (certains sont perdus j'imagine, je n'ai pas termine de copier les fichiers sur le mac) et je voulais revenir vers vous vous donner des nouvelles...

Bien que testdisk ici ne m'a pas servi a grand choses, je souhaitais partager la reussite d'une recuperation partielle a l'aide de l'outil commercial diskwarrior dans ce type de cas: on peut parfois etre reticents a l'achat d'un logiciel a l'aveuge: "et si ca marche pas?" (/dev/sdx2 non montable car une erreur physique sur le block 0 empechait le montage du disque).

Bonne continuation a tous.

Locked