Categorías
General

Cómo reparar una unidad USB dañada en Linux

Todo el mundo tiene una unidad flash. Son pequeños objetos geniales y facilitan la protección de los datos. Sin embargo, a veces se pueden corromper o simplemente dejar de funcionar. Si sos un usuario de Linux y te ha pasado esto, hay una solución. En este artículo vamos a repasar unos cuantos trucos muy sencillos para que tu pendrive vuelva a funcionar.

Nota: los trucos descritos en este artículo no son necesariamente exclusivos de las unidades USB y se pueden utilizar también en los discos duros.

Eliminar los bloques defectuosos de la unidad USB con fsck

Una forma fácil de reparar una unidad flash, o cualquier unidad en realidad, es utilizar la herramienta fsck. Esta herramienta es ideal para eliminar los bloques de archivo defectuosos, ya que la mayor parte (si no toda) de la corrupción y la ilegibilidad proviene de problemas como éste. Para eliminar los bloques de archivos corruptos de la unidad flash USB, abrí una ventana de terminal e introducí los siguientes comandos.

Los usuarios deben averiguar cuál es la designación de la unidad en el sistema antes de poder avanzar. Para ello, introducí el comando lsblk. Esto listará todos los discos conectados en su sistema.

lsblk

Nota: el comando lsblk muestra todos los discos, no sólo las unidades USB. Prestá mucha atención a la salida, ya que es fácil confundir un disco duro con una unidad flash.

Para eliminar el bloque de archivos defectuosos, ejecutá el comando fsck en una partición específica (por ejemplo, /dev/sdc1), o en todo el disco (por ejemplo, /dev/sdc). Una vez completado, la unidad USB volverá a tener una partición sana y será totalmente operativa en Linux.

sudo fsck /dev/sdc1

Nota: este tutorial asume que la unidad flash es /dev/sdc (o /dev/sdc1). Podrías tener diferentes etiquetas para la unidad flash en tu sistema

Poner a cero la unidad USB

A veces una unidad USB puede ser totalmente ilegible hasta el punto de que ya no vale la pena guardarla. Cuando esto sucede, el mejor camino es simplemente poner a cero los datos y empezar de nuevo. La mejor herramienta para el trabajo en esta situación es dd, y funciona bastante bien.

Comenzá por tomar la etiqueta de la unidad que se encontró anteriormente con el comando lsblk, y aplicá la misma lógica (recordá que /dev/sdc1 es una partición, y /dev/sdc es un dispositivo completo).

sudo dd if=/dev/zero of=/dev/sdc

Crear una nueva partición

Listar Particiones

Antes de crear una partición vamos a listar los dispositivos de almacenamiento disponibles y particiones. Con esto identificaremos el dispositivo a particionar.

sudo parted -l

La salida muestra información acerca de:

  • Modelo – Modelo del dispositivo de almacenamiento.
  • Disco – Nombre y tamaño del disco.
  • Tamaño de sector – Tamaño de la memoria lógica y física. No debe confundirse con el espacio disponible.
  • Tabla de particiones – Tipo de table de particiones (msdos, gpt, aix, amiga, bsd, dvh, mac, pc98, sun o loop).
  • Indicadores de disco – Particiones con información de tamaño, tipo, sistema de archivos y banderas.

Los tipos de particiones pueden ser:

  • Primaria – Contiene los archivos del sistema operativo. Sólo se pueden crear cuatro particiones primarias.
  • Extendida – Tipo especial de partición en la que se pueden crear más de las cuatro particiones primarias.
  • Lógica – Partición que ha sido creada dentro de una partición extendida.

En nuestro ejemplo, hay dos dispositivos de almacenamiento (/dev/sda y /dev/sdb):

$ sudo parted -l
Modelo: ATA WDC WD10PURX-64E (scsi)
Disco /dev/sda: 1000GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: msdos
Indicadores de disco: 

Numero  Inicio  Fin     Tamaño  Tipo     Sistema de archivos  Banderas
 1      1049kB  5120MB  5119MB  primary  linux-swap(v1)
 2      5120MB  46,6GB  41,5GB  primary  ext4                 arranque
 3      46,6GB  1000GB  954GB   primary  ext4


Modelo: Kingston DataTraveler 2.0 (scsi)
Disco /dev/sdb: 30,9GB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones: loop
Indicadores de disco: 

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Banderas
 1      0,00B   30,9GB  30,9GB  fat32

Nota: El primer disco (dev/sda) contiene el sistema operativo. Crear una partición en este disco puede dejar el sistema no arrancable. Solo crear particiones en discos secundarios (dev/sdb, dev/sdc…).

Abrir el disco de almacenamiento

sudo parted /dev/sdc

Siempre hay que especificar el dispositivo de almacenamiento. Caso contrario, el disco se selecciona aleatoriamente. Para cambiar el disco a /dev/sdc ejecutá

select /dev/sdc

Crear una Tabla de Particiones

Antes de particionar el disco es necesario crear una tabla de particiones, ésta se encuentra al principio de un disco duro y almacena datos sobre el tamaño y la ubicación de cada partición.

Los tipos de tablas de partición son: aix, amiga, bsd, dvh, gpt, mac, ms-dos, pc98, sun y loop.

Para crear una tabla de particiones se emplea:

mklabel [tipo_tabla_de_partición]

Por ejemplo, para crear una tabla de particiones gpt, ejecutá el siguiente comando:

mklabel gpt

Escribí Sí/Yes para ejecutar:

Nota: Los dos tipos más comunes de tablas de partición son gptmsdos. El último soporta hasta 16 particiones y formatea hasta 16TB de espacio mientras que gpt formatea hasta 9.4ZB y soporta hasta 128 particiones.

Revisar la tabla

Ejecutá el comando print para revisar la tabla de particiones. La salida muestra información sobre el dispositivo de almacenamiento:

Nota: Ejecutá el comando help mkpart para obtener ayuda adicional sobre cómo crear una nueva partición.

Crear un nuevo sistema de archivos

Poner a cero una unidad USB (o cualquier otro dispositivo) hace que los datos que contiene sean totalmente inútiles. Esto significa que tendrás que crear una nueva partición de datos. Elegí un sistema de archivos y ejecutá el comando

Fat32

sudo mkfs.vfat /dev/sdb1

Ext4

sudo mkfs.ext4 /dev/sdb1

NTFS

sudo mkfs.ntfs /dev/sdb1

Conclusión

Las memorias USB son dispositivos muy útiles. Facilitan la transferencia de datos de una computadora a otra, independientemente del sistema operativo que se esté ejecutando. Por eso es tan importante saber qué hacer cuando la unidad ya no es accesible. Por suerte, Linux cuenta con algunas herramientas muy útiles que hacen que guardar una unidad flash sea bastante fácil.

 

How to Repair a Corrupted USB Drive in Linux

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *