Probleme carte SD

Krystoff

Membre confirmé
17 Janvier 2016
12
0
53
Capture d’écran 2016-06-03 à 16.17.31.webp
Bonjour

J'ai un souci avec ma carte SD Sandisk SDHC 32gb.
Je m'en sert pour sauvegarder mes fichiers importants.
Elle est constamment dans le lecteur de carte de mon macbook air 2015.

Le problème est que maintenant, elle est tres longue a monter et a éjecter.
Je ne peux plus copier le contenu de la carte ailleurs par ce que le finder indique en permanence;
"Impossible d’effectuer l’opération car l’élément « xxxx» est utilisé. (quel que soit le genre de fichier, pdf, jpeg, mp4, PSD etc..)

J'ai essayé de la copier sur un PC sous W10, sans resultats.

Quelqu'un aurait une idée pour sauver ce qu'elle contient svp ?
 
Salut Krystoff

Ta carte a une table de partition MBR et sa partition principale un format de système de fichiers exFAT : nil obstat ! en principe à une opération de récupération. D'où :

Le volume SD Card de ta carte bien apparent sous forme d'icône sur ton Bureau, va à : Applications > Utilitaires et lance le «Terminal». Fais un copier-coller de la commande :
Bloc de code:
rsync -avE /Volumes/SD\ Card Desktop
et ↩︎ (presse la touche "Entrée" du clavier pour activer la commande) => cette commande appelle l'utilitaire de clonage rsync avec les options d'archive conforme (-a), de verbosité (-v - pour ne pas que tu t'ennuies en croyant qu'il ne se passe rien, mais bien quelque chose inversement
361608_original.png
) et de préservation des attributs étendus (-E) combinées (-avE) avec comme "source" le volume monté de ta carte (/Volumes/SD\ Card) et comme "destination" ton Bureau de compte (Desktop).

=> si tout se passe normalement, tu devrais voir se créer sur ton Bureau un dossier du même nom que le volume de ta carte = SD Card et s'afficher en continu, terme à terme, le déroulement de l'opération de clonage des fichiers. Si c'est bien le cas, attends la fin de cet affichage et le retour de l'invite de commande à ton nom d'utilisateur, de type krystoff$ (ça peut prendre du temps s'il y a des Go de données) : tu devrais alors retrouver dans le dossier SD Card du Bureau une arborescence-miroir de celle du volume de ta carte, avec identité de fichiers terminaux.

☞ à toi de dire si ça a marché...
 
  • J’aime
Réactions: Krystoff
Super!
Merci pour cette réponse rapide, détaillée et efficace.

Donc ça a fonctionné, ou tout du moins en partie.
Apres plusieurs heures le processus c'est donc terminé, mais le dossier est 2 fois moins volumineux que le dossier de départ.

Dois je en conclure que ce qui est manquant est perdu ?
Capture d’écran 2016-06-04 à 13.34.09.webp
Merci :)
 
Demi-succès - ou demi-échec ?

Je te propose alors de procéder à une opération analogue, en variant l'utilitaire de clonage appelé par la commande afin que tu puisses vérifier le résultat du travail en terme de poids du dossier.

(tu peux peut-être au préalable décharger le dossier actuel SD Card de ton Bureau et le logger ailleurs - DDE ou autre dossier de ton compte - parce que le Finder, qui gère le répertoire Desktop comme source d'affichage à l'écran, aime assez modérément que ce répertoire soit surchargé)

- a) tu relances le «Terminal» et comme l'utilitaire que je vais te passer, à la différence de rsync, ne recopie pas le dossier parent de la source sur la destination, mais seulement les éléments enfants, il faut donc au préalable créer un dossier d'accueil sur ton Bureau. Tu n'as qu'à faire un copier-coller de la commande :
Bloc de code:
mkdir Desktop/SD\ Card\ 1
et ↩︎ => en retour, tu vois s'afficher sur ton Bureau de session un dossier vide SD Card 1 (il faut bien indexer les intitulés, au cas où la série se continuerait...).

----------​

- b) puis (l'icône du volume SD Card de ta carte toujours apparente sur ton Bureau), tu passes cette nouvelle commande de clonage (copier-coller) :
Bloc de code:
sudo ditto /Volumes/SD\ Card Desktop/SD\ Card\ 1
et ↩︎ --> une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef ↩︎ => cette commande appelle l'utilitaire ditto (i.e. : redite) avec les 2 mentions du répertoire-source (le volume SD Card) et du répertoire-destination (le dossier SD Card 1) - le tout préfacé par sudo (substitue user do : opérer en qualité d'utilisateur substitué : root par défaut).

----------​

=> la commande ditto n'est pas verbeuse mais mutique : attendre le temps qu'il faut (le pointeur de la fenêtre du «Terminal» immobilisé à la marge) le retour de l'invite de commande de type krystoff$ comme signal de complétion de l'opération. J'ai mis sudo au cas où ça permettrait de copier des éléments qu'aurait écartés rsync pour des raisons d'autorisations insuffisantes. J'ai une prédilection pour rsync, qui agit avec beaucoup de « doigté » disons - mais il est possible que ditto, beaucoup plus frustre et expéditif (pour ne pas dire brutal), récupère davantage de contenu.

☞ à toi de dire encore si ça a (mieux) marché [j'ai encore d'autres lièvres dans ma gibecière
361608_original.png
]
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Krystoff
Merci pour cette nouvelle réponse :)

Et bien non, ça donne a peu prêt le meme résultat.

Je veux bien un autre lievre si tu as le temps :D

Merci :)

Capture d’écran 2016-06-05 à 00.25.26.webp
 
Je veux bien un autre lievre si tu as le temps

J'ai mieux qu'un lièvre musard : une tortue de compétition (dont on sait d'après la fable qu'elle termine la course au contraire du premier)
361608_original.png
.

Parce qu'il est temps de changer son fusil d'épaule - je veux dire d'espèce d'auxiliaire. Ce qui me le fait dire, c'est le type de message d'erreur retourné par ditto : « input / output error ». Ce message est toujours critique, car il signale des échecs de lecture des données écrites sur un certain nombre de blocs d'une partition déterminée. La faute en étant souvent à un disque moribond.

Mais pour que je puisse construire exactement la nouvelle commande, il faudrait que dans le «Terminal», ta carte SD toujours attachée à ton Mac, tu passes auparavant la commande (purement informative) :
Bloc de code:
diskutil list
qui va te retourner le tableau des disques attachés au Mac, en interne et en externe, avec leurs partitions et les identifiants de devices de ces partitions => peux-tu en faire un copier-coller ici (pas de capture-image) ?

Et il faudrait que tu me dises aussi si le volume actuel de ton OS a assez d'espace libre pour recevoir un fichier-image de 32 Go ? SI non, il faudrait que tu disposes d'un périphérique (genre un DDE avec un volume de stockage comportant assez d'espace libre) => dans ce dernier cas, attache-le à ton Mac avant la commande diskutil list ci-dessus que je puisse lire son identifiant logique (et signale-moi le nom de volume de ce périphérique utilisable).
 
Dernière édition par un modérateur:
  • J’aime
Réactions: Krystoff
Ok cool :D

J'ai placé la carte dans un autre macbook qui vient d'être formaté, donc il y a largement l'espace suffisant :)

Voici le résultat de la commande:

Last login: Sun Jun 5 00:29:52 on ttys000

macbook-de-admin:~ admin$ diskutil list

/dev/disk0 (internal, physical):

#: TYPE NAME SIZE IDENTIFIER

0: GUID_partition_scheme *120.0 GB disk0

1: EFI EFI 209.7 MB disk0s1

2: Apple_HFS SSD 119.2 GB disk0s2

3: Apple_Boot Recovery HD 650.0 MB disk0s3

/dev/disk1 (external, physical):

#: TYPE NAME SIZE IDENTIFIER

0: FDisk_partition_scheme *31.9 GB disk1

1: Windows_NTFS SD Card 31.9 GB disk1s1

macbook-de-admin:~ admin$


Merci :)
 
Bon alors voici ce que je te propose (dans le «Terminal) :

