Como fazer uma única passagem com badblocks em modo destrutivo?

Como fazer uma única passagem com badblocks em modo destrutivo?

estou usandoblocos defeituososfazer um apagamento destrutivo de quaisquer dados do disco; usando o seguinte comando:

badblocks -wsp 0 /dev/sdb1

Passei a opção -p 0na esperança de que isso resultasse em apenas uma única passagem, mas estou recebendo várias passagens:

Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: 19.01% done, 7:43:47 elapsed. (0/0/0 errors)

Ao ler a página de manual, posso ver que a -wopção em si inclui quatro passagens:

-w Use o teste do modo de gravação. Com esta opção, badblocks procura blocos defeituosos escrevendo alguns padrões (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo, lendo cada bloco e comparando o conteúdo. Esta opção não pode ser combinada com a opção -n, pois são mutuamente exclusivas.

Isso é excessivo para minhas necessidades. Existe alguma maneira de conseguir uma única passagem destrutiva?

Responder1

Ao ler mais a página de manual, resolvi o problema. -wde fato faz uma única passagem, conforme implícito na descrição da -popção:

O padrão é 0, o que significa que os badblocks serão encerrados após a primeira passagem.

Uma aprovação consiste em quatro padrões de teste:

-w Use o teste do modo de gravação. Com esta opção, badblocks procura blocos defeituosos escrevendo alguns padrões (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo, lendo cada bloco e comparando o conteúdo.

O padrão pode ser substituído usando a -topção:

-t test_pattern Especifique um padrão de teste a ser lido (e gravado) em blocos de disco. O test_pattern pode ser um valor numérico entre 0 e ULONG_MAX-1 inclusive, ou a palavra "random", que especifica que o bloco deve ser preenchido com um padrão de bits aleatório. Para os modos de leitura/gravação (-w) e não destrutivo (-n), um ou mais padrões de teste podem ser especificados especificando a opção -t para cada padrão de teste desejado. Para o modo somente leitura, apenas um único padrão pode ser especificado e não pode ser "aleatório". O teste somente leitura com um padrão pressupõe que o padrão especificado foi gravado anteriormente no disco - caso contrário, um grande número de blocos falhará na verificação. Se vários padrões forem especificados, todos os blocos serão testados com um padrão antes de prosseguir para o próximo padrão.


Exemplo de comando e saída:

# badblocks -wsvt 0 /dev/sdz
Checking for bad blocks in read-write mode
From block 0 to 488386583
Testing with pattern 0x00: done                                                 
Reading and comparing: done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)

Responder2

Se o objetivo fosse destruir os dados em vez de procurar erros, você poderia simplesmente usar

dd if=/dev/zero of=/dev/sdX status=progress

onde X é a letra do seu dispositivo de destino.

Mas se você estiver realmente preocupado com os dados do seu disco, poderá executar o dd várias vezes, usar outras ferramentas como limpar ou destruir ou apenas deixar os badblocks fazerem seu trabalho. Tudo depende do tempo que você está disposto a investir na exclusão dos dados.

informação relacionada