Controllo fisico completo dell'HD


17

Vorrei eseguire un controllo fisico completo, settore per settore, su alcuni dischi rigidi esterni. Per quanto ne so, chkdsknon fornisce questa opzione.

C'è una soluzione alternativa chkdsko una buona sostituzione? Sto usando Windows 7 su questa macchina, ma sono benvenute anche le soluzioni Linux applicabili da un CD live.

Grazie,

Adam Matan


Quale sistema operativo stai eseguendo? Dal momento che lei ha citato chkdsk, suppongo che di Windows NT, XP, Vista, 7, Server 2003 o Server 2008.
Rob

Risposte:


28

In Windows NT / XP / Vista / 7, è possibile aprire un prompt CMD e utilizzarlo

chkdsk /r x:

dove x è la lettera dell'unità USB, supponendo che l'unità sia partizionata e le sia stata assegnata una lettera di unità.

Suggerirei di ottenere un CD live di Ubuntu e di avviarlo su Linux, quindi di utilizzare i badblock per cercare difetti fisici.

Utilizzare sudo fdisk -lper elencare tutte le unità e le relative partizioni. Per ogni unità :

sudo badblocks -nvs /dev/sdx

dove si trova il tuo disco rigido / dev / sdx. Ciò eseguirà un test di lettura / scrittura non distruttivo sul disco senza eseguire un controllo del file system.

Se non ti interessano i dati, puoi farlo invece, per eseguire una scansione più approfondita:

sudo badblocks -wvs /dev/sdx

L'opzione -w dice ai badblock di scrivere un modello noto, quindi rileggere i dati per assicurarsi che corrispondano al modello. Lo fa 4 volte, usando i modelli 0xaa, 0x55, 0xff e 0x00 (alternando 0 e 1, quindi tutti gli 1, quindi tutti gli 0). Si noti che questo sovrascriverà tutti i dati sull'unità e cancellerà anche tutte le partizioni.

Se ti capita di avere un filesystem Linux sull'unità, puoi verificare la presenza di errori del filesystem ed eseguire badblocks allo stesso tempo. Innanzitutto, ottieni l'elenco di tutte le unità e le loro partizioni:

sudo fdisk -l

Quindi per ogni partizione :

sudo e2fsck -fcc /dev/sdx#

Ancora una volta, / dev / sdx è il disco rigido che si desidera scansionare. # è il numero della partizione (ad esempio, / dev / sdb1). Se si specifica c due volte, si forzerà l'esecuzione di fsck e si utilizzeranno i badblock per eseguire un test di lettura / scrittura non distruttivo. Se si utilizza l'opzione c una sola volta, i badblock eseguiranno un test di sola lettura.

Eseguo badblocks -wvs su ogni nuovo disco rigido che acquisto prima di metterlo in servizio.


1
Non credo che chkdsk / r scansiona davvero ogni blocco ... corre molto più veloce di quanto mi aspetto per qualcosa che legge ogni singolo blocco. Potrebbe voler notare l'opzione di test non distruttivo dei badblock, nel caso in cui abbia già dei dati sui dischi.
davr

@davr: grazie; Ho già menzionato il test non distruttivo dei badblock nel comando fsck, ma ho aggiunto un esplicito badblocks -vs per essere accurato. chkdsk / r verifica la presenza di blocchi danneggiati e impiega un po 'di tempo quando lo eseguo, ma probabilmente non è accurato come i badblock -w. Sei sicuro di non pensare a chkdsk / f o chkdsk / p, che risolverà solo gli errori del filesystem ma non cercherà i blocchi danneggiati?
rapina il

@davr: Ho pensato a una cosa ... chkdsk probabilmente non controlla il record di avvio o la tabella delle partizioni. Dal momento che prende solo un nome di volume (ad esempio lettera di unità, punto di montaggio o nome di volume) come argomento, ciò suggerisce che è possibile controllare solo un volume logico per errori multimediali e tutto ciò che non rientra nel volume specificato (partizione) viene ignorato. Tuttavia, ciò non dovrebbe fare molta differenza in termini di velocità di scansione. È di questo che stai parlando?
derubare il

1
Il tuo uso di fsck è in realtà un riferimento a e2fsck. Lo stock fsck non include un -carg della riga di comando. Diverso da, buona risposta.
DaveParillo,

Proprio così, Dave. Grazie; Ho spostato in anticipo le istruzioni dei blocchi bloccati da quando ha Windows, ma ho risolto le istruzioni di e2fsck e le ho spostate alla fine per chiunque corre attraverso questo e stia eseguendo Linux.
rapina il

