Pourquoi mon disque dur USB externe est-il parfois complètement inaccessible?

11

J'ai un disque dur USB externe, constitué d'un disque SATA de 1 To dans un boîtier externe USB 2.0 Rosewill RX35-AT-SU SLV en aluminium de 3,5 pouces , branché sur mon ordinateur portable SONY VAIO VGN-NS310F . Il est branché directement sur l'ordinateur (pas via un concentrateur). Le lecteur à l'intérieur du boîtier est un Western Digital à 7200 tr / min, mais je ne me souviens pas du modèle exact. Je peux retirer le lecteur du boîtier (à nouveau), si les gens pensent qu'il est nécessaire de connaître ce détail .

Le lecteur est formaté ext4. Je le monte dynamiquement avec udiskssur mon système Lubuntu 11.10, généralement automatiquement via PCManFM. (J'ai eu Lubuntu 12.04 sur cette machine, et j'ai également connu ce même comportement avec cela.) De temps en temps - une ou deux fois par jour - il devient inaccessible et difficile à démonter. Tenter de le démonter sudo umount ...donne un message d'erreur indiquant que le lecteur est en cours d'utilisation, suggérant fuseret lsofdécouvrant ce qui l'utilise. Tuer les processus qui utilisent le lecteur avec fuseret lsofest parfois suffisant pour me permettre de le démonter, mais ce n'est généralement pas le cas.

Une fois le lecteur démonté ou la machine redémarrée, le lecteur ne montera pas. Brancher le lecteur et le mettre sous tension n'enregistre rien sur l'ordinateur. dmesgest inchangé. Le voyant d'accès du lecteur clignote généralement vigoureusement, comme si le lecteur était constamment consulté. Finalement, après avoir laissé le lecteur éteint pendant un certain temps (une demi-heure), je suis capable de le remonter.

Bien que le lecteur ne fonctionne pas sur cette machine pendant un certain temps, il fonctionnera immédiatement sur une autre machine exécutant la même version d'Ubuntu. Parfois, le ramener de l'autre machine semble le "réparer". Parfois non.

Le lecteur ne cesse pas toujours d'être accessible lorsqu'il est monté , avant de devenir démontable. Parfois, cela fonctionne bien, j'éteins l'ordinateur, je le rallume et je ne peux pas monter le lecteur.

Actuellement, c'est le seul lecteur avec lequel j'ai ce problème, mais j'ai eu des problèmes qui, je pense, sont les mêmes que celui-ci, avec différents lecteurs, sur différentes machines Ubuntu. Cet ordinateur portable est régulièrement connecté à un autre lecteur USB externe, ce qui ne présente pas ce problème. Débrancher ce lecteur avant de brancher le lecteur "problème" ne résout pas le problème.

J'ai ouvert le lecteur et vérifié que les connexions étaient étroites dans le passé, et cela n'a pas semblé aider (pas plus que d'attendre le même temps qu'il a fallu pour ouvrir et fermer le lecteur, avant d'essayer de remonter il).

Quelqu'un a-t-il des idées sur ce qui pourrait être à l'origine de cela, sur les étapes de dépannage que je devrais effectuer et / ou sur la façon de résoudre ce problème?

Mise à jour: j'ai essayé de remplacer le câble de données USB (du boîtier à l'ordinateur portable), comme l'a suggéré Merlin . J'aurais dû essayer cela il y a longtemps, car il correspond parfaitement aux symptômes (le lecteur fonctionne sur une autre machine, ce qui aurait du sens car le câble serait plié à un angle différent, complétant éventuellement un circuit de fils effilochés). Malheureusement, cela n'a pas aidé - j'ai le même problème avec le nouveau câble. J'essaierai de fournir des informations détaillées supplémentaires sur le lecteur à l'intérieur du boîtier, la prochaine fois que je pourrai faire fonctionner le lecteur. (Pour le moment, je n'ai pas d'autre machine disponible pour le fixer.)

Mise à jour majeure (28 juin 2012)

Le lecteur semble s'être considérablement détérioré. Je pense que c'est le cas, car je l'ai attaché à une autre machine et j'ai obtenu beaucoup d'erreurs sur les caractères invalides lors de la copie de fichiers à partir de celui-ci. Je suis moins intéressé par la récupération des données du lecteur que par la recherche de ce qui ne va pas. Je veux spécifiquement savoir si le problème est le lecteur ou le boîtier.

