Bueno, uno podría intentar poner a cero el dispositivo de bloque sin procesar para ver si eso puede funcionar. Si puede escribir en eso, entonces podrá crear una tabla de partición limpia, crear una nueva partición y formatearla.
Supongamos que la memoria USB está en / dev / sdc, primero asegúrese de que / dev / sdc1 esté desmontado:
umount /dev/sdc1
Vea si puede borrar la tabla de particiones, por ejemplo, copiando un montón de ceros en los primeros K
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=16
Si eso funciona, vea si puede escribir ceros en todo el dispositivo sin que falle. Para ver fácilmente si el kernel no puede escribir en el dispositivo, primero borre los mensajes actuales del kernel y tírelos usando:
sudo dmesg -c > /dev/null
.. entonces cero todo el dispositivo:
sudo dd if=/dev/zero of=/dev/sdc bs=1M
..Esto tomará un rato. dd se completará cuando el dispositivo de bloque sin procesar esté completamente escrito o se haya producido un error.
Luego, verifique si el núcleo se ha quejado del dispositivo, usando:
dmesg
..si ve una carga de mensajes de error, entonces sabe que la memoria USB probablemente no esté en buenas condiciones.
Sin embargo, si esto funciona bien, ejecute fdisk o separe para crear las particiones desde limpio, por ejemplo, con fdisk utilizo:
sudo fdisk /dev/sdc
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-7796735, default 2048): <return>
Last sector, +sectors or +size{K,M,G} (2048-7796735, default 7796735): <return>
Command (m for help): t
Hex code (type L to list codes): 6
Command (m for help): w
..note solo presiona regresar para las preguntas del primer y último sector, fdisk elegirá los valores predeterminados correctos (que serán diferentes a los de mi ejemplo anterior). Y luego formatee la partición con VFAT:
sudo mkfs.vfat /dev/sdc1
y luego retire y vuelva a insertar la unidad. Debe tener un formato limpio.