Come clonare una partizione NTFS (WinXP) da un disco danneggiato su uno nuovo?


10

Ho bisogno di clonare una partizione NTFS da un disco rigido quasi morto (SCSI, se questo è importante) su uno nuovo (SATA).

Ho installato l'ultima versione dei programmi di utilità Boot CD di Hiren su una chiavetta USB e ho provato con GParted, che mi ha detto che non è possibile copiare / incollare la partizione perché è danneggiata e "contrassegnata" da Windows per eseguire CHKDSK. Ho seguito il consiglio di avviso e ho provato a ripararlo usando CHKDSK /f(ci sono voluti 9 ore ed è uscito con un errore dopo "fase 3") e un programma Linux che non riesco a ricordare in questo momento, senza successo.

Ho provato a clonare usando Clonezilla, ma non è riuscito, per le stesse ragioni. Nell'HBCD c'è dd_rescue, ma non è riuscito di nuovo perché non riesce a trovare "ntfs.something".

Alla fine, tutto ciò che voglio è clonare quella partizione così com'è, con i suoi errori e tutto il resto. Posso ripararlo sul nuovo disco.

Quindi cosa dovrei fare?


Qual è stato il messaggio di errore restituito CHKDSK /fdopo "fase 3"?

Risposte:


5

Naturalmente puoi provare a riparare la partizione NTFS sull'unità originale, ma non posso raccomandare di farlo, poiché i problemi potrebbero essere causati da guasti hardware e la riparazione potrebbe peggiorare le cose.

Crea prima un blocco per la copia a blocchi con ddrescue in un file. Se ci sono blocchi che non possono essere copiati ddrescue, continuerà con il resto del disco.

Se ddrescuenon trova blocchi danneggiati, puoi provare a utilizzare il software di riparazione sul file (montato tramite loopback). Se ci sono problemi con l'unità SCSI o vuoi solo essere sicuro di essere in grado di ricominciare da zero, fai una copia del tuo file e prova a riparare il filesystem NTFS sulla seconda copia. Poiché la copia di un disco con errori può richiedere molto tempo, potrebbe essere necessario interrompere il processo (poiché è necessario il computer, per consentire il raffreddamento dell'unità o per riavviare il firmware dell'unità).

È per questo che nella mia esperienza ddrescueè di gran lunga superiore in casi problematici di quanto è ddcon conv=noerror. ddrescuemantiene un registro di ciò che ha fatto e si riavvia in base a tali informazioni, una funzione non disponibile per dd. ddrescueè anche più intelligente nella lettura dei blocchi a partire dalla fine, se incontra un'area problematica. Arriverà molto più rapidamente a uno stato di copia dell'immagine che è possibile utilizzare come base per un controllo del filesystem (e si può continuare con ddrescuela copia originale). Puoi fare qualcosa del genere solo ddse sei disposto a dedicare molto tempo a calcolare gli offset a mano.

È inoltre possibile copiare il file in una partizione NTFS della dimensione giusta, inserire l'unità in un computer Windows e utilizzare gli strumenti di riparazione nativi da lì.


1
Molto utile! Potresti aggiungere un esempio esatto della riga di comando di ddrescuein action, simile ddall'esempio nell'altra risposta?
Landroni,

2
@landroni Potrei (in pratica ddrescue /dev/sdX driveimage logfile) ma dovresti davvero spendere lo sforzo per leggere la ddrescuedocumentazione. Se il tuo sistema è guasto, ci sono molti motivi per leggere il manuale prima di peggiorare le cose.
Anthon,

Ora sto guardando la pagina man, ma alcune delle opzioni sono criptiche. Quale sarebbe l' ddrescueequivalente più conservatore di dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync? Tenendo presente che sarebbe eseguito su un disco danneggiato (e morente) e che "tentare di salvare i dati in caso di errori di lettura" non è in realtà un'opzione. Grazie!
Landroni,

@landroni con le opzioni fornite nel mio commento precedente ogni settore in un blocco viene provato una sola volta. L'unico modo in cui so che puoi migliorare questo è se sai quali aree sono OK e sicuramente le usi -ie le -srecuperi.
Anthon,

Bene, l'ultima volta che ho provato ddrescue /dev/sr0 driveimage.iso(su un CD graffiato), il programma ha provato a rileggere molti settori danneggiati, molte volte. Potrei sbagliarmi, ma sarei schifoso di correre ddrescuesenza altre opzioni limitanti su un disco morente.
Landroni,

3

