Recomendação do programa para testar a memória USB

1

Comprei recentemente alguns cartões USB e cartões SD. O preço era caminho bom demais, e eu suspeito que sejam produtos falsificados. Eu não sou capaz de encontrar um programa para que roda no Ubuntu que pode ser usado para verificar esses cartões / sticks. Eu não tenho as habilidades necessárias para compilar, então gostaria que um programa fosse instalado facilmente. Obrigado.

    
por wjbite 30.10.2016 / 03:00

3 respostas

2

Existe um programa Linux chamado F3 que pode testar flash drives falsos. As informações e o download estão no link . Não é um grande negócio compilar, pois requer apenas o uso do comando make no terminal. O programa é na verdade dois programas separados, f3write e f3read.

Use-os no terminal, assim:

cd directory_where_f3_source_is_located , ou seja: cd ~ / Desktop / f3

make usado para compilar o programa, necessário apenas uma vez

./f3write /path_to_flash_drive , por exemplo: ./f3write / media / my_username / my_flash

./f3read /path_to_flash_drive , por exemplo: ./f3read / media / meu_usuário / minha_flash

Um vídeo pode ser visto no link

    
por heynnema 30.10.2016 / 16:41
2

O que você precisa testar basicamente é que a unidade pode conter a quantidade de dados anunciada e "lembrar" para uso posterior.

Uma abordagem muito simples seria gerar um arquivo com conteúdo aleatório e o mesmo tamanho da unidade que os dados de teste, gravar na unidade para testar e, finalmente, comparar os dados gravados com o arquivo original. Isso requer um pouco de espaço de armazenamento intermediário e podemos fazer melhor apenas armazenando um vetor de inicialização para um gerador de números aleatórios. Isso é o que vou descrever abaixo.

Assumirei que a unidade a testar está localizada em /dev/sdx e anuncia um tamanho total de 32 GiB = 32768 MiB em toda essa questão.

  1. Instale o pacote openssl se ainda não o tiver:

    sudo apt install openssl
    
  2. Gere um vetor de inicialização aleatória (IV) para a geração do fluxo de dados de teste:

    openssl rand 32 > ~/template-iv.bin
    
  3. Escreva um fluxo de dados (pseudo-) aleatório no drive até que esteja cheio:

    dd if=/dev/zero bs=1M count=32768 2>/dev/null | sudo openssl enc -rc4 -nosalt -out /dev/sdx -pass pass:~/template-iv.bin
    

    (Substitua o 32768 em count=32768 pelo tamanho de sua unidade no Mibibytes.)

    Se você especificou o tamanho correto para a unidade e houver alguma mensagem sobre erros de E / S, a unidade está com defeito.

  4. Compare os dados na unidade com o mesmo fluxo de dados (pseudo) aleatório:

    sudo dd if=/dev/sdx bs=1M iflag=direct | cmp - <(dd if=/dev/zero bs=1M count=32768 2>/dev/null | openssl enc -rc4 -nosalt -pass pass:~/template-iv.bin)
    

    (Substitua count=32768 como antes.)

    Deve haver 3 linhas de saída de status do primeiro comando dd . Se houver alguma mensagem sobre erros de E / S ou incompatibilidades de comparação, o inversor está com defeito.

por David Foerster 30.10.2016 / 12:24
0
sudo dd if=/dev/zero of=/dev/sdb

Isto preencherá todo o disco, assumindo que ele apareça como / dev / sdb, com zeros. Ele informará se houver algum erro e a taxa de transferência quando terminar, bem como a quantidade de dados realmente gravados. Se não houver erros e o tamanho corresponder ao que você espera, provavelmente não será um contra-ataque.

Para um teste mais completo usando dados diferentes de zero, você pode ver badblocks .

    
por psusi 30.10.2016 / 03:57