Forum Linux.général mon disque externe n'est plus lisible

Posté par  .
Étiquettes :
1
7
déc.
2011

Aidez-moi, amis linuxiens, mon disque externe n'est plus lisible!

Voici les caractéristiques de ce disque externe. Ce disque est un disque dur SATA 3,5 pouces, mis dans un boîtier pour en faire un disque externe. Les données informatiques transitent par un câble USB2 relié à une prise USB2 de mon ordinateur. Sur le boîtier, il y a un interrupteur ON/OFF que je laisse toujours sur ON, ainsi qu'un voyant. Le boîtier est donc alimenté en permanence par un petit transformateur branché sur le secteur quand l'ordinateur est en route. Ordinateur et boîtier disque externe sont tous deux reliés à une multiprise avec interrupteur. Cet interrupteur permet d'alimenter les deux éléments en même temps. Je coupe le courant une fois l'ordinateur correctement éteint.

Depuis un mois, cela fonctionnait bien. J'accédais sans problème aux données personnelles de ce disque externe. Jusqu'au moment, où, en pleine utilisation, les données devinrent inaccessibles. Pourtant le voyant est bien allumé et le disque fait entendre qu'il tourne. Quand je dis que les données sont inaccessibles, cela veut aussi dire que ce volume n'apparaît plus sur le bureau, alors qu'auparavant c'était le cas.

J'ai tenté plusieurs choses: éteindre puis rallumer le boîtier, redémarrer l'ordinateur, brancher le boîtier une fois ma session ouverte, rien n'y fit. J'ai aussi essayé ce boîtier disque dur sur un autre matériel et un autre système d'exploitation. En vain.

Le disque est bien détecté, parfois son nom interne est bien lu, mais la racine n'est pas lue. On ne peut pas accéder aux dossiers et aux fichiers enregistrés dedans. Le système me dit qu'il contient zéro octet sur une capacité de zéro octet. Il est détecté comme non-formaté. Or, avant la première utilisation, sous Debian stable, je l'ai formaté en ext4.

Voici un copier-coller de ce que le système d'exploitation me renvoie:

<<
Impossible de monter DD2EXT
Error mounting:
mount:
wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

>>

Quand je tape

dmesg | tail

j'obtiens:

<<
[ 20.032523] [Firmware Bug]: powernow-k8: No PSB or ACPI _PSS objects
[ 65.974595] sd 2:0:0:0: [sdb] Unhandled sense code
[ 65.974601] sd 2:0:0:0: [sdb] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 65.974605] sd 2:0:0:0: [sdb] Sense Key : Medium Error [current]
[ 65.974610] sd 2:0:0:0: [sdb] Add. Sense: Unrecovered read error
[ 65.974615] sd 2:0:0:0: [sdb] CDB: Read(10): 28 00 07 40 80 01 00 00 1e 00
[ 65.974622] end_request: I/O error, dev sdb, sector 973340680
[ 65.974650] JBD: Failed to read block at offset 1
[ 65.974660] JBD: recovery failed
[ 65.974663] EXT4-fs (sdb): error loading journal

>>

Quelqu'un peut-il me décoder tout cela?

Mes données personnelles -importantes pour moi- sont-elles encore sur le disque?
Quel serait le moyen de réparer le disque ou au moins d'accéder aux données pour les copier?

