Dipende dalle dimensioni del tuo disco rigido e da quanti blocchi danneggiati ha. Di solito mi ci vogliono 20 minuti per il backup usando DD a 1 tera hd sano. Con i blocchi danneggiati mi sono appena ripreso stamattina, mi ha preso il doppio del tempo. Ho avuto problemi con la duplicazione (backup di un disco) con circa 30 blocchi danneggiati. La prima cosa che ho fatto è il backup dei file usando Filezilla regolari per il backup di tutti i dati validi. Ho notato che un grosso file non veniva copiato correttamente (arresto nel mezzo e riavvio del trasferimento). Fortunatamente ho un backup precedente dello stesso file. Per duplicare il disco, ho dovuto trovare i blocchi danneggiati sul disco usando questa procedura:
Per prima cosa scopri il problema del disco che identifica le informazioni HD usando fdisk -l
2 ° se diciamo che il tuo disco è / dev / sdb, allora devi eseguire il comando
badblocks -v / dev / sdb che elencherà tutti i tuoi blocchi danneggiati sul disco. Fortunatamente ce ne saranno alcuni. Se non vengono trovati blocchi danneggiati, i blocchi unità sono OK e devono scoprire qualcos'altro. La mia dimensione del blocco è 512 quindi uso quel numero predefinito per eseguire DD
3 ° ogni blocco ha una dimensione di 512, quindi quello che ho fatto è impostare bs = 512
Ogni volta che ho eseguito DD regolarmente come faccio sempre, i miei dati, dopo gli errori, verranno danneggiati. Quindi uso i parametri come spiegato nella pagina https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html per cercare la parte "Dischi guasti".
dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync iflag=fullblock
Ci è voluto del tempo. Ogni blocco difettoso rilevato suona come un battito sul disco difettoso. Fa copia blocco per blocco, e attraverso tutti i miei blocchi danneggiati ha fatto lo stesso rumore. La quantità di volte che ha fatto un rumore, è perché ha trovato un altro blocco difettoso e ti dice sul messaggio di errore di visualizzazione. Quello che fa 'conv = noerror, sync' è riempire le letture sbagliate con i NUL, mentre 'iflag = fullblock' provvede a letture brevi, ma mantiene sincronizzati i dati fino alla fine. Nessuna corruzione, semplicemente non copia i blocchi difettosi e lo riempie di NUL vuoti.
Dopo che la copia con DD è stata completata, ho appena sostituito quel file danneggiato ripristinando Filezilla da un backup passato e tutto ha funzionato bene. Spero che ciò sia utile per gli altri che cercano di eseguire il backup di unità guaste.
NOTA: i miei blocchi danneggiati erano praticamente vicini l'uno all'altro. Circa 4 blocchi alla volta insieme in gruppi dove rilevati male. Se i blocchi si trovano su tutto il disco, potrebbero essere interessati diversi file. Fortunatamente, nel mio caso, è stato interessato solo un grande file di database da 4 GB.