Linux : réparer la table de partition d’une carte SD (erreur : “can’t read superblock”)

Le problème : une carte SD non détectée

sdcard-recovery-testdisk

Aujourd’hui, je me rends compte que la carte microSD de mon téléphone Android n’est plus reconnue. Je ne l’ai pas vu tout de suite donc il est fort possible que cela fasse un petit bout de temps que cette situation perdure.

Je la branche sur un lecteur de carte pour voir ce qui se passe et j’obtiens ce message d’erreur :

Error mounting: mount: /dev/sdh1: can't read superblockCode language: JavaScript (javascript)

On vérifie que la carte est détectée :

sudo fdisk -l

Résultat :

Disk /dev/sdh: 16.6 GB, 16574840832 bytes
28 têtes, 60 secteurs/piste, 19269 cylindres, total 32372736 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

Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sdh1            8192    32372735    16182272    c  W95 FAT32 (LBA)

La carte est bien détectée mais elle ne peut être montée. On vérifie maintenant le système de fichiers. Ma carte est en FAT32 donc on lance :

sudo fsck.msdos /dev/sdh1

Résultat :

dosfsck 3.0.12, 29 Oct 2011, FAT32, LFN
/
  Contains a free cluster (2). Assuming EOF.
FAT32 root dir starts with a bad cluster!
Code language: JavaScript (javascript)

Nous avons donc bien des clusters corrompus qui empêchent de monter le sytème de fichier. Nous allons donc utiliser l’utilitaire testdisk pour réparer les mauvais clusters.

La solution : testdisk

On installe testdisk:

sudo apt-get install testdiskCode language: JavaScript (javascript)

et on le lance :

sudo testdisk

Voici ensuite les étapes à suivre dans l’interface sommaire de testdisk :

  1. → Create a new log file
  2. [ choisir le disque qui correspond à la carte SD dans la liste ]
  3. → Intel/PC partition
  4. → Advanced
  5. [ choisir la partition ]
  6. → Boot
  7. → Repair FAT
  8. [ accepter la configuration par défaut et sélectionner Write]
  9. → appuyez sur (Q)uit jusqu’à sortir de l’application.

Et voilà! Quelques secondes plus tard la carte peut de nouveau être montée. Je précise que toutes les données présentes sur la carte avant l’opération sont toujours là, rien n’a été perdu.

A garder sous le coude au cas où cela recommencerait.

Vous avez un projet WordPress ou WooCommerce en tête? Transformez votre vision en réalité avec mon expertise reconnue.

Parlons de votre projet dès aujourd'hui »

Matt

Matt Biscay est développeur WordPress et WooCommerce certifié chez Codeable, ainsi que sysadmin qualifié et enseignant-chercheur. Passionné par le code performant et les solutions sécurisées, je m'efforce d'offrir une expérience utilisateur exceptionnelle sur chaque projet.

Vous avez aimé cet article ? Vous avez un projet en tête et vous pensez que je pourrais vous aider à le concrétiser ? N'hésitez pas à me contacter, je serais ravi de discuter avec vous de votre projet !

5 pensées sur “Linux : réparer la table de partition d’une carte SD (erreur : “can’t read superblock”)”

      • Bonjour Matt,

        En 2020 cela ne fonctionne plus :

        → Create a new log file
        [ choisir le disque qui correspond à la carte SD dans la liste ]
        → Intel/PC partition
        → Advanced
        [ choisir la partition ]

        → Boot ———-> ce menu n’existe plus.

        Que faire ?

Opinions