Existem provavelmente ferramentas melhores, mas se você quiser simples e livre, então você quer dd.
Assumindo que o seu não-Windows é uma amostra do Linux ou do Unix e suas cartas estão vazias de todos os dados que você deseja manter, você pode tentar isto:
monte o cartão CF no seu leitor e obtenha o nome do dispositivo. Eu estou indo supor que é / dev / CF para fins desta resposta. Entre como root.
Para escrever o cartão cheio com dados aleatórios
dd if=/dev/random of=/dev/CF bs=1k
Você pode fazer isso algumas vezes (quantas depende de você) e se receber um erro antes de terminar o cartão todo, então é um problema com o cartão.
Você pode verificar a função de leitura do cartão desta maneira:
dd if=/dev/CF of=/dev/null bs=1k
Ele deve ler o cartão inteiro sem erros.
Quando terminar, você desejará reformatar o cartão. Primeiro, escreva o cartão cheio de zeros para que ele possa ser formatado em sua câmera:
dd if=/dev/zero of=/dev/CF bs=1k
Isso deve escrever o cartão inteiro sem erros.
Minha opinião pessoal é que, se você receber algum erro, então RMA o cartão. Eu não tentaria reutilizá-lo mapeando novamente os blocos ruins.
Esteja ciente de que, mesmo que os cartões sejam aprovados nos testes acima, isso não significa que eles sejam garantidos como bons. Pode significar um erro intermitente que demora um pouco mais do que você pensava para se mostrar. Por outro lado, se falhar, você tem alguns dados para fundamentar sua decisão de RMA e alguma documentação de suporte para dar à Sandisk justificar o RMA.