Reparar un USB dañado sin perder datos

Reparar un USB dañado sin perder datos.

Las unidades de almacenamiento flash son algo habitual hoy en día, pequeñas, ligeras y sobre todo muy económicas. Este tipo de dispositivos nos facilitan nuestras labores diarias, al permitirnos un almacenamiento externo de nuestros datos y su transferencia, de forma ágil y eficaz.

Sin embargo, es posible que alguna vez nos encontremos con el caso, que nuestra unidad está dañada o corrupta. Por suerte nosotros usamos linux y, tenemos a nuestra disposición muchas herramientas que nos ayudaran a solucionar este problema.

En el artículo de hoy, no nos centramos exclusivamente en reparar un USB dañado, ya que muchas veces tiene más valor los datos contenidos que el propio dispositivo. Lo primero que haremos es extraer los datos, después reparar y terminaremos por reinsertar los datos de nuevo.

Reparar un USB danado

Reparar un USB danado

 

Reparar un USB dañado sin perder datos

Como ya comentamos anteriormente, comenzamos por extraer los datos. Nosotros usaremos el comando dd y gzip. Identificamos el dispositivo corrupto con el siguiente comando.

ls /dev/disk/by-id

En nuestro ejemplo aparece el USB y nuestro disco SSD.

sergio@sololinux:~$ ls /dev/disk/by-id
ata-LITEON_CV8-8E512-HP_002949101DPC
ata-LITEON_CV8-8E512-HP_002949101DPC-part1
ata-LITEON_CV8-8E512-HP_002949101DPC-part2
usb-_USB_FLASH_DRIVE_07190880872A7198-0:0
usb-_USB_FLASH_DRIVE_07190880872A7198-0:0-part1
sergio@sololinux:~$

Toma nota del dispositivo en cuestión (ejemplo – usb-_USB_FLASH_DRIVE_07190880872A7198-0:0), debes indicarlo para realizar la copia. Usamos esta sintaxis.

sudo dd if=/dev/disk/by-id/dispositivo-usb status=progress | gzip -c > /ruta/archivo.img.gz

Vemos un ejemplo de nuestro comando…

sudo dd if=/dev/disk/by-id/usb-_USB_FLASH_DRIVE_07190880872A7198-0:0 status=progress | gzip -c > /home/sergio/BACKUP_USB.img.gz

Comienza el volcado de datos…

Backup de dispositivo USB

Backup de dispositivo USB – Reparar un USB

 

El backup íntegro del dispositivo ha concluido.

sergio@sololinux:~$ sudo dd if=/dev/disk/by-id/usb-_USB_FLASH_DRIVE_07190880872A7198-0:0 status=progress | gzip -c > /home/sergio/BACKUP_USB.img.gz
[sudo] contraseña para sergio:        
31035291136 bytes (31 GB, 29 GiB) copied, 2540 s, 12,2 MB/s
60628992+0 registros leídos
60628992+0 registros escritos
31042043904 bytes (31 GB, 29 GiB) copied, 2540,48 s, 12,2 MB/s
sergio@sololinux:~$

 

La práctica totalidad de dispositivos USB corruptos, deben su error a bloques de archivos defectuosos. Esto lo podemos reparar con uno de los comandos más potentes de linux, el comando fsck.

Recordamos la identificación anterior de los dispositivos del sistema.

sergio@sololinux:~$ ls /dev/disk/by-id 
ata-LITEON_CV8-8E512-HP_002949101DPC 
ata-LITEON_CV8-8E512-HP_002949101DPC-part1 
ata-LITEON_CV8-8E512-HP_002949101DPC-part2 
usb-_USB_FLASH_DRIVE_07190880872A7198-0:0 
usb-_USB_FLASH_DRIVE_07190880872A7198-0:0-part1 
sergio@sololinux:~$

Para reparar un USB dañado con el comando fsck, tomaremos la identificación de la partición del dispositivo. En nuestro caso «usb-_USB_FLASH_DRIVE_07190880872A7198-0:0-part1». La sintaxis es fácil de recordar.

sudo fsck -v -a /dev/disk/dispositivo-usb

Por ejemplo…

sudo fsck -v -a /dev/disk/by-id/usb-_USB_FLASH_DRIVE_07190880872A7198-0:0-part1

Ejemplo de salida.

sergio@sololinux:~$ sudo fsck -v -a /dev/disk/by-id/usb-_USB_FLASH_DRIVE_07190880872A7198-0:0-part1
[sudo] contraseña para sergio:        
fsck de util-linux 2.31.1
fsck.fat 4.1 (2017-01-24)
Checking we can access the last sector of the filesystem
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
 Automatically removing dirty bit.
Boot sector contents:
System ID "mkfs.fat"
Media byte 0xf8 (hard disk)
       512 bytes per logical sector
     16384 bytes per cluster
        32 reserved sectors
First FAT starts at byte 16384 (sector 32)
         2 FATs, 32 bit entries
   7585792 bytes per FAT (= 14816 sectors)
Root directory start at cluster 2 (arbitrary size)
Data area starts at byte 15187968 (sector 29664)
   1893665 data clusters (31025807360 bytes)
32 sectors/track, 64 heads
      2048 hidden sectors
  60626944 sectors total
Reclaiming unconnected clusters.
Reclaimed 9251 unused clusters (151568384 bytes) in 2 chains.
Checking free cluster summary.
Performing changes.
/dev/sdb1: 44 files, 1275558/1893665 clusters

 

Como norma general ya deberías de tener acceso a los datos del dispositivo, si no es así… recuperamos el backup que realizamos anteriormente.

sudo gzip -c /ruta-del-backup | sudo dd of=/dev/disk/by-id/dispositivo-usb status=progress

El backup realizado por nosotros…

sudo gzip -c /home/sergio/BACKUP_USB.img.gz | sudo dd of=/dev/disk/by-id/usb-_USB_FLASH_DRIVE_07190880872A7198-0:0 status=progress

Imagen de ejemplo.

Reparar un USB y recuperar sus datos

Reparar un USB y recuperar sus datos

 

Si con todo lo realizado sigues sin poder acceder, no queda otra que formatear. Te propongo dos artículos que te ayudaran a realizar el proceso correctamente.

Si el desastre ha sido tal, que no puedes recuperar los datos… solo queda un recurso, armarte de paciencia y usar la herramienta testdisk, no falla.

 

Nota final: Todos los comandos propuestos en este artículo, están verificados por el equipo de sololinux. Aun siendo así, debes actuar con precaución y leer bien los pasos indicados. Nosotros no somos responsables de posibles daños.

Si algo funciona, no lo toques, si no sabes lo que haces… no lo hagas.

Reparar un USB y recuperar sus datos con testdisk

Reparar un USB y recuperar sus datos con testdisk

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Reparar un USB dañado sin perder datos.

Chat de SoloLinux en Telegram

 

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido