Perché il mio disco rigido USB esterno a volte è completamente inaccessibile?


11

Ho un disco rigido USB esterno, costituito da un'unità SATA da 1 TB in un contenitore esterno USB 2.0 Silver Silver Silver 2.0 da 3,5 "Rosewill RX35-AT-SU SLV , collegato al mio laptop SONY VAIO VGN-NS310F . È collegato direttamente al computer (non attraverso un hub). L'unità all'interno del contenitore è un Western Digital a 7200 rpm, ma non ricordo il modello esatto. Posso rimuovere il disco dal contenitore (di nuovo), se la gente pensa che sia necessario conoscere quel dettaglio .

L'unità è formattata ext4. Lo monto dinamicamente con udiskssul mio sistema Lubuntu 11.10, di solito automaticamente tramite PCManFM. (Ho avuto Lubuntu 12.04 su questa macchina e ho sperimentato lo stesso comportamento anche con quello.) Ogni tanto - una o due volte al giorno - diventa inaccessibile e difficile da smontare. Il tentativo di smontarlo con sudo umount ...dà un messaggio di errore che dice che l'unità è in uso e che suggerisce fusere lsofper scoprire cosa lo sta usando. Si è scoperto che i processi di eliminazione utilizzano l'unità con fusered lsofè talvolta sufficiente per consentirmi di smontarlo, ma di solito non lo è.

Una volta smontata l'unità o riavviata la macchina, l'unità non verrà montata. Collegare l'unità e accenderla non registra nulla sul computer. dmesgè invariato. La spia di accesso all'unità di solito lampeggia vigorosamente, come se si accedesse costantemente all'unità. Quindi alla fine, dopo aver spento l'unità per un po '(mezz'ora), sono in grado di montarlo di nuovo.

Mentre l'unità non funziona su questa macchina per un po ', funzionerà immediatamente su un'altra macchina che esegue la stessa versione di Ubuntu. A volte riportarlo dall'altra macchina sembra "ripararlo". A volte no.

L'unità non smette sempre di essere accessibile mentre è montata , prima di diventare smontabile. A volte funziona bene, spengo il computer, riaccendo il computer e non riesco a montare l'unità.

Attualmente questa è l'unica unità con cui ho questo problema, ma ho avuto problemi che penso siano gli stessi di questo, con unità diverse, su macchine Ubuntu diverse. Questo laptop ha un'altra unità USB esterna collegata regolarmente, che non presenta questo problema. Scollegare l'unità prima di collegare l'unità "problema" non risolve il problema.

Ho aperto l'unità e mi sono assicurato che le connessioni fossero strette in passato e che non sembravano aiutare (non più che aspettare lo stesso tempo impiegato per aprire e chiudere l'unità, prima di provare a rimontare esso).

Qualcuno ha qualche idea su cosa potrebbe causare questo, quali passaggi di risoluzione dei problemi dovrei eseguire e / o come potrei risolvere completamente questo problema?