[MODE_TORTUE : ON]

- a) tu passes d'abord une commande de démontage du volume SD Card :
Bloc de code:
diskutil umount force /dev/disk1s1
=> en retour tu dois toucher un :
Bloc de code:
Volume SD Card on disk1s1 force-unmounted
et tu dois voir disparaître l'icône du volume SD Card du Bureau de session (il ne faut pas démonter un volume exFAT d'un disque en table MBR graphiquement - via le Finder - car cette manœuvre éjecte le disque du même coup et rend la partition disk1s1 inadressable).

- b) tu passes ensuite (copier-coller) la commande de recopie suivante :
Bloc de code:
sudo dd bs=512 if=/dev/rdisk1s1 of=Desktop/SD\ Card\ 2.dmg conv=noerror,sync
et ↩︎ + password à l'aveugle et ↩︎ => tu vas voir en retour immédiat de commande se créer sur ton Bureau de session une image-disque intitulée : SD Card 2.dmg.

Comme la commande dd est tout aussi mutique que la commande ditto, mais que le processus va prendre un temps fou (je t'explique plus bas), je te conseille pour savoir où en sont les choses de faire un ⌘I dans le Finder sur cette image-disque, ce qui va t'afficher une fenêtre d'informations tout en haut de laquelle tu vas pouvoir suivre l'indexage live continu du gain de taille de ce disque virtuel. Prends ton mal en patience : car la copie ne va pas être des quelques 7 Go de données contenues dans le volume SD Card de ta carte - non ! elle va être carrément de l'espace-disque total de sa partition, soit 32 Go !

C'est donc un énorme fichier "image-disque" qui va se créer sur ton Bureau de session. Sachant (j'ai expérimenté ma commande ce matin sur la partition démontée en volume d'une clé USB de 4 Go) que ça m'a pris environ 2H 30' pour 4 Go, tu n'as qu'à faire la multiplication qui s'applique à ton cas de figure
415489_original.gif
(il est possible que des variations de temps soient envisageables en cas de Carte SD plus rapide que ma clé USB qui est très lente. Mais par contre, mon disque interne était un SSD)

=> l'opération sera finie quand la fenêtre d'info du Finder t'affichera 32 Go de taille de l'image-disque SD Card 2.dmg et que tu récupéreras l'invite de commande admin$ dans la fenêtre du «Terminal» --> tu n'auras plus qu'à monter d'un double-clic l'image-disque SD Card 2.dmg et inspecter le contenu de données de son volume SD Card 2 => et à rendre compte du résultat...​

[MODE_TORTUE : OFF]


[MODE_VERBOSE : ON]

Les messages d'erreurs retournés par ditto que tu as communiqués m'ont considérablement refroidi. En abrégé : ta carte SD est présumablement en fin de vie et à changer. Son heure a sans doute sonné ! Car les « input / output error » (erreurs d'entrée / sortie) signalent l'incapacité d'un processus à lire les données résidentes sur des séries de blocs de la partition d'un disque. Ce qui régulièrement découle d'un support-disque en fin de vie, voire d'un câble de transfert de données défaillant lorsqu'il s'agit d'un disque.

En de pareils cas, rien ne sert alors de faire appel à des « auxiliaires intelligents » (comme rsync ou ditto), car ces utilitaires UNIX natifs de l'OS sont des cloneurs de données, càd. de séquences d'écritures mobilisant chacune n blocs, que la moindre « input / output error » de lecture d'un seul bloc impliqué invalide globalement.

Non : en pareil cas, il faut faire appel à un « crétin méthodique ». Rien de plus harassant pour l'intellect qu'un « crétin »  (parce que qu'il ne panne rien à rien, càd. ne gère pas le sens des signes, mais seulement leur tracé) ; mais par contre, rien de plus mortellement sérieux qu'un crétin « méthodique », car son souci du détail matériel ne défaille jamais.

L'utilitaire dd est un « crétin méthodique », car ce programme UNIX ne clone pas des données, mais recopie bit à bit l'espace d'une partition "source" sur l'espace d'une partition "destination" (qui peut être, comme dans ma commande, celle d'un disque virtuel .dmg créé ad hoc). En lui donnant comme unité de mesure bs=512, il va donc bit à bit aligner exactement 8 bits pour faire un octet ou byte, et il va aligner les octets par 512 pour constituer chaque fois un bloc ou cluster à partir de sa lecture atomique de la partition totale SD Card pour tout recopier exactement sur la partition de l'image disque SD Card 2.

Normalement, aucune erreur de donnée n'intervient, car dd se contente de décalquer les bits de la source sur la destination. L'option noerror couplée avec sync est là pour empêcher qu'une défaillance de lecture d'un bit ne donne lieu à un blocage, mais donne lieu à une inscription de (null) bit qui fasse passer quoi qu'il arrive au bit d'après, en respectant la congruence des alignements de 8 bits par octet et de 512 octets par bloc.

Évidemment, le crétin de service, passés les 7 Go de bits correspondant à tes données, va continuer à cloner bit à bit la suite de l'espace de la partition source, alors qu'aucune donnée d'écriture n'existe sur les blocs correspondants
361608_original.png
. D'où le délai, pour atteindre la fin du parcours fixée à 32 Go de capacité...
450622_original.gif

[MODE_VERBOSE : OFF]

 
Dernière édition par un modérateur:
Bonjour :)

Alors j'ai effectué la manipe hier a minuit.
12 heures après, le processus en est a 2,5GB, ça va donc prendre approximativement 6 jours et nuits pour le terminer.
Toutes les lignes sont constituées de :
dd: /dev/rdisk1s1: Input/output error
dd: /dev/rdisk1s1: Input/output error
Est ce que ça vaut le coup de laisser le macbook tourner non stop pendant 6 jours, ou alors ,est ce râpé a ton avis ?

Merci :)Capture d’écran 2016-06-06 à 11.47.09.webp
 
