A wipefs
página de manual diz que:
-f, --force
Forçar o apagamento, mesmo se o sistema de arquivos estiver montado. Isto é necessário para apagar uma assinatura de tabela de partição em um dispositivo de bloco .
Portanto, isso significa que toda vez que eu quiser substituir uma assinatura de tabela de partição em um dispositivo de bloco, preciso adicionar -f
.
Posteriormente na página de manual, um dos exemplos de uso fornecidos é:
wipefs --all --backup /dev/sdb
Apaga todas as assinaturas do dispositivo /dev/sdb e cria um arquivo de backup de assinatura~/wipefs-sdb-<offset>.bak
para cada assinatura.
Portanto, este exemplo substitui todas as assinaturas de um dispositivo de bloco, incluindo obviamente a assinatura da tabela de partição. Pelo que foi dito anteriormente, isso não vai funcionar, porque não inclui -f
.
Agora não sei se uso -f
ou não. Ao tentar apagar todas as assinaturas de um disco, incluindo a tabela de partições, a --force
opção é necessária?
Concordo que o texto da página de manual parece confuso ou enganoso. O último parágrafo do texto antes das opções afirma:
Aqui, eles estão falando sobre dispositivos de disco não inteiros, que são redigidos de forma diferente do texto na
-f
opção que você incluiu.--force não é necessário nem suficiente para apagar 'todos' os dados da partição
Dado que não está claro, fiz alguns testes para limpar os dados da tabela de partição usando o seguinte esquema:
wipefs
vários argumentoswipefs
durante sua operação, a saÃda delsblk
para o dispositivo e os resultados da abertura do dispositivo emcfdisk
. Além disso, depois decfdisk
recriar uma tabela de partições idêntica e uma partição no dispositivo, observe se a partição recriada recebe o rótulo antigo.Conclusões:
Com este esquema de partição simples e com a partição desmontada, a opção forçar não tem efeito nos dados que são apagados durante a execução
wipefs
no dispositivo (não na partição). Ou seja, seja em execuçãowipefs -a /dev/sdX
ou em execuçãowipefs -af /dev/sdX
, a tabela de partição é apagada do dispositivo. Mas ao recriar a tabela de partiçãocfdisk
, o rótulo antigo é encontrado e aplicado à nova partição. Portanto, a tabela de partições foi apagada, mas os dados da partição em si não. A saÃda dewipefs
durante sua operação é consistente com isso.Para realmente excluir todos os dados das partições, bem como a tabela de partições do dispositivo, todas as partições devem ser listadas explicitamente, antes de listar o dispositivo. A página de manual dá uma dica sobre isso no exemplo do texto do terceiro parágrafo (mudei o sdc para sdX, para evitar acidentes durante copiar/colar em um terminal):
Ou deixando o shell preencher os valores com uma expressão curinga:
Isso exclui com êxito todos os dados de partição do dispositivo, bem como a própria tabela de partição.