J'attends votre interprétation.

  • # Alors dans l'ordre …

    Posté par  . Évalué à 2.

    Ton disque dur a un secteur défectueux. A priori c'est possible que ça ne soit pas bien méchant, mais c'est peut-être le début de la fin. Il n'a qu'un mois ce disque ? Sans jamais être tombé ?

    • au cas où ton disque soit en train de mourir, arrêter de faire pleins de tests dessus, ça risque de l'achever ;
    • essayer de recréer la table de partition avec testdisk puis tester si ça fonctionne, sinon :
    • récupérer les données qui sont dessus à l'aide de ddrescue (et non dd_rescue, voir ce sujet ) ou photorec (livré avec testdisk) (faire la récupération depuis ce disque vers un autre disque bien sûr, pour éviter d'écraser les données) ;
    • faire tous les tests que tu veux sur ton disque, formatage bas niveau bien long, vérifier les données SMART avant de le remettre en production ;
    • toujours avoir des sauvegardes.
    • [^] # Re: Alors dans l'ordre …

      Posté par  (site web personnel) . Évalué à 2.

      Ton disque dur a un secteur défectueux. A priori c'est possible que ça ne soit pas bien méchant, mais c'est peut-être le début de la fin.

      Non. Si un disque dur a un secteur défectueux détecté par l'OS alors il est déjà fichu et il faut le remplacer le plus rapidement possible. Les disques modernes ont un pool de secteurs de remplacement que le hardware du disque utilise pour survivre un peu lorsque les secteurs défectueux commencent à apparaître.

      Cf. la discussion suivante:
      http://lists.freebsd.org/pipermail/freebsd-questions/2009-October/207138.html

      et notamment ce message:
      http://lists.freebsd.org/pipermail/freebsd-questions/2009-October/207252.html

      Pour surveiller l'état de ses disques, on utilse SMARTMON.

      • [^] # Re: Alors dans l'ordre …

        Posté par  . Évalué à 3.

        Hélas, l'explication est fausse.

        D'expérience, je confirme qu'un disque qui commence a perdre des secteurs est à remplacer de toute urgence; le coût d'un disque est souvent faible comparé à la somme de travail nécessaire pour remonter le disque; et dans quasiment tous les cas, le disque continue à perdre des secteurs. Sur ce point, je confirme complètement.

        Les disques dur classiques ont effectivement des secteurs de secours à réutiliser lorsque certains secteurs sont défectueux. Mais cela ne permet pas de retrouver des données perdues et donc de masquer les erreurs au niveau de l'OS.

        Lorsqu'on lit un secteur et que le disque se rends compte que celui-ci n'est pas lisible; il marque le secteur comme tel et remonte l'erreur au système (sous Linux cela se manifeste généralement par une erreur ATA suivi d'une I/O error précisant le périphérique et le secteur logique). A ce niveau, la donnée est probablement perdue, on peut tenter de nouvelles lectures, ce qui bloque souvent les I/O un moment. Le disque incrémente le compteur SMART 0xC5 "Current Pending Sector Count".

        Si on écrit le secteur marqué illisible, alors à ce moment, le disque utilise des secteurs de secours à la place de celui qui est inutilisable. Le compteur SMART "Current Pending Sector Count" est décrémenté, et le compteur SMART 0x05 "Reallocated Sectors Count" est incrémenté. Le secteur logique est à nouveau utilisable et le disque utilisera à chaque fois le secteur de réserve.

        Bilan: La donnée est définitivement perdu; et l'erreur est remontée à l'OS bien qu'il reste des secteurs défectueux.

  • # disque ou connectique ?

    Posté par  (site web personnel) . Évalué à 3.

    Ca peut être le disque ou la connectique (boitier, cable). Il serait intéressant de sortir ton disque du boitier pour le brancher directement en sata sur ta carte mère pour voir si le problème vient effectivement du disque.

    Pour récupérer les données, j'utilise dd_rhelp ( http://www.kalysto.org/utilities/dd_rhelp/index.fr.html), qui est une surcouche de dd_rescue (celui de Kurt Garloff). C'est long, mais ça marche bien.

    • [^] # Re: disque ou connectique ?

      Posté par  . Évalué à 5.

      Les ponts USB/SATA ne sont pas d'excellents produits; d'une part ils sont souvent de mauvaise qualité, il arrive qu'ils lachent comme ça pourrait être le cas ici; d'autre part, ils ne gèrent pas ou mal les erreurs (le second cas étant parfois pire).

      Je te conseille de ne surtout pas toucher à ton disque en l'état, mais de le monter directement en SATA avant toute manipulation.

      Ensuite contrôle le contenu des registres SMART et le journal des erreurs, on sait jamais. Au besoin, poste le ici.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.