VirtualBox - como liberar espaço em disco VDI não utilizado?

14

Portanto, se eu tenho um armazenamento dinâmico no convidado da caixa virtual, como posso reduzir o tamanho do VDI, se houver muitos lugares não utilizados no convidado?

Quero dizer, eu sei que o convidado de caixa virtual na realidade é de cerca de ~ 3 GByte, mas o arquivo VDI é de 10 GByte, porque de vez em quando o convidado era tão grande. Mas agora são apenas 3 GBytes. Como posso reduzir o tamanho do VDI? Para que fosse apenas 3 GByte's é grande? (e não, não há nenhum instantâneo sobre o convidado)

LanceBaynes
fonte

Respostas:

15

Dê uma olhada no vboxmanage modifyhd : ele permite que você faça uma imagem mais compacta.

Com a opção --compact, pode ser usado para compactar imagens de disco, ou seja, remover blocos que contêm apenas zeros. Isso reduzirá uma imagem alocada dinamicamente novamente; isso reduzirá o tamanho físico da imagem sem afetar o tamanho lógico do disco virtual. A compactação funciona tanto para imagens de base quanto para imagens de diferenças criadas como parte de um instantâneo.

Para que esta operação seja eficaz, é necessário que o espaço livre no sistema convidado seja zerado primeiro usando uma ferramenta de software adequada. Para convidados do Windows, você pode usar a ferramenta sdelete fornecida pela Microsoft. Execute sdelete -c no convidado para zerar o espaço livre em disco antes de compactar a imagem do disco virtual. Para Linux, use o utilitário zerofree, que suporta sistemas de arquivos ext2 / ext3.

Karolos
fonte
1
sdelete -z Não use -c! Consulte superuser.com/questions/747820/… - a opção -c substitui os dados aleatórios por uma "limpeza segura" (usando SSDs levemente).
Luc
6

Tenha cuidado - o MS alterou o significado de "-c" (limpo) e "-z" (zero) em algum momento. Para estar seguro, execute "sdelete /?" para ver qual opção você deve usar:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)
hornlo
fonte
1
A opção -c substitui os dados aleatórios (consulte superuser.com/questions/747820/… ), que usa um pouco de SSDs. Use -z para zerar.
Luc