Bem, pode-se tentar zerar o dispositivo de bloco bruto para ver se isso pode funcionar. Se você puder escrever para isso, poderá criar uma tabela de partição limpa, crie uma nova partição e formate-a.
Suponha que o pendrive USB esteja em / dev / sdc, primeiro verifique se / dev / sdc1 está desmontado:
umount /dev/sdc1
Veja se você pode limpar a tabela de partição, digamos, copiando vários zeros nos primeiros K
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=16
Se isso funcionar, veja se você pode gravar zeros em todo o dispositivo sem que ele falhe. Para ver facilmente se o kernel não pode gravar no dispositivo, limpe primeiro as mensagens atuais do kernel e jogue-as fora usando:
sudo dmesg -c > /dev/null
..a seguir zere o dispositivo inteiro:
sudo dd if=/dev/zero of=/dev/sdc bs=1M
.. isso vai demorar um pouco. O dd será concluído quando o dispositivo de bloco bruto for completamente gravado ou ocorrer um erro.
Em seguida, verifique se o kernel se queixou do dispositivo, usando:
dmesg
..se você vir uma série de mensagens de erro, saberá que o pen drive provavelmente não está em boas condições.
No entanto, se isso funcionar, execute o fdisk ou o parted para criar partições a partir do clean, por exemplo, com o fdisk, eu uso:
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 apenas pressione return para as Perguntas do primeiro e do último setor, o fdisk escolherá os padrões corretos (que serão diferentes do meu exemplo acima). E formate a partição com VFAT:
sudo mkfs.vfat /dev/sdc1
e remova e reinsira a unidade. Deve ser formatado corretamente.