Existe um comando fácil que eu possa usar para zerar os últimos 1 MB de um disco rígido?
Para o início da unidade eu faria dd if=/dev/zero of=/dev/sdx bs=1M count=1
. A seek
opção para dd parece promissora, mas alguém tem uma maneira fácil de determinar exatamente até onde devo procurar?
Eu tenho um dispositivo RAID de hardware, que armazena algumas das configurações de RAID no final da unidade. Eu preciso que o dispositivo RAID veja as unidades como não configuradas, por isso quero remover a configuração RAID sem precisar gastar tempo para fazer uma limpeza completa das unidades. Eu tenho uma dúzia de unidades de 2 TB e uma eliminação completa de todas essas unidades levaria muito tempo.
sda
como exemplo é terrivelmente perigoso se você copiar e colar e conseguir copiar o retorno de carro.sdx
seria muito mais adequado. Tomo precauções, mas só por causa delas não destruí meu disco agora.O tamanho de cada partição está disponível no
/proc/partitions
. O comando a seguir mostra o tamanho desdx
(em unidades de kB):Portanto:
fonte
O uso da busca para chegar ao final da unidade funciona muito bem, ou seja:
No entanto, quando você usa isso, recomendo que você saiba que seu valor de contagem está correto ou não o use. A razão pela qual digo isso é que as unidades podem ter setores de 512 bytes ou 4k e, se você usar esta solução com uma unidade com 4k setores, não irá para o final da unidade com esse valor de contagem, e pode perder as informações de RAID no final (eu encontrei isso).
fonte
dd
setores são tratados quando usados combs
valores personalizados menores / maiores que o tamanho real do bloco relatado pelo firmware do dispositivo ou pelo kernel do linux.Você pode obter o número de setores no disco
hdparm -v /dev/sdx
. Tente procurar number_of_sectors - 2048 (assumindo setores de 512 bytes).fonte
/sys/block/sdx/queue/physical_block_size
pode fornecer as informações, mas alguns discos mais recentes são reproduzidos rapidamente com o tamanho do setor que eles relatam. Provavelmente é melhor ler o rótulo no disco ou procurá-lo na folha de dados do fabricante.hdparm -I /dev/sda
lista 2 "versões" do tamanho do setor:Logical
ePhysical
. É isso que você quer dizer com "rápido e solto"? .... I jsut obter esse "sentimento" de que se alguma coisa vai se comportar de tal maneira que poderia muito bem ser um sistema RAID ..Você pode usar
dd
e obter o tamanho do dispositivo através defdisk
:Não estou usando um tamanho de bloco de 1 m para evitar erros de arredondamento.
Como alternativa, você pode escrever um pequeno programa C (ou script) que chama a
lseek
função comSEEK_END
um deslocamento negativo de 1mb e depois chamarwrite
.fonte