Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 10/10/2012, à 11:24

tvpm

[Récupération de données] Carte SD FAT32 -> RAW & sector size is zero

Yello hello cher co-ubuntéens

Je viens à vous pour une histoire de crash de carte SD (FAT32, 16 Go).
(story) Avant-hier, je mettais à jour mon petit smartphone Android (nouvelle ROM) via le traditionnel ClockWorkMod avec un update.zip placé sur ma SD, rien de plus classique.
Bien évidemment, j'avais pris toutes mes précautions de sauvegarde (backup CWM, backups individuels Titanium, etc.) sauf une seule : copier ces sauvegardes sur un autre support (riez riez !).

Je lance mon smartphone en recovery mod pour appliquer l'update, je lance l'update et là, le fail :
--> ma SD est "endommagée" (damaged) et "non montable".

Mon périple pour secourir ces données commence ici (j'ai une mini expérience de récup de données en tant qu'ancien utilisateur windows).
Dans l'ordre :
- j'éteins le téléphone en panique mais avec une relative sérénité car je me dis que les données n'ont pas pu sauter en 1/10è de seconde ;
- je mets ma SD bien au chaud sans y toucher ;
- je lis les topics pouvant concerner le sujet sur xda-developers (forum référence anglais en dév android) ;
- je me créé une partition ext4 puis y sauvegarde ma SD via dd en .img : à partir de ce moment, je ne travaille plus que sur mes .img de ma SD ;
- je comprends que les cœurs de problème de ma SD semblent être "logical sector size is zero", une géométrie non déterminée -> le mount de mon .img ne veut pas se faire (j'ai tenté des histoires de -o loop avec des offset calculés) ;
- je comprends que le problème n'est plus à rattacher du côté "SD/Android" mais "support de data endommagé mais data clean" -> cette réflexion m'oriente vers l'univers linuxien ;
- globalement, je suis 2 tutoriels formidables : sur hardware.fr (enfoiro) et ici-même (rmy) et j'espère alors m'en sortir vite et bien et effectue une img dd_rescue ;
- testdisk me dit non, photorec me dit oui : je récupère mes données (85% environ, 18 minutes exécutées, planté à 3 minutes de la fin) mais au format photorec : c-à-d sans arborescence... et c'est ceci qui me grise.
----> Je me dis qu'il est possible de faire mieux et voilà pourquoi j'en appelle à vos expertises.

Voici mes extraits de code selon la méthodologie rmy et le tuto MBR de Nasman) - tous les travaux sont effectués sur une .img dd_rescue - :

sudo sfdisk -luS ddrescue.img

Disque ddrescue.img : impossible d'obtenir la géométrie

Disque ddrescue.img : 1964 cylindres, 255 têtes, 63 secteurs/piste

sfdisk: Erreur : le secteur 0 n'a pas une signature MS-DOS
 ddrescue.img : type non reconnu de table de partition
Aucune partition repérée

Testdisk_static (l'option "cylinder boundary" n'est pas disponible mais vu le résultat..)
- Quick search : No partition found or selected for recovery
- Deeper search : No partition found or selected for recovery

Je re-précise ici que photorec me permet de récupérer presque toutes mes données et non altérées (photos HD intactes par exemple) et, de fait, que le disque n'a subi aucune écriture depuis son 'crash'.

sudo fdisk -l ddrescue.img

Disk ddrescue.img: 16.2 GB, 16159604736 bytes
255 têtes, 63 secteurs/piste, 1964 cylindres, total 31561728 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00000000

Le disque ddrescue.img ne contient pas une table de partitions valable

sudo dd if=ddrescue.img bs=512 count=1 | hexdump -C

1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés00000000  41 4e 44 52 4f 49 44 21  f8 c2 49 00 00 80 00 10  |ANDROID!..I.....|
00000010  53 6f 1b 00 00 00 00 11  00 00 00 00 00 00 f0 10  |So..............|
, 4,9534e-05 s, 10,3 MB/s
00000020  00 01 00 10 00 08 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

sudo dd if=ddrescue.img bs=1 count=64 skip=446 | hexdump -C

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
64+0 enregistrements lus
64+0 enregistrements écrits
64 octets (64 B) copiés, 0,000295363 s, 217 kB/s
00000040

Je suis tout ouï (de vue en fait) à vos suggestions et à vos éclairages pour m'aider, in fine, à mount cette image disque.

D'avance, un grand merci.
--tvpm

Dernière modification par tvpm (Le 10/10/2012, à 11:34)

Hors ligne

Haut de page ↑