Et moi qui trouvais que ma clé (super-lente intrinsèquement quoique fonctionnelle) occasionnait une opération des plus longue : en gros du 40' par Go - toi tu en es à du 4 H par Go, ce qui est proprement pathétique. Une Carte SD ne peut pas être normalement aussi lente - ça sent le sapin pour ta Carte SD, tout ça...

Pour ce qui est de l'arrêt ou non de dd : c'est toi qui vois. D'une part, la consommation de CPU par dd, quoique continue, reste minime et un Mac peut très bien supporter de ne pas être éteint une série de jours (mais si tu l'utilises en mode nomade, c'est une autre affaire) ; inversement, l'alignement de mentions : Imput/output error n'est guère encourageant. Les options que j'avais ajoutées à la commande : conv=noerror,sync font que dd ne va pas disjoncter malgré tout, mais respecter les alignements de bits même s'ils sont illisibles en remplaçant les mauvais par des (null)bits.

En se disant que chaque Input/output error peut ne cibler que quelques bits sur chaque série recopiée, je me demande quel peut en être l'impact en ce qui concerne les données globales.
 
Je n'utilise pas ce mac, donc je peux le laisser tourner sans problème.

Sachant que mes données ne dépassent pas 8GB, serait il possible d'arrêter le processus quand il aura atteint les 8GB, ou suis obligé d'attendre qu'il ai atteint les 32GB ?
 
Tu peux tenter d'arrêter passés les 8 Go > tu vas bien voir si l'image-disque SD Card 2.dmg monte un volume ou si le système de fichiers du disque est considéré comme corrompu (je n'ai jamais tenté l'expérience).

Sinon, je peux te passer une autre commande qui ordonnera formellement à dd d'arrêter son travail à la marque de tel n° de bloc situé un peu au-delà des 8 Go. J'aimerais quand même au préalable avoir un aperçu de la distribution totale des blocs de ta carte. Est-ce que tu peux, sans fermer la fenêtre de tâche actuelle du «Terminal», faire un clic simple dessus pour remettre ce logiciel au premier plan et faire un ⌘N qui t'ouvre une nouvelle fenêtre vierge du «Terminal» ?

