Clonación de HDD sector por sector (dd/ddrescue), ¿cómo omitir bloques defectuosos en el medio?

Clonación de HDD sector por sector (dd/ddrescue), ¿cómo omitir bloques defectuosos en el medio?

Tengo un disco duro con bloques defectuosos irrecuperables. HDD es parte de la matriz Raid-0. Si accedo a bloques defectuosos por cualquier medio, el disco duro se bloquea. Supongamos que la capacidad total del HDD es de 500.000.000.000 bytes, los bloques defectuosos están en el rango de 100.000.000.000 - 100.000.004.096 bytes (8 LBA). como usarddoddrescate¿Puedo clonar este disco duro en otro disco duro o en un archivo de imagen sin acceder a bloques defectuosos? Necesito los bytes 0 - 99.999.999.999, luego 4096 bytes de ceros, luego los bytes 100.000.004.097 - 500.000.000.000.

¡Gracias!

Respuesta1

He hecho esto hoy, espero que te funcione. Estaba teniendo problemas al duplicar (hacer una copia de seguridad de un disco) con aproximadamente 30 bloques defectuosos. Lo primero que hice fue hacer una copia de seguridad de los archivos usando Filezilla normal para hacer una copia de seguridad de todos los datos buenos. Noto que un archivo grande no se estaba copiando correctamente (deteniéndose en el medio y reiniciando la transferencia). Por suerte tengo una copia de seguridad anterior del mismo archivo. Para duplicar el disco, tuve que encontrar los bloques defectuosos en el disco usando este procedimiento:

Primero, descubra el disco problemático identificando la información HD usandofdisk-l

Segundo, si digamos que su disco es/dev/sdbentonces necesitas ejecutar el comando bloques malos -v /dev/sdbenumerará todos los bloques defectuosos en el disco. Por suerte serán unos cuantos. Si no se encuentran bloques defectuosos, entonces los bloques de su unidad están bien y necesitan resolver algo más. El tamaño de mi bloque es 512, así que uso ese número predeterminado para ejecutar DD

El tercero, cada bloque tiene un tamaño de 512, así que lo que hice fue establecer bs=512

Cada vez que ejecuto DD regularmente como siempre lo hago, mis datos, después de los errores, saldrán dañados. Entonces uso los parámetros como se explica en la página.https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.htmlbusque la parte "Para discos defectuosos".

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync iflag=fullblock 

Se tomó un tiempo. Cada bloque defectuoso encontrado suena como un golpe en la unidad defectuosa. Copia bloque por bloque y, a través de todos mis bloques defectuosos, hace el mismo ruido. La cantidad de veces que hizo ruido se debió a que encontró otro bloque defectuoso y le informa sobre un mensaje de error en la pantalla. Que'conv=sin error,sincronización'lo que hace es rellenar las malas lecturas con NUL, mientras que'iflag=bloque completo'atiende a lecturas breves, pero mantiene sincronizados sus datos hasta el final. No hay ningún daño, simplemente no copia los bloques defectuosos y los llena con NUL vacíos.

Una vez realizada la copia con DD, simplemente reemplacé ese archivo defectuoso, revirtiendo Filezilla de una copia de seguridad anterior y todo funcionó bien. Espero que esto sea útil para otras personas que intentan realizar copias de seguridad de unidades defectuosas.

NOTA: Mis bloques defectuosos estaban bastante cerca uno del otro. Aproximadamente 4 cuadras a la vez juntas en grupos donde se detectó mal. Si sus bloques están por todo el disco, varios archivos podrían verse afectados. Afortunadamente, en mi caso, un archivo de 4 GB de base de datos grande solo se vio afectado.

Respuesta2

Bien, tal vez esto también se pueda hacer con dd, pero resolví mi problema usando WinHex (seleccioné el dispositivo físico). Puede clonar cualquier parte del disco en imágenes y concatenarlas.

información relacionada