Eu tenho um cartão SD, que funciona bem, e o Ubuntu 23.04, e o dd não espelha totalmente uma imagem de disco. exemplo:
esperado:
$ dd if=/dev/zero of=/dev/sdb
$ strings /dev/sdb
$
real:
$ dd if=/dev/zero of=/dev/sdb
$ strings /dev/sdb
#random text, a lot
como posso ter certeza de que meus dados (não /dev/zero) serão gravados corretamente?
Aparentemente, não funciona 'bem', caso contrário, você poderá gravar em todos os setores. Como a unidade de destino parece descartar comandos de gravação sem erro, ela não é confiável e deve ser substituída.
Infelizmente, este é um problema comum com cartões SD baratos e unidades flash USB. Não apenas o NAND usado nesses dispositivos é de qualidade muito baixa, mas também a qualidade do firmware, pois você esperaria que o firmware gerasse um erro quando não pudesse gravar em nenhum endereço LBA específico.
No seu caso, como não houve erro, a unidade de destino aceitou a gravação, não conseguiu gravar e deixou passar silenciosamente. Ele simplesmente não detectou o problema (o que é ruim) ou detectou e não notificou (o que também é ruim).
Tente isto:
O que conv=fsync faz:
(Fonte)
Se estiver copiando dispositivos de nível de bloco, verifique se eles são iguais usando
cmp
.