Dans cette dernière fenêtre, tu passes la commande :
Bloc de code:
sudo gpt show /dev/disk1
qui te retourne le tableau de la distribution des blocs de ta carte > peux-tu en faire un copier-coller ici ? - Tu peux refermer cette dernière fenêtre seule ensuite.
 
Merci pour toutes ces réponses :)

Voici le résultat:
Last login: Mon Jun 6 00:38:40 on ttys000

macbook-de-admin:~ admin$ sudo gpt show /dev/disk1

Password:

start size index contents

0 1 MBR

1 8191

8192 62325760 1 MBR part 7

macbook-de-admin:~ admin$
 
Alors, si je me donne une limite de 9 GB pour être sûr que toutes les données seront comprises en-deçà => cela fait 18874368 blocs. Donc (après démontage du volume de la carte SD Card par la commande :
Bloc de code:
diskutil umount force /dev/disk1s1
au cas où il aurait été remonté) la commande serait :
Bloc de code:
sudo dd bs=512 if=/dev/rdisk1s1 of=Desktop/SD\ Card\ 3.dmg conv=noerror,sync count=18874368
=> ce qui générera d'entrée une nouvelle image-disque sur le Bureau intitulée SD Card 3.dmg.

Évidemment à n'activer que si le processus dd actuel est parvenu à complétion ou que tu l'aies arrêté vers la marque des 8 Go d'après la fenêtre d'info du Finder. Et si l'image-disque en cours SD Card 2.dmg ne permet pas de monter un volume SD Card 2. Et si dans ce cas tu as supprimé cette image-disque de l'espace du Bureau afin de ne pas surcharger ce répertoire (ce qui fait beaucoup de « si »).

À 4H le Go, tu serais parti pour 36 heures d'opération quand même... Et ne pas oublier, si après arrêt forcé de dd à la marque des 8 Go un volume SD Card 2 monte bien, que la nouvelle commande ci-dessus n'opérera rien de mieux, à part l'instruction intrinsèque d'arrêter à la marque du bloc n°18874368.
 
L'image disque en est a 5GB (en 24h00).
Pour l'instant je n'ai touché a rien.
Par contre en clinquant sur l'image disque, je peux la monter et voir mes documents.

J'ai pas tout compris.
Il faudrait que j'arrête ce processus et repartir de zéro pour un arrêt automatique a 8GB ?
 
Alors continue de... laisser opérer. Un jour de plus et tu auras dépassé la marque des 8 Go. En remontant à ce moment-là le volume de l'image-disque, tu devrais pouvoir vérifier grosso modo si l'arborescence complète de tes données (dossiers / sous-dossiers / fichiers) te paraît avoir été récupérée.

Si ça te paraît bien le cas, tu dois pouvoir arrêter dd et procéder à une vérification plus pointue. Et recopier tes données hors de l'image-disque.