Maintenant, lorsque je branche le lecteur sur la machine d'origine où je rencontrais des problèmes, il n'apparaît toujours pas (y compris avec sudo fdisk -l), mais il est reconnu par le noyau et des messages sont ajoutés dmesg. La plupart du message consiste en des erreurs comme celle-ci, répétées plusieurs fois:

[    7.707593] sd 5:0:0:0: [sdc] Unhandled sense code
[    7.707599] sd 5:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[    7.707606] sd 5:0:0:0: [sdc]  Sense Key : Medium Error [current] 
[    7.707614] sd 5:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[    7.707621] sd 5:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
[    7.707636] end_request: critical target error, dev sdc, sector 0
[    7.707641] Buffer I/O error on device sdc, logical block 0

Voici toutes les lignes à dmesgpartir de quand le lecteur est reconnu. Veuillez noter que:

  • Je recommence à exécuter Lubuntu 12.04 sur cette machine (et c'est peut-être un facteur dans de meilleurs messages d'erreur).
  • Maintenant que le disque a été branché sur une autre machine et de nouveau dans celui - ci, et aussi maintenant que cette machine est de retour à l' exécution de 12,04, la lumière d'accès du lecteur ne clignote pas comme je l' avais décrit. En regardant le lecteur, il semblerait qu'il fonctionne normalement, avec un accès faible ou inexistant.
  • Ce problème (les erreurs) se produit lors du redémarrage de la machine avec le lecteur branché, et également lors de la connexion manuelle du lecteur.
  • Quelques messages sont sur le point /dev/sdb. Ce lecteur fonctionne bien. Le mauvais disque est /dev/sdc. Je ne voulais juste rien éditer du milieu.
Eliah Kagan
la source
3
câble cassé / douteux?
Moog
Le lecteur est-il SATA II ou SATA III? Des mises à jour du BIOS ou du FIRMWARE?
Mitch
Pouvez-vous vérifier l'état SMART de ce disque? S'il peut être reconnu n'importe où.
Samik
@Samik Même lorsque l'appareil est reconnu, je ne semble pas pouvoir le faire .
Eliah Kagan
2
@EliahKagan à partir de vos dmesgjournaux, vous pouvez voir que le système échoue à plusieurs reprises à lire le premier secteur, l'instruction READ (10) échoue. Il peut donc s'agir d'un mauvais secteur qui s'y développe.
Samik

Réponses:

2

Pour déterminer si le problème provient du lecteur ou du boîtier, retirez le lecteur du boîtier, installez-le sur un bureau suffisamment alimenté et vérifiez l'état intelligent.

Pour un test plus approfondi, vous pouvez vérifier chaque secteur du lecteur à l'aide d'outils tels que ddrescue. ddrescuefera rapport taille d'erreur au cours du processus et vous pouvez tenter une récupération de données en même temps que dans: sudo ddrescue /dev/sdb2 /path/to/recovery.image logfile. Répertoriez les partitions avec sudo lsblkou classique fdisk -l.

Si vous n'avez vraiment aucun intérêt pour les données, vous pouvez forcer le fichier de sortie /dev/nullcomme dans:

sudo ddrescue --force /dev/sdc /dev/null logfile 

et vous obtiendrez toujours un rapport sur toute taille d'erreur sur stdout

Testé sur Ubuntu 14.04 avec GNU ddrescue 1.17 comme suit dans ce court exemple en utilisant / dev / sdb2 (une partition de swap de 1 Mo)

$ sudo ddrescue --force /dev/sdb2 /dev/null logfile


GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:      1024 B,  errsize:       0 B,  current rate:     1024 B/s
   ipos:         0 B,   errors:       0,    average rate:     1024 B/s
   opos:         0 B,    time since last successful read:       0 s
Elder Geek
la source
Bien que je ne puisse pas suivre ces étapes exactement, je pense que cette réponse est à la fois correcte et reflète le mieux la nature du problème que j'ai rencontré (bien que d'autres soient également utiles, pour différents scénarios se manifestant de manière similaire). Finalement, le lecteur a cessé de fonctionner complètement, je l'ai retiré du boîtier (alimenté), j'ai constaté qu'il ne fonctionnait pas non plus (sur plusieurs machines) dans un autre boîtier (alimenté) et j'ai trouvé un autre lecteur fonctionnant (sur plusieurs machines) dans l'original enceinte. Étant donné que je n'ai pas pu reconnaître à nouveau le lecteur problématique, je n'ai pas tenté d'exécuter ddrescueou de vérifier l'état SMART.
Eliah Kagan
@EliahKagan était-ce une panne mécanique ou électrique? Pourriez-vous entendre le disque tourner? Juste curieux.
Elder Geek
La dernière fois que j'ai allumé le lecteur, je pouvais toujours l'entendre tourner, oui.
Eliah Kagan
1

