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 Paul . É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é ?
[^] # Re: Alors dans l'ordre …
Posté par Michaël (site web personnel) . Évalué à 2.
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 Sébastien Koechlin . É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.
[^] # Re: Alors dans l'ordre …
Posté par Michaël (site web personnel) . Évalué à 3.
Merci de ces précisions!
Tu voulais probablement parler des secteurs de rechange.
[^] # Re: Alors dans l'ordre …
Posté par Sébastien Koechlin . Évalué à 1.
Exact. Merci d'avoir corrigé.
# disque ou connectique ?
Posté par eric gerbier (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 Sébastien Koechlin . É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.