" En mi caso me carque las tablas de partición del USB, intentando formatear un disco rígido, por ello me puse buscar la solución".

Esto se resuelve con el programa fdisk que podemos ejecutar desde terminal.

Con la siguiente instrucción podemos dectectar el dispositivo ( USB) :

sudo fdisk -l

Siendo el resultado el siguiente:

Disco /dev/sda: 500.1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros, 976773168 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x0004ead1

Dispositivo  Inicio  Comienzo  Fin  Bloques  Id   Sistema
/dev/sda1      2048  11927551  5962752  82   Linux swap / Solaris /dev/sda2   *  11927552  156459007   72265728  83  Linux
/dev/sda3    156461054  586145791  214842369  5  Extendida
/dev/sda5    156461056  586145791  214842368   83  Linux

Disco /dev/sdb: 4009 MB, 4009754624 bytes
124 cabezas, 62 sectores/pista, 1018 cilindros, 7831552 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00000000
 

Como podemos ver en el ultimo grupo encontramos, Disco /dev/sb, siendo /dev/sb el nombre del dispositivo que no monta correctamente y el del USB, podeís ver más información mount y ver como localizo si es o no ese el dispositivo en esté link.

Con la siguiente instrucción entramos en el programa fdisk y en el dispositivo.

fdisk /dev/sdb

Recuerda de debes ser root para poder realizar ese comando, por sino te contestará que no tienes permiso.

Una vez dentro, es fdisk quien e informa del estado disco usb

El dispositivo no contiene una tabla de particiones DOS válida ni una etiqueta de disco Sun o SGI o OSF
Se está creando una nueva etiqueta de disco DOS con el identificador 0x598e6911.
Los cambios sólo permanecerán en la memoria, hasta que decida escribirlos.
Tras esa operación, el contenido anterior no se podrá recuperar.
Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá mediante w(rite)

Y luego me pregunta que orden vamos a realizar y puso o:

Orden (m para obtener ayuda): o  

Donde me contesta:

Orden (m para obtener ayuda):o

Se está creando una nueva etiqueta de disco DOS con el identificador 0x872b037e.
Los cambios sólo permanecerán en la memoria, hasta que decida escribirlos.
Tras esa operación, el contenido anterior no se podrá recuperar.
Atención: el indicador 0x0000 inválido de la tabla de particiones 4 se corregirá mediante w(rite)

Orden (m para obtener ayuda):
 

Continuamos con la ordern: n, donde nos indica lo siguiente:

Orden (m para obtener ayuda):n
Tipo de partición:
p primaria (0 primaria, 0 extendida, 4 libre)
e extendido
Seleccione (predeterminado p):

 Aquí indicamos p, primaria , no pide el numero particion y el numero del primer sector y el numero del ultimos sector, donde nosotros aconsejamos poner el valor prederterminado.

Número de partición (1-4, valor predeterminado 1): 1
Primer sector (2048-7831551, valor predeterminado 2048): 2048
Último sector, +sectores o +tamaño{K,M,G} (2048-7831551, valor predeterminado 7831551): 7831551

Ahora solo nos que elegir el tipo de formato de partición , y recomiendo FAT32, pero si pulsamos  L nos indica todos los formatos posibles.

Código hexadecimal (escriba L para ver los códigos): c Se ha cambiado el tipo de sistema de la partición 1 por c (W95 FAT32 (LBA))

Por ultimos nos guardar los cambios en el usb con la orden w

Si la unidad de disco esta utilizada por es sistema operativo, puede darte el siguiente error:

¡Se ha modificado la tabla de particiones!
Llamando a ioctl() para volver a leer la tabla de particiones.
AVISO: La relectura de la tabla de particiones falló con el error 16 Dispositivo o recurso ocupado El núcleo aún usa la tabla antigua.
La tabla nueva se usará en el próximo reinicio o después de que inicie partprobe(8) o kprartx(8) Se están sincronizando los discos.
 
Pues si nos sale esto, simplemente debemos retirar el pen y volver a ponerlo...

Ahora solo quedaría formatear la partición con al programa o instrucción para hacerlo, en nuestro caso lo hacemos con:

mkfs.vfat -F 32 /dev/sdb1

Y listo, USB debería funcionar correctamente.

Esto expuesto es lo que realizo para re-utilizar un USB tiene montado una LIVE USB ( Un sistema operativo que puede arrancar en el PC).

Fuente: blog.desdelinux.net