J'ai eu des expériences similaires lorsque j'utilisais le bureau Ubuntu 12.04. Mon boîtier de disque dur avait 2 options d'alimentation, je pouvais soit acheter un adaptateur a / c ou utiliser 1 mini-câble USB vers un câble USB normal, ou utiliser un mini-câble USB dans deux câbles USB. Idéalement, il devait être connecté aux deux ports USB pour fournir une puissance suffisante. Il pourrait transférer des données via le câble USB ou via eSata.

Lors de l'utilisation de la connexion eSata, je devais d'abord fournir l'alimentation du lecteur pour que le disque tourne, puis démarrer le système pour que le BIOS reconnaisse le disque déjà en rotation. Sinon, il ne verrait pas le disque à temps. Je crois que cela a quelque chose à voir avec le contrôleur du boîtier.

Lorsque j'ai monté l'USB, j'ai eu des résultats très mitigés en branchant le câble d'abord dans le boîtier et ensuite dans les ports USB. Peut-être environ la moitié du temps, il se monterait correctement. Si je branchais d'abord les câbles USB dans les ports PC puis dans le boîtier, j'obtenais de bien meilleurs résultats à environ 70%. Les meilleurs résultats que j'ai obtenus avec les options USB ont été d'utiliser une source d'alimentation externe (adaptateur a / c) pour le boîtier pour s'assurer que le disque tournait et était stable avant de le brancher sur la machine. Fonctionne à peu près à 100%

Je ne dis pas que c'est exactement votre problème, mais pour moi, cela a aidé à fournir l'alimentation du boîtier et à faire tourner le disque avant de le connecter pour qu'il soit lu par le système. Peut-être que le bios ou la vitesse du bus sur votre système est meilleur que l'autre et que le contrôleur du boîtier commence à fonctionner avant d'essayer de lire le disque? Et peut-être quelque temps après le débranchement du boîtier, le contrôleur se réinitialise?

Peut-être le contrôleur a-t-il besoin de temps pour décider s'il est alimenté par l'USB ou par l'alimentation et les données. Peut-être que c'est un problème de tension ou d'ampérage? Quoi qu'il en soit, les contrôleurs de boîtier semblent difficiles.

Travis Clark
la source
0

Pour votre clé USB, essayez les étapes suivantes (si vous ne l'avez pas déjà fait):

  1. sudo fdisk -l #get info
  2. sudo mkdir /media/external #créer un point de montage
  3. sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #monter.

Ou essayez d'utiliser pmountpour monter votre clé USB.

Vahni
la source
5
Merci pour les suggestions. Malheureusement: [1] sudo fdisk -l ne révèle rien sur le lecteur. Je ne m'attendrais pas à cela, car dmesgcela ne change pas de rattacher le lecteur. [2] Je ne peux pas monter manuellement un périphérique que Ubuntu ne reconnaît pas du tout comme étant connecté. (Encore une fois, dmesgne dit rien.) (Cela s'applique à udiskset pmountaussi.) Rappelez-vous, ce n'est pas que les partitions du lecteur ne sont pas visibles. Le lecteur n'est pas vu. [3] Pourquoi devrais-je monter un volume ext4 en tant que vfat?
Eliah Kagan
0

Je dirais qu'il pourrait également y avoir un problème avec votre puce de pilote de bus USB ou similaire. Avez-vous des outils pour répertorier tous les périphériques USB? Essayez d'exécuter ces outils lorsque le lecteur fonctionne correctement et lorsque le lecteur est inaccessible. Voyez-vous des différences?

Les lecteurs plus anciens (et moins chers) passent par un processus appelé "recalibrage thermique" (TACL) qui se produit toutes les heures environ, et ils peuvent devenir inaccessibles pendant plusieurs secondes pendant que le lecteur estime la quantité de tête de disque pliée par l'accumulation de chaleur dans le lecteur. Pendant le TCL, le moteur pas à pas et la bobine recherchent chaque piste et la tête est alignée sur chaque piste, et les résultats sont stockés. Il s'agit d'une fonction interne du firmware. Il semble que ce processus soit bloqué, ou qu'il produise peut-être de mauvaises réponses, ce qui rend impossible d'accéder au lecteur après un recalibrage thermique.

