¿Cómo clonar una partición NTFS (WinXP) de un disco dañado a uno nuevo?

10

Necesito clonar una partición NTFS de un disco duro dañado, cercano a morir (SCSI, si esto importa) a uno nuevo (SATA).

Instalé la última versión de las utilidades de CD de arranque de Hiren en una memoria USB y probé con GParted, que me dijo que no puede copiar / pegar la partición porque Windows la dañó y "marcó" para ejecutar CHKDSK. Seguí el consejo de Advertencia e intenté repararlo usando CHKDSK /f(tardó 9 horas y salí con un error después de la "fase 3") y un programa de Linux que no puedo recordar en este momento, sin éxito.

Traté de clonar usando Clonezilla, y también falló, por las mismas razones. En el HBCD hay dd_rescue, pero falló nuevamente porque no puede encontrar "ntfs.something".

Al final, todo lo que quiero es clonar esa partición tal como es, con sus errores y todo. Puedo repararlo en el nuevo disco.

¿Entonces qué debo hacer?

Parduz
fuente
¿Cuál fue el mensaje de error devuelto CHKDSK /fdespués de la "fase 3"?

Respuestas:

5

Por supuesto, puede intentar reparar la partición NTFS en la unidad original, pero no puedo recomendar que lo haga, ya que los problemas pueden ser causados ​​por una falla de hardware y la reparación podría empeorar las cosas.

Haga un bloque para la copia en bloque con ddrescue a un archivo primero. Si hay algún bloque que no se puede copiar ddrescue, continuará con el resto del disco.

Si ddrescueno encuentra ningún bloque defectuoso, puede intentar utilizar el software de reparación en el archivo (montado mediante loopback). Si hay problemas con la unidad SCSI o simplemente desea asegurarse de poder comenzar desde cero, haga una copia de su archivo e intente reparar el sistema de archivos NTFS en la segunda copia. Como copiar un disco con errores puede ser un proceso lento, es posible que deba interrumpir el proceso (porque necesita la computadora, dejar que la unidad se enfríe o reiniciar el firmware de la unidad).

Es por eso que en mi experiencia ddrescuees muy superior en casos problemáticos que ddcon conv=noerror. ddrescuemantiene un registro de lo que ha hecho y se reinicia en función de esa información, una función que no está disponible dd. ddrescueTambién es más inteligente en la lectura de bloques que comienzan desde el final, si encuentra un área problemática. Llegará mucho más rápido a un estado de copia de imagen que puede usar como base para una verificación del sistema de archivos (y puede continuar con ddrescuela copia original). Solo puede hacer algo así ddsi está dispuesto a pasar mucho tiempo calculando compensaciones a mano.

También puede copiar el archivo a una partición NTFS del tamaño correcto, colocar la unidad en una máquina con Windows y usar las herramientas de reparación nativas desde allí.

Anthon
fuente
1
¡Muy útil! ¿Podría agregar un ejemplo exacto de línea de comandos ddrescueen acción, similar al ddejemplo en la otra respuesta?
landroni
2
@landroni podría (básicamente ddrescue /dev/sdX driveimage logfile) pero realmente deberías dedicar el esfuerzo a leer la ddrescuedocumentación. Si su sistema está dañado, hay muchas razones para leer el manual antes de empeorar las cosas.
Anthon
Ahora estoy mirando la página de manual, pero algunas de las opciones son crípticas. ¿Cuál sería el ddrescueequivalente más conservador de dd if=/dev/olddisk of=/dev/newdisk bs=4k conv=noerror,sync? Teniendo en cuenta que se ejecutará en un disco dañado (y moribundo), y que "tratar de rescatar datos en caso de errores de lectura" no es realmente una opción. ¡Gracias!
landroni
@landroni con las opciones dadas en mi comentario anterior, cada sector en un bloque solo se prueba una vez. La única forma en que sé que puede mejorar es si sabe qué áreas están bien y cómo usarlas -iy -srecuperarlas.
Anthon
Bueno, la última vez que lo intenté ddrescue /dev/sr0 driveimage.iso(en un CD rayado), el programa intentó leer de nuevo muchos sectores defectuosos, muchas veces. Puede que me equivoque, pero sería asustadizo de ejecutar ddrescuesin otras opciones limitantes en un disco agonizante.
landroni
3

Tuve el mismo problema: disco que está a punto de morir,
con la partición NTFS que quería rescatar primero y arreglar después
(antes de que el disco desaparezca por completo).

Pude resolverlo con ntfsclone :

  1. Conecte los dos discos: antiguo y nuevo
  2. Arranque con Live-Linux desde USB
    (también puede usar Parted Magic para eso)
  3. Cree una partición lo suficientemente grande en el nuevo disco
    (use gparted para eso)
  4. Tenga en cuenta el nombre de las particiones, ya que se nombran en gparted
    ( /dev/sdaX, /dev/sdbX)
  5. Abra una ventana de terminal y ejecute el siguiente comando: (reemplace y con los nombres del paso '4.' - ) ntfsclone se quejará de que pasa por alto las inconsistencias, pero debe continuar con la copia de la partición
    ntfsclone --force --ignore-fs-check --rescue --overwrite NEW-part OLD-part
    NEW-partOLD-part/dev/sd...

-- cuando termine --

  1. Apaga la PC
  2. Desconecte el disco defectuoso
    (ahora quiere usarlo lo menos posible)
  3. Inicie la PC nuevamente, ya sea en Windows o Linux,
    e intente arreglar la partición en el nuevo disco

EDITAR:

- NOTA - La
fuente de alimentación defectuosa (inestable) puede hacer que los controladores de disco se vuelvan locos,
y es mucho más probable que fallen que los discos, por lo que es mejor verificar esto también.
Puede experimentar un comportamiento de que todo funciona bien durante unos minutos
(o segundos) y luego el sistema comienza a volverse loco, tan pronto como se calienta, literalmente.

(arreglar la fuente de alimentación no restaurará los datos perdidos, por supuesto, pero evitará que pierda más)

Gonen
fuente
1

Intentaría reparar el disco con HDAT (freeware) o posiblemente Spinrite (Comercial). He usado ambas herramientas para recuperar discos que fallaban y ambos funcionaron bien en el pasado.

Hasta que la unidad esté en un estado utilizable, no preveo que vaya demasiado lejos en sus esfuerzos de recuperación. Una vez que se haya borrado el disco, usaría Clonezilla para replicarlo lo más rápido posible en un HDD alternativo.

slm
fuente
0

Creo que esta pregunta debería tener un ejemplo funcional, así que así es como usé ddrescue

0) Instalé una unidad de reemplazo de idéntico tamaño (y marca) bajo garantía y moví la unidad anterior a una segunda ranura

1) Utilicé un CD de arranque de ubuntu

Probé la opción simple pero inmediatamente produjo muchos errores y se bloqueó

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) Lea estos artículos:

Tenga en cuenta que este último recomienda usar -del acceso directo al disco, pero no lo utilicé

3) ddrescue instalado

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

También puede necesitar (?)

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

4) Finalmente se ejecutó (si está copiando y pegando, deténgase, sda es mi nuevo disco ... preste atención y haga su tarea)

ddrescue -v -r3 /dev/sdb /dev/sda ~/ddrescue.log
  • -v detallado
  • -r 3 reintentos
  • ~ / xx archivo de registro que puede usarse para volver a intentarlo aparentemente. Tenga en cuenta que esto solo se almacena en la memoria, pero podría copiarse en una unidad USB

Salida:

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) Windows arrancado y reactivado ... por confirmar

KCD
fuente
0

¡Buen día!

El punto es cuánto está dañado su disco de origen. Si está casi arruinado, la única forma de clonar datos es usar suites de recuperación de datos de hardware profesionales. Como Atola Insight

George Gaál
fuente