Por que o disco rígido do VirtualBox está sempre crescendo, embora eu exclua arquivos da unidade virtual?

1

Eu já vi isso no formato VDI nativo VBox e no formato VMDK. Embora eu exclua arquivos do drive virtual, vejo que ele sempre continua crescendo. Eu tenho uma vaga idéia de que o arquivo zero-ing não acontece com as unidades virtuais de este link . Quando tentei fazer isso com o SDelete (como dito no link) ele não reduziu o tamanho do disco VDi. Eu tenho aplicativos que, uma vez que a instalação cresce o disco para 10GB cada vez. Eu acredito que deve haver alguma maneira simples de zerar isso do que passar pelo processo tedioso, existe algum? Existe alguma opção no VirtualBox para manter a unidade virtual pequena?

    
por Ajayvignesh 09.06.2017 / 05:30

3 respostas

1

Ao criar uma nova máquina virtual, você será solicitado a criar um disco rígido virtual. Você tem duas opções para o disco, fixo ou alocado dinamicamente. Estas são as descrições (da caixa virtual) dos dois tipos de discos.

Fixo: Um arquivo de disco rígido fixo pode levar mais tempo para ser criado em alguns sistemas, mas geralmente é mais rápido de usar

Dinamicamente alocado: Um arquivo de disco rígido alocado dinamicamente só usará espaço em seu disco rígido físico conforme ele é preenchido (até um tamanho fixo máximo), embora não encolha novamente automaticamente quando o espaço é liberado

Você pode configurá-lo para ser alocado dinamicamente para que o disco não encolha novamente automaticamente quando o espaço nele for liberado.

    
por 09.06.2017 / 07:55
1

Aqui está um script em lote que eu uso para compactar todos os arquivos VDI:

@echo off
for /d %%d in (*.*) do (
    cd "%%d"
    for %%f in (*.vdi) do (
        echo Compacting %%f . . .
        echo Initial size:      %%~zf
        "C:\Program Files\VirtualBox\VBoxManage.exe" modifymedium --compact disk "%%f"
        echo Post compact size: %%~zf
        echo.
    )
    cd ..
)

Basta salvá-lo na pasta que contém as máquinas virtuais e executar ...

    
por 09.06.2017 / 18:37
0

A exclusão de arquivos de uma unidade virtual não reduz seu tamanho por motivos de desempenho.

Quando um arquivo é excluído, deixa um buraco onde os dados do arquivo residiam anteriormente. Quando novos arquivos são criados ou os dados são gravados no disco, eles são preenchidos. O arquivo crescerá quando necessário para acomodar mais dados, mas nunca será reduzido.

Por quê?

Remover dados de um arquivo em qualquer lugar, exceto no final, é uma operação demorada. Os dados precisam ser movidos para preencher os buracos e, no caso de um drive virtual, muitas referências internas aos locais dos dados precisarão ser atualizadas. Mesmo com um SSD, uma exclusão de até mesmo um arquivo pequeno pode levar alguns minutos. Isso claramente não é aceitável.

Você precisa usar o vboxmanage --compacto para remover os buracos e reduzir o drive virtual.

    
por 09.06.2017 / 16:09