Aggiornamento: ho provato a sostituire il cavo dati USB (dalla custodia al laptop), come suggerito da Merlin . Avrei dovuto provarlo tanto tempo fa, poiché si adatta perfettamente ai sintomi (l'unità funziona su un'altra macchina, il che avrebbe senso perché il cavo sarebbe piegato con un'angolazione diversa, completando forse un circuito di fili sfilacciati). Sfortunatamente, però, questo non ha aiutato - ho lo stesso problema con il nuovo cavo. Proverò a fornire ulteriori informazioni dettagliate sull'unità all'interno del contenitore, la prossima volta riuscirò a far funzionare l'unità. (Al momento non ho un'altra macchina disponibile per collegarla.)

Aggiornamento principale (28 giugno 2012)

L'unità sembra essersi notevolmente deteriorata. Penso che sia così, perché l'ho collegato a un altro computer e ho ottenuto molti errori sui caratteri non validi, durante la copia di file da esso. Sono meno interessato a recuperare i dati dall'unità di quanto non sia a capire cosa c'è che non va. In particolare, voglio capire se il problema è l'unità o il contenitore.

Ora, quando collego l'unità alla macchina originale in cui stavo avendo i problemi, non appare ancora (incluso con sudo fdisk -l), ma viene riconosciuta dal kernel e vengono aggiunti messaggi dmesg. Gran parte del messaggio è costituito da errori come questo, ripetuti più volte:

[    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

Ecco tutte le righe che dmesginiziano con il riconoscimento del drive. Si prega di notare che:

  • Sono tornato a eseguire Lubuntu 12.04 su questa macchina (e forse questo è un fattore in migliori messaggi di errore).
  • Ora che l'unità è stata collegata a un'altra macchina e ricollegata a questa, e anche ora che questa macchina è tornata in esecuzione 12.04, la spia di accesso all'unità non lampeggia come avevo descritto. Guardando l'unità, sembrerebbe che funzioni normalmente, con accesso basso o assente.
  • Questo comportamento (gli errori) si verifica quando si riavvia la macchina con l'unità collegata e anche quando si collega manualmente l'unità.
  • Alcuni dei messaggi riguardano /dev/sdb. Quell'unità funziona bene. Il cattivo disco è /dev/sdc. Non volevo modificare nulla dal centro.

3
cavo rotto / instabile?
Moog,

L'unità è SATA II o SATA III? Eventuali aggiornamenti BIOS o FIRMWARE?
Mitch

Puoi controllare lo stato SMART di quel disco? Se può essere riconosciuto ovunque.
Samik,

@Samik Anche quando il dispositivo viene riconosciuto, non riesco a farlo .
Eliah Kagan,

2
@EliahKagan dai tuoi dmesglog si può vedere che il sistema non riesce a leggere ripetutamente il primo settore, l'istruzione READ (10) non riesce. Quindi potrebbe essere un settore cattivo che cresce lì.
Samik,

Risposte:


2

Per determinare se il problema riguarda l'unità o il contenitore, rimuovere il disco dal contenitore, installarlo su un desktop con potenza sufficiente e controllare lo stato intelligente.

Per un test più approfondito, è possibile controllare ogni settore dell'unità utilizzando strumenti come ddrescue. ddrescueriporterà dimensioni errore durante il processo ed è possibile tentare il recupero dei dati allo stesso tempo, come in: sudo ddrescue /dev/sdb2 /path/to/recovery.image logfile. Elencare le partizioni con sudo lsblko classico fdisk -l.

Se davvero non ti interessano i dati, puoi forzare il file di output /dev/nullcome in:

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

e riceverai comunque un rapporto su qualsiasi dimensione di errore su stdout

Testato su Ubuntu 14.04 con GNU ddrescue 1.17 come segue in questo breve esempio usando / dev / sdb2 (una partizione di swap da 1 MB)

$ 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

Anche se non sono riuscito a seguire esattamente questi passaggi, credo che questa risposta sia corretta e catturi al meglio la natura del problema che stavo riscontrando (anche se anche altri hanno valore, per diversi scenari che si manifestano in modo simile). Alla fine l'unità ha smesso di funzionare del tutto, l'ho rimossa dal contenitore (alimentato), ho scoperto che non funzionava (su più macchine) quando si trovava in un altro contenitore (alimentato) e ho trovato un'altra unità funzionante (su più macchine) nell'originale allegato. Poiché non è stato possibile riconoscere nuovamente l'unità problematica, non ho tentato di eseguire ddrescueo controllare lo stato SMART.
Eliah Kagan,

@EliahKagan è stato un guasto meccanico o elettrico? Riesci a sentire lo spin drive? Solo curioso.
Elder Geek,

L'ultima volta che ho acceso l'unità ero ancora in grado di sentirlo girare, sì.
Eliah Kagan,

1

Ho avuto esperienze simili quando stavo eseguendo il desktop Ubuntu 12.04. Il mio alloggiamento del disco rigido aveva 2 opzioni per l'alimentazione, potevo acquistare un adattatore a / c o utilizzare 1 mini usb per un normale cavo USB o utilizzare un mini cavo USB in due cavi USB. Idealmente, doveva essere collegato a entrambe le porte USB per fornire ampia potenza. Potrebbe trasferire i dati tramite il cavo USB o tramite eSata.

Quando si utilizzava la connessione eSata, dovevo prima fornire l'alimentazione dell'unità in modo che il disco ruotasse e quindi avviare il sistema in modo che il BIOS riconoscesse il disco già in rotazione. Altrimenti non vedrebbe il disco in tempo. Credo che questo abbia qualcosa a che fare con il controller per la custodia.

Quando ho montato l'USB ho avuto risultati molto contrastanti quando ho inserito il cavo prima nella custodia e poi nelle porte USB. Forse circa la metà delle volte si montava correttamente. Se ho inserito prima i cavi USB nelle porte del PC e poi nell'involucro, avrei ottenuto risultati molto migliori a circa il 70%. I migliori risultati che ho ottenuto con le opzioni USB sono stati l'uso di una fonte di alimentazione esterna (adattatore a / c) per l'involucro per assicurarsi che il disco stesse ruotando e stabile prima di collegarlo alla macchina. Ha funzionato praticamente al 100%

Non dire che questo è esattamente il tuo problema, ma per me mi ha aiutato a fornire l'alimentazione del contenitore e far girare il disco prima di collegarlo per farlo leggere come sistema. Forse la velocità del BIOS o del bus su un sistema è migliore dell'altro e dà il tempo al controller del contenitore di iniziare a funzionare prima di provare a leggere il disco? E forse un po 'di tempo dopo aver scollegato il contenitore, il controller si reimposta da solo?

Forse il controller ha bisogno di tempo per decidere se si sta semplicemente alimentando da USB o alimentazione e dati. Forse è un problema di tensione o amperaggio? Ad ogni modo i controller di enclosure sembrano essere schizzinosi.


0

Per l'unità USB, provare i seguenti passaggi (se non lo si è già fatto):

  1. sudo fdisk -l #ottenere informazioni
  2. sudo mkdir /media/external #creare mount point
  3. sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #montare.

Oppure prova a utilizzare pmountper montare la tua USB.


5
Grazie per i suggerimenti Sfortunatamente: [1] sudo fdisk -l non rivela nulla sull'unità. Non me lo sarei aspettato, dal momento dmesgche non cambia dal ricollegare l'unità. [2] Non riesco a montare manualmente un dispositivo che Ubuntu non riconosce come collegato. (Anche in questo caso, dmesgnon dice nulla.) (Questo vale per udiskse pmountanche.) Ricordate, non è che le partizioni dell'unità non vengono visti. L'unità non viene visualizzata. [3] Perché dovrei montare un volume ext4 come vfat?
Eliah Kagan,

0

Vorrei suggerire che potrebbe esserci anche un problema con il chip del driver del bus USB o simile. Hai degli strumenti per elencare tutti i dispositivi USB? Prova a eseguire quegli strumenti quando l'unità funziona correttamente e quando l'unità è inaccessibile. Vedi delle differenze?

Le unità più vecchie (e più economiche) passano attraverso un processo chiamato "Ricalibrazione termica" (TACL) che si verifica ogni ora o giù di lì, e possono diventare inaccessibili per diversi secondi mentre l'unità stima quanto la testa del disco viene piegata dall'accumulo di calore nell'unità. Durante il TCL il motore passo-passo e la bobina cercano su ogni traccia e la testa è allineata su ogni traccia e i risultati vengono memorizzati. Questa è una funzione interna del firmware. Sembra che questo processo sia bloccato, o forse stia producendo risposte sbagliate, rendendo impossibile l'accesso all'unità dopo la ricalibrazione termica.

L'errore che hai pubblicato da dmesg indica che ci sono problemi su sdc, settore 0, blocco logico 0. Questi blocchi con numero basso spesso contengono la geometria dell'unità (ovvero la formattazione rigida o soft). Se questi blocchi si guastano, l'intera unità potrebbe diventare inaccessibile, in modo permanente. L'errore del supporto potrebbe essere correlato al calore, il che potrebbe spiegare perché un periodo di inattività (spostamento dell'unità su un'altra macchina) a volte lo risolve, a volte non lo risolve.

Per capire se il problema è legato al problema termico, accendi il computer e avvia un cronometro, ma non utilizzare realmente l'unità: attendi che si guasta e registra quanto tempo impiega a fallire. Quindi, spegnilo e lascialo spento per diverse ore per raffreddarlo, quindi esegui nuovamente il test, accendi il computer e l'unità, ma avvia una copia enorme dell'unità ad alta intensità di dati (stessa unità). Se si lavora di più con il motore passo-passo, si presume che l'unità si surriscaldi più rapidamente e si guasterà prima. Se si verifica un grande cambiamento nel ritardo dei guasti, l'unità è brindata e ne avrei un'altra. In bocca al lupo!


0

Molto spesso questo tipo di problema è causato dalla mancanza di energia sufficiente che scende dal cavo USB all'unità, e questo è particolarmente probabile laddove l'unità esterna non è stata acquistata immediatamente, ma autoassemblata. (Si spera che un produttore di un'unità esterna si sia assicurato che le porte USB possano supportarlo.)

Un dispositivo può assorbire fino a 500 mA da una porta nelle specifiche USB 2.0 e fino a 900 mA in USB 3.0. Controllando le specifiche del produttore dell'unità esterna, si potrebbe essere in grado di confermare i requisiti massimi di alimentazione dell'unità.

Il problema può spesso essere risolto provando una porta USB3 (se ne hai una e non l'hai già provata), perché forniscono più energia rispetto a USB2 o per ottenere un cavo USB Y in modo che l'unità possa ricevere energia da 2 porte anziché 1. Sono disponibili a basso costo su eBay o Amazon.


0

Sebbene la vera causa del problema sia già stata evidenziata, voglio aggiungere la stessa risposta, poiché ho circa 4 HDD esterni.

Qualsiasi computer prodotto, presuppone che la fonte di alimentazione verrà utilizzata conformemente alle specifiche della configurazione e al massimo un sovraccarico del 20%

Qualsiasi dispositivo USB esterno DEVE ESSERE ALIMENTATO DA UN HUB ALIMENTATO ESTERNO, al fine di proteggere la fonte di alimentazione del computer. Il comportamento descritto è un comportamento tipico per sovraccarico di potenza. Supponendo che tu abbia anche un DVD esterno, ciò fallirebbe anche le tue registrazioni e potrebbe anche rendere irrecuperabili i tuoi dispositivi e, inoltre, anche il tuo computer. I laptop di solito frenano in questo modo, poiché gli utenti tendono a utilizzare hub USB passivi o dispositivi alimentati da computer, inclusi HDD, DVD e simili.

Acquista un hub USB alimentato esterno e collega i dispositivi USB ATTRAVERSO UNA PORTA USB ALIMENTATA , invece di scaricare l'energia dalla fonte del computer, poiché questo approccio danneggerà più del tuo HDD. Un'impennata di corrente è per lo più la stessa di un computer o di un dispositivo esterno non alimentato. Lo standard USB non ha nulla a che fare con il dispositivo sottodimensionato. Pensala in questo modo: se desideri energia dalla tua auto, quale carburante utilizzeresti? Qualcosa che brucia o il carburante specificato dal produttore? È esattamente lo stesso qui. Utilizzando dispositivi USB NON POTENZIATI, scarica l'alimentazione dalla fonte di alimentazione interna del computer. Ha già abbastanza dispositivi collegati!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.