Aprendi com este artigo a usar o sdelete como uma etapa para reduzir o arquivo VDI:
sdelete -c c:
Mas o que significa -c
('Espaço livre limpo', conforme descrito no texto de ajuda)? Não escreve espaço livre com zero? E o que dizer -z
(espaço livre zero)? Qual é a diferença entre sdelete -c e -z?
Editar
Tentei a etapa do artigo mencionado anteriormente, mas não reduzi o tamanho do .vid
arquivo. Depois segui a postagem do superusuário , alterei a opção -c
para -z
e obtive sucesso.
Parece que -z
grava zeros para liberar espaço e -c
escreve outra coisa (bits aleatórios, possivelmente).
fonte
Isso deveria ter sido postado de maneira mais apropriada como um comentário à resposta de Thomas, mas como ainda não posso fazer isso, posto aqui.
A mistura das opções "-z" e "-c" é provavelmente um "erro comum", porque o SDelete mudou o comportamento dessas opções ao longo dos anos. Observando as referências fornecidas abaixo, parece que o SDelete primeiro teve uma opção "-z" que executava a "limpeza de padrão militar", depois adicionou uma opção "-c" para zerar o espaço livre e, em seguida, entre as v1.51 e v1. 61 mudou esse comportamento para o atual.
Referências: Fórum sysinternals.com e a antiga página inicial do SDelete no Microsoft TechNet via archive.org.
fonte
Documentação atual (e versão do programa 2.01):
-c
: Limpe o espaço livre. Especifique uma quantidade opcional de espaço para deixar livre para uso por um sistema em execução.-z
: Espaço livre zero (bom para otimização do disco virtual).Mas nas versões mais antigas era revertida:
-c
: Espaço livre zero (bom para otimização do disco virtual).-z
: Limpe o espaço livre.Mas o que eles fazem?
O Clean cria o maior arquivo possível e o preenche com dados aleatórios e, em seguida, preenche com zeros. Isso é o que a maioria das pessoas pensa como limpeza , e é um exagero.
A desvantagem é que, se você estiver usando um disco virtual, ou dentro de uma máquina virtual, ou executando-o em um espaço de armazenamento: o sistema de armazenamento subjacente será forçado a alocar recursos para armazenar dados aleatórios e, então, manter zero. Felizmente, o sistema de armazenamento subjacente perceberá que todo o espaço que acabou de ser alocado à sua unidade pode ser recuperado porque todos esses setores simplesmente contêm zeros.
-z Zero: Simplesmente grava zeros em todos os setores. Esta é a opção que você deseja, por vários motivos:
Fonte : Montou um disco rígido virtual e observou as operações de E / S que o sdelete levou nos dois modos.
tl; dr: use -z Zero. É mais rápido, melhor e mais seguro.
fonte