L'erreur que vous avez affichée à partir de dmesg indique qu'il y a des problèmes sur sdc, secteur 0, bloc logique 0. Ces blocs de faible nombre contiennent souvent la géométrie du lecteur (c'est-à-dire le formatage dur ou logiciel). Si ces blocs se détériorent, l'ensemble du lecteur peut devenir inaccessible de façon permanente. La défaillance du support peut être liée à la chaleur, ce qui pourrait expliquer pourquoi une période d'inactivité (déplacement du lecteur vers une autre machine) le corrige parfois, parfois ne le corrige pas.

Pour déterminer si le problème est d'origine thermique, allumez l'ordinateur et démarrez un chronomètre, mais n'utilisez pas vraiment le lecteur - attendez simplement qu'il échoue et enregistrez le temps qu'il faut pour échouer. Ensuite, éteignez-le et laissez-le pendant plusieurs heures pour refroidir, puis réexécutez le test, allumez l'ordinateur et le lecteur, mais démarrez une énorme copie de lecteur de lecteur intensif en données (même lecteur). Faire plus de travail avec le moteur pas à pas entraînera vraisemblablement un réchauffement plus rapide du variateur et une défaillance plus tôt. S'il y a un grand changement dans le délai de défaillance, le disque est grillé et j'en obtiendrais un autre. Bonne chance!

systemBuilder
la source
0

Très souvent, ce type de problème est dû au manque de puissance suffisante descendant le câble USB vers le lecteur, et cela est particulièrement probable lorsque le lecteur externe n'a pas été acheté sur étagère mais auto-assemblé. (Vous espérez qu'un fabricant de disque externe se serait assuré que les ports USB pourraient le prendre en charge.)

Un appareil peut tirer jusqu'à 500 mA d'un port dans la spécification USB 2.0 et jusqu'à 900 mA dans USB 3.0. En vérifiant les spécifications du fabricant du lecteur externe, vous pourrez peut-être confirmer les exigences d'alimentation maximale de votre lecteur.

Le problème peut souvent être résolu en essayant un port USB3 (si vous en avez un et que vous ne l'avez pas déjà essayé), car ils fournissent plus d'énergie que l'USB2, ou pour obtenir un câble USB Y afin que le lecteur puisse être alimenté par 2 ports au lieu de 1. Ceux-ci sont disponibles à peu de frais sur eBay ou Amazon.

Scooby Doo
la source
0

Bien que la cause réelle du problème ait déjà été signalée, je veux ajouter la même réponse, car j'ai environ 4 disques durs externes.

Tout ordinateur fabriqué, suppose que la source d'alimentation sera utilisée conformément aux spécifications de la configuration et au maximum une surcharge de 20%

Tout périphérique USB externe DOIT ÊTRE ALIMENTÉ À PARTIR D'UN HUB ALIMENTÉ EXTERNE, afin de protéger la source d'alimentation de l'ordinateur. Le comportement décrit est un comportement typique de surcharge de puissance. En supposant que vous ayez également un DVD externe, cela ferait également échouer vos enregistrements et pourrait même rendre irrécupérable votre ou vos appareils et plus encore, même votre ordinateur. Les ordinateurs portables freinent généralement de cette façon, car les utilisateurs ont tendance à utiliser des concentrateurs USB passifs ou des appareils alimentés par ordinateur, y compris les disques durs, les DVD et autres.

Achetez un concentrateur USB alimenté externe et connectez les périphériques USB via un port USB alimenté , au lieu de drainer l'alimentation de la source de l'ordinateur, car cette approche endommagera plus que votre disque dur. Une surtension est généralement la même chose qu'un ordinateur ou un périphérique externe sous-alimenté. La norme USB n'a rien à voir avec l'appareil sous-alimenté. Pensez-y comme ceci: si vous voulez de l'énergie de votre voiture, quel carburant utiliseriez-vous? Quelque chose qui brûle ou le carburant spécifié par le fabricant? C'est exactement la même chose ici. L'utilisation de périphériques USB UNPOWERED, draine l'alimentation de la source d'alimentation interne de l'ordinateur. Il a déjà suffisamment d'appareils connectés!

Serban Stănescu
la source