[Pour ce qui est de ma dernière commande, incorporant un n° de bloc limite, tu n'as qu'à la laisser oisive (c'était au cas où l'image-disque SD Card 2.dmg n'aurait pas monté de volume et où il aurait fallu tout recommencer).

Bien sûr, j'aurais pu d'entrée de jeu te passer une telle commande (l'idée m'en avait effleuré l'esprit dimanche), mais - la flemme dominicale aidant - j'en avais écarté l'option, parce que je n'imaginais pas que la tâche dd puisse opérer aussi lentement avec ta carte. Carte qui a l'air bien mal en point, pour donner lieu à une lecture de ses blocs 6 fois plus lente que ma clé USB qui doit bien être une des plus lentes du monde...]
 
Dernière édition par un modérateur:
Ne t'excuse de rien, tu me rends un grand service.

Oui j'en suis bientot a 8GB

Puis je copier/coller le contenu de l'image (les fichiers semblent bon) sur un autre disque sans arreter dd ?
Si non, comment arreter dd stp ? :D

Pour info, voici la carte qui a 4 mois et qui n' a servit qu'a stocker ces 8GB et qui est deja morte :(
https://www.amazon.fr/gp/product/B013UDL5RU/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

A ce propos , connais tu une bonne carte a me conseiller comme remplaçante ?
 
Ne t'excuse de rien, tu me rends un grand service.

Oui j'en suis bientot a 8GB

Puis je copier/coller le contenu de l'image (les fichiers semblent bon) sur un autre disque sans arreter dd ?
Si non, comment arreter dd stp ? :D

Pour info, voici la carte qui a 4 mois et qui n' a servit qu'a stocker ces 8GB et qui est deja morte :(
https://www.amazon.fr/gp/product/B013UDL5RU/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

A ce propos , connais tu une bonne carte a me conseiller comme remplaçante ?
perso je prendrais du Samsung, et pourquoi pas du Pro ou Pro+
 
Salut Krystoff

Mais alors, le « crétin méthodique » (la tortue dd) est en train de remporter la course ?

Alors voici quelques tuyaux pour gérer ton processus dd en train de s'effectuer en avant-plan de la fenêtre de ton «Terminal» :

- a) pour mettre en pause la tâche dd (sans la supprimer - elle se conservera alors en mémoire) => tu fais un clic sur la fenêtre du «Terminal» pour ramener ce logiciel à l'avant-plan, et tu enchaînes sur ton clavier par la combinaison de touches : Ctrl Z => tu vas alors obtenir le retour d'affiche :
Bloc de code:
[1]+  Stopped     sudo dd bs=512 if=/dev/rdisk1s1 of=Desktop/SD\ Card\ 2.dmg conv=noerror,sync
avec récupération de l'invite de commande admin$.


- b) pour relancer ton processus dd mis en pause mais toujours défini en mémoire => tu saisis dans la fenêtre du «Terminal» la commande :
Bloc de code:
fg
et ↩︎ --> ce qui équivaut à relancer le processus en mode foreground (tâche d'avant-plan) => tu pourras vérifier dans la fenêtre d'info du Finder une reprise de l'affichage de gain de poids de l'image-disque SD Card 2.dmg.


- c) pour tuer carrément la tâche du processus dd => tu fais un clic sur la fenêtre du «Terminal» pour ramener ce logiciel à l'avant-plan, et tu enchaînes par la combinaison de touches : Ctrl C => en retour, tu vas voir s'afficher le résumé de l'opération dd et tu vas récupérer l'invite de commande admin$ - ce qui te permet de quitter formellement le «Terminal» par ⌘Q.​

=> tu peux donc (par exemple) mettre dd en pause par un Ctrl Z > monter l'image-disque > copier tes fichiers hors du volume SD Card 2 > et s'il y avait lieu seulement > relancer la tâche dd par la commande fg (le montage du volume de l'image-disque n'importe pas) > sachant qu'à tout moment, si tu en as marre et veux mettre fin à cette histoire --> un Ctrl C sur la fenêtre du «Terminal» "coupe court carrément le cou" du processus dd...

--------------------
Je ne me suis jamais servi de cartes-mémoire. Aucune idée de ce qui vaut le mieux ou le pire.

En tout cas, une fois ta récupération définitivement bouclée, je te conseille (dans le dérisoire «Utilitaire de Disque» d'«El Capitan») de reformater le volume de ta carte, voire effacer totalement son disque. Si tu ne l'utilises jamais avec un PC, alors => Table de Partition GUID pour le disque et format OS X étendu (journalisé) pour le volume (au lieu de MBR pour la table du disque et exFAT pour le format du volume si tu voulais garder un périphérique utilisable avec les 2 plates-formes : PC & Mac) => fais des essais alors de copier des fichiers > éditer > effacer => voir si ça marche ou non.

=> personnellement, ma confiance serait quand même plutôt plombée par rapport à ce périphérique...
 
Dernière édition par un modérateur:
Clé USB, cartes SD voire microSD... ne sont pas des périphériques de stockage fiables.
Si vous tenez à en utiliser, faites en sorte d'avoir toujours une copie de vos fichiers importants sur d'autres supports, voire faites regulierement des doubles de vos cartes SD les plus "précieuses".

Concernant cette récupération en cours (on aurait tendance à écrire "en long" plutot qu'"en court" :D ), j'espère que ce n'est pas uniquement la table des fichiers qui est reconstituée et que les fichiers eux meme seront bien lisibles!