5

Vorrei eseguire un controllo fisico completo, settore per settore, su alcuni dischi rigidi esterni.

Scarica ed esegui HD Tune , seleziona l'unità che desideri scansionare dal menu a discesa, fai clic sulla scheda Scansione errore (assicurati che la casella Scansione rapida sia deselezionata) e premi Start .

inserisci qui la descrizione dell'immagine

HD Tune è gratuito per uso personale e portatile (nessuna installazione richiesta).


1
Gratuito ?? 15 giorni di prova! È solo HD Tune che è freeware.
Loren Pechtel,

mi scuso, ho modificato il post ... non fa molta differenza, perché la funzione a cui mi riferisco è disponibile nella versione gratuita, come puoi vedere dallo screenshot.

1

Molti produttori di unità come Western Digital e Seagate forniscono strumenti che eseguiranno questo tipo di controllo. Di solito uno strumento di Windows.


Per quanto ne so, questo esegue solo l'autotest SMART, che non è una scansione completa dell'unità.
endolith il

endolith- I test di WD semm per andare oltre SMART. Download gratuito quindi provalo se hai un disco WD
Dave M

1

Su Windows, userò la versione gratuita di HDTune per cercare settori danneggiati. Tuttavia, il programma Linux BadBlocks è molto meglio, dandoti un elenco esatto di ogni blocco danneggiato e supporta il controllo sia in lettura che in scrittura (sebbene la scrittura sia distruttiva).


2
badblocks ha anche un test di scrittura non distruttivo. legge il blocco, scrive un nuovo valore, controlla il nuovo valore, quindi riscrive il blocco originale. quindi non distruggerà alcun dato valido sul disco. l'aspetto negativo è che le operazioni extra lo rendono molto più lento.
dav

1

Qualsiasi unità moderna rimodella automaticamente i blocchi illeggibili / iffy. Un sistema operativo normalmente non riceverà un errore di lettura per un blocco a meno che il blocco non sia realmente illeggibile e la scrittura su quel blocco causerà la rimappatura dell'unità. Ciò fallirà solo se l'unità ha esaurito i blocchi di riserva, nel qual caso è il momento di sostituire l'unità!

Il risultato è che un sistema operativo che contrassegna "blocchi danneggiati" nello stile dello scandisk è di solito inutile.

Detto questo, utilizzerei un autotest esteso SMART. smartmontools dovrebbe funzionare. Puoi anche ottenere il numero di blocchi rimappati.

Si noti che in Linux un semplice dd if=/dev/sdx of=/dev/null, dove sdx è il dispositivo a blocchi del disco, eseguirà una lettura logica completa del disco. Se alcuni blocchi sono illeggibili, verrà visualizzato un errore. Se non ti dispiace ostruire i dati, puoi dd if=/dev/zero of=/dev/sdxsovrascrivere l'intero disco, causando la rimappatura dell'unità se necessario.


1
Invece di usare 'dd', è meglio usare il comando linux 'badblocks', che è specificamente progettato per questo compito.
dav

1
Il mio punto è che "questo compito" è obsoleto quanto il concetto di "blocco errato".
Capitano Segfault,

Il disco rigido non corregge i blocchi danneggiati fino a quando non ci si scrive. Un buon modo di scrivere loro è usare i badblock in modalità non distruttiva. : D
endolith il

Vorrei che fosse vero. Stai confondendo i dischi interni con i dischi USB esterni. I contenitori di unità USB necessitano di un firmware migliore con i report SMART, di cui la maggior parte manca.
Nicolay77,

@endolith Alcuni dischi rigidi trasferiscono blocchi sospetti anche dopo la lettura. Almeno alcuni HDD aziendali.
Roland Pihlakas,

-1

Non sono mai stato troppo appassionato di unità esterne USB, perché non esistevano davvero quando venivano scritti alcuni dei migliori strumenti come ScanDisk . Mi piace particolarmente la versione di ScanDisk fornita con Windows 98 SE.

Quindi, se si tratta di un'unità esterna, è consigliabile inserirla in un computer e quindi eseguirla fsck -fsull'unità da un LiveCD Linux come il CD di ripristino PLD .


1
ScanDisk è obsoleto. fsck -f forzerà l'esecuzione di fsck, ma non eseguirà un test dei supporti fisici.
ruba il
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.