Aveva lo stesso problema: il disco che stava per morire,
con la partizione NTFS che volevo salvare prima e riparare dopo
(prima che il disco fosse completamente andato).

È stato in grado di risolverlo con ntfsclone :

  1. Collega i due dischi: vecchio e nuovo
  2. Avvia con Live-Linux da USB
    (puoi usare anche Parted Magic per quello)
  3. Crea una partizione abbastanza grande sul nuovo disco
    (usa gparted per quello)
  4. Nota il nome delle partizioni, in quanto sono denominate in gparted
    ( /dev/sdaX, /dev/sdbX)
  5. Apri una finestra del terminale ed esegui il seguente comando: (sostituisci e con i nomi dal passaggio '4.' - ) ntfsclone si lamenterà di te che ignora le incoerenze ma dovrebbe continuare con la copia della partizione
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

-- quando fatto --

  1. Spegni il PC
  2. Scollega il disco difettoso
    (ora vuoi usarlo il meno possibile)
  3. Riavvia il PC - su Windows o Linux
    e prova a riparare la partizione sul nuovo disco

MODIFICARE:

- NOTA - L'alimentazione
difettosa (instabile) può far impazzire i controller del disco
e hanno molte più probabilità di guastarsi rispetto ai dischi, quindi è meglio controllare anche questo.
È possibile che si verifichi un comportamento in cui tutto funziona correttamente per alcuni minuti
(o secondi) e quindi i sistemi iniziano a impazzire, non appena si scaldano, letteralmente.

(riparare l'alimentatore non ripristinerà i dati persi, ovviamente, ma ti impedirà di perderne di più)


1

Tenterei di riparare il disco con HDAT (freeware) o eventualmente Spinrite (commerciale). Ho usato entrambi questi strumenti per recuperare i dischi che non funzionavano e hanno funzionato entrambi in passato.

Fino a quando l'unità non sarà in uno stato utilizzabile, non prevedo che tu stia andando troppo lontano nei tuoi sforzi di recupero. Una volta che il disco è stato cancellato, uso Clonezilla per replicarlo il più rapidamente possibile su un HDD alternativo.


0

Sento che questa domanda dovrebbe avere un esempio funzionante, quindi è così che ho usato ddrescue

0) Installato un disco sostitutivo di dimensioni identiche (e di marca) in garanzia e spostato il vecchio disco in un secondo slot

1) Ho usato un cd di avvio di Ubuntu

Ho provato la semplice opzione ma ha subito prodotto molti errori e si è bloccato

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
root@ubuntu:~# dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync
dd: error reading ‘/dev/sdb’: Input/output error
57496+0 records in
57496+0 records out
29437952 bytes (29 MB) copied, 6.02927 s, 4.9 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+1 records in
57497+0 records out
29438464 bytes (29 MB) copied, 8.86693 s, 3.3 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+2 records in
57498+0 records out
29438976 bytes (29 MB) copied, 11.7068 s, 2.5 MB/s
dd: error reading ‘/dev/sdb’: Input/output error
57496+3 records in
57499+0 records out

2) Leggi questi articoli:

Nota che quest'ultimo ha raccomandato l'uso -ddell'accesso diretto al disco, ma non l'ho usato

3) ddrescue installato

sudo apt-get install gddrescue
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install gddrescue
man ddrescue

Potrebbe anche essere necessario (?)

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) main universe restricted multiverse"

4) Finalmente eseguito (se stai copiando e incollando, fermati, sda è il mio nuovo disco ... fai attenzione e fai i compiti)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v verboso
  • -r 3 tentativi
  • File di registro ~ / xx che può essere utilizzato per riprovare apparentemente. Nota: questo è solo memorizzato nella memoria ma potrebbe essere copiato su un'unità USB

Produzione:

GNU ddrescue 1.17
About to copy 1000 GBytes from /dev/sdb to /dev/sda
    Starting positions: infile = 0 B,  outfile = 0 B
    Copy block size: 128 sectors       Initial skip size: 128 sectors
Sector size: 512 Bytes

Press Ctrl-C to interrupt
rescued:    22555 MB,  errsize:    196 kB,  current rate:   91815 kB/s
   ipos:    22555 MB,   errors:       5,    average rate:   68975 kB/s
   opos:    22555 MB,    time since last successful read:       0 s
Copying non-tried blocks...

5) Finestre avviate e riattivate ... da confermare


0

Buona giornata!

Il punto è quanto è danneggiato il tuo disco di origine. Se è quasi rovinato, l'unico modo per clonare i dati è utilizzare suite di recupero dati hardware professionali. Come Atola Insight

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.