Para formatear un pen drive USB desde un terminal GNU/Linux solo necesitamos seguir estos sencillos pasos:
Primero conectamos el dispositivo a la PC y hacemos un tail para ver en que parte ha quedado:
$ tail /var/log/messages
Sep 27 03:12:30 desktop kernel: [27939.999977] usb 1-7: configuration #1 chosen from 1 choice
Sep 27 03:12:30 desktop kernel: [27940.002680] scsi8 : SCSI emulation for USB Mass Storage devices
Sep 27 03:12:35 desktop kernel: [27944.996927] scsi 8:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
Sep 27 03:12:35 desktop kernel: [27945.007031] sd 8:0:0:0: [sdc] 15769600 512-byte hardware sectors (8074 MB)
Sep 27 03:12:35 desktop kernel: [27945.007768] sd 8:0:0:0: [sdc] Write Protect is off
Sep 27 03:12:35 desktop kernel: [27945.010384] sd 8:0:0:0: [sdc] 15769600 512-byte hardware sectors (8074 MB)
Sep 27 03:12:35 desktop kernel: [27945.011009] sd 8:0:0:0: [sdc] Write Protect is off
Sep 27 03:12:35 desktop kernel: [27945.011019] sdc: sdc1
Sep 27 03:12:35 desktop kernel: [27945.127126] sd 8:0:0:0: [sdc] Attached SCSI removable disk
Sep 27 03:12:35 desktop kernel: [27945.127165] sd 8:0:0:0: Attached scsi generic sg3 type 0
La salida nos proporciona bastante información sobre el pen drive (marca, modelo, tamaño, etc) pero lo que nos interesa en este momento es el dispositivo al que ha sido asociado; en este caso es sdc, más especificamente sdc1.
Procedemos entonces (como root de ahora en adelante) a desmontar el volúmen:
# umount /dev/sdc1
Con fdisk vamos a eliminar las particiones (no es necesario pero es recomendable si el pen drive tiene algunas fallas lógicas)
# fdisk /dev/sdc1
Esto nos abrirá una consola, y al escribir m y presionar Enter nos debe salir un menú de ayuda similar al siguiente:
Orden (m para obtener ayuda): m
Orden Acción
a Conmuta el indicador de iniciable
b Modifica la etiqueta de disco bsd
c Conmuta el indicador de compatibilidad con DOS
d Suprime una partición
l Lista los tipos de particiones conocidos
m Imprime este menú
n Añade una nueva partición
o Crea una nueva tabla de particiones DOS vacía
p Imprime la tabla de particiones
q Sale sin guardar los cambios
s Crea una nueva etiqueta de disco Sun
t Cambia el identificador de sistema de una partición
u Cambia las unidades de visualización/entrada
v Verifica la tabla de particiones
w Escribe la tabla en el disco y sale
x Funciones adicionales (sólo para usuarios avanzados)
Para eliminar la partición escribimos d y presionamos Enter. Si hay una sola partición se borrará automáticamente, sino preguntará el número de la partición y debemos ir borrando una a una hasta que no quede ninguna.
Con la orden n se creará una nueva partición, escribimos p para que sea primaria y 1 para que sea la primera partición.
Esto nos crea una partición de tipo Linux, pero el pen drive debe tener formato FAT para que pueda ser reconocido tanto en máquinas Windows como Linux así que ingresamos la orden t para cambiar el tipo de la partición y escribimos posteriormente 6 para que tome el tipo FAT16.
Cuando todo esto se haya completado entonces damos la orden w para que se escriban los cambios al disco.
Por último, usamos la herramienta mkfs.vfat para darle el formato FAT16 y colocarle la etiqueta "USB" al pen drive:
# mkfs.vfat -F 16 -n USB /dev/sdb1
Eso es todo, siguiendo estos sencillos pasos tendremos un pen drive como nuevo, completamente funcional.