Fondo
Después de un roce reciente con la falla del disco duro, quería armar un CÓMO sobre cómo duplicar un disco duro, ignorando los errores en Linux. Es fundamental asegurarse de que estos comandos se emitan correctamente y de que se utilicen los nombres de dispositivo y unidad correctos. dd no ofrece indicaciones ni confirmación. ¡Utilícelo con precaución!
La recuperación de datos del disco duro en el caso de sectores rotos no suele ser demasiado complicada.
Reflejar
En primer lugar, debemos determinar el tamaño de E/S óptimo para maximizar nuestra velocidad de lectura y escritura:
fdisk -l /dev/sda|grep "Tamaño de E/S"
En mi caso, el resultado muestra 512 bytes. A continuación, asumiendo que nuestra unidad fallida es /dev/sdb y nuestra nueva unidad es /dev/sdc, iniciaremos el espejo de la siguiente manera:
dd if=/dev/sdb of=/dev/sdc conv=sync,sin error bs=512
El indicador de no error se pasa para indicar a dd que no se cierre en caso de errores de lectura
Comprobación de progreso
dd imprimirá una verificación de estado al recibir la señal USR1. En una terminal separada, emita:
matar -USR1 $(pidof dd)
Reanudando
A menudo, después de una serie de sectores defectuosos, la velocidad de transferencia de dd disminuirá y permanecerá limitada. Para mitigar esto, primero detenga la transferencia con Ctrl-C permitiendo que dd imprima su progreso actual:
6002656+0 records in 6002656+0 records out 3073359872 bytes (3.1 GB) copied
Ahora asegúrese de que todos los datos estén vacíos:
sincronizar
Una vez hecho esto, retire y vuelva a conectar la unidad, antes de continuar desde donde lo dejó dd por última vez:
dd if=/dev/sdb of=/dev/sdc bs=512 conv=sync,sin error seek=6002656 skip=6002656
Una vez completado, querrá escanear los sistemas de archivos de la nueva unidad para detectar y reparar cualquier error y corrupción del sistema de archivos.
Enlaces
Seguridad digital de E/S