Lembre-se de que isso reduzirá o disco apenas se ele crescer em tamanho e você tiver removido os dados. Então, se você acabou de criar um disco dinâmico, isso não diminui. No entanto, se você criou um disco dinâmico, baixou 10 GB de dados para ele e depois excluiu esses 10 GB de dados depois, será possível reduzir o disco em cerca de 10 GB.
Etapa 1: verifique se você está usando um disco dinâmico
Esse processo funciona apenas para discos dinâmicos, que podem aumentar e diminuir de tamanho. Os discos dinâmicos podem ter até um tamanho máximo determinado - 50 GB, por exemplo -, mas na verdade só crescem para esse tamanho máximo quando contêm tantos dados. Os discos de tamanho fixo sempre terão o tamanho máximo.
Se você tiver um disco de tamanho fixo que deseja encolher, primeiro poderá convertê-lo em um disco dinâmico e seguir as instruções abaixo. Por exemplo, se você tiver um disco fixo de 50 GB de tamanho com apenas 20 GB de dados e convertê-lo em um disco dinâmico, será possível reduzi-lo para ocupar apenas 20 GB de espaço.
Para verificar se um disco é de tamanho dinâmico ou fixo no VirtualBox, clique com o botão direito do mouse na máquina virtual que usa o disco e selecione “Configurações”. Clique na aba “Storage” e selecione o disco. Você verá o tipo de disco exibido ao lado de "Detalhes". Por exemplo, na captura de tela abaixo, "Armazenamento alocado dinamicamente" indica que este é um disco dinâmico.
Segundo Passo: Escreva Zeros no Disco na Máquina Virtual
Certifique-se de excluir todos os dados que você não deseja mais no disco dentro da máquina virtual para liberar espaço antes de continuar. Exclua os arquivos que você não precisa, desinstale os programas que não são mais usados e esvazie sua Lixeira. Então, você precisará substituir esse espaço vazio por zeros.
Para sistemas operacionais convidados do Windows
Se você tiver o Windows instalado dentro da máquina virtual, deverá inicializar a máquina virtual e desfragmentar seus discos. Dentro da máquina virtual, procure no menu Iniciar por “Desfragmentar” e inicie a ferramenta “Desfragmentador de Disco” ou “Desfragmentar e Otimizar Drives”. Selecione o disco que você deseja compactar e clique em “Desfragmentar disco”.
Para fazer isso, baixe o utilitário SDelete da Microsoft. Extraia o
sdelete.exe
arquivo para uma pasta no seu computador.
sdelete.exe
arquivo digitando
cd
pressionando Espaço, inserindo o caminho para o diretório e pressionando Enter. Certifique-se de colocar o caminho entre aspas, se ele contiver um caractere de espaço. Deve ficar assim:
cd 'C:path ofolder'
Por exemplo, se você extraiu o
sdelete.exe
para a pasta de download da sua conta de usuário e seu nome de usuário do Windows é Bob, você deve executar o seguinte comando:
cd 'C:UsersobDownloads'
Para preencher rapidamente o caminho do diretório, basta digitar
cd
na janela Prompt de Comando, pressione Espaço e arraste e solte o ícone da pasta na barra de endereços do gerenciador de arquivos.
sdelete.exe c: -z
Isso irá gravar zeros em todo o espaço livre em disco na unidade C:. Se você quiser reduzir uma unidade secundária localizada em uma letra de unidade diferente na máquina virtual, digite sua letra de unidade em vez de c:. É para isso que a ferramenta foi projetada. Como observa a página do SDelete no site da Microsoft, a opção -z é “boa para otimização de disco virtual”.
Você será solicitado a concordar com o contrato de licença da ferramenta antes de continuar. Basta clicar em "Concordo".
Para sistemas operacionais convidados Linux
Se você tiver o Linux instalado na máquina virtual, em outras palavras, um sistema operacional convidado do Linux em vez de um sistema operacional convidado do Windows, poderá ignorar o processo de desfragmentação e usar comandos internos para zerar o espaço livre na unidade. Usaremos o Ubuntu como exemplo aqui, mas o processo será semelhante em outras distribuições do Linux.
Para fazer isso, primeiro você precisa instalar o
zerofree
utilitário dentro da máquina virtual. Ele deve estar disponível nos repositórios de software da sua distribuição Linux. Por exemplo, você pode instalá-lo no Ubuntu executando o seguinte comando no terminal dentro de sua máquina virtual:
sudo apt install zerofree
zerofree
na sua / partition enquanto você é inicializado no ambiente Linux padrão.Em vez disso, você precisará inicializar em um modo de recuperação especial em que sua partição raiz normal não está montada. No Ubuntu, reinicie sua máquina virtual e pressione repetidamente a tecla "Esc" enquanto estiver inicializando para acessar o menu Grub. Quando o menu Grub aparecer, selecione “* Opções avançadas para o Ubuntu” e pressione Enter.
Pressione “Enter” depois quando “Press Enter for maintenance” aparecer na tela. Você receberá um prompt do terminal.
df
Na saída abaixo, podemos ver que
/dev/sda1
é o nosso único dispositivo de disco real aqui. Sabemos disso porque é o único disco com
/dev/
na coluna mais à esquerda.
Supondo que sua máquina virtual foi criada com as configurações padrão, ela só terá
/dev/sda1
que é a primeira partição no primeiro disco rígido. Se você configurou as coisas de maneira diferente com vários discos ou várias partições, pode ser necessário zerar outra partição ou zerar várias partições.
/dev/sda1
com o nome do dispositivo da partição que você deseja escrever zeros. A maioria das pessoas só terá um
/dev/sda1
dispositivo para zero.
zerofree -v /dev/sda1
halt
Terceiro Passo: Encontre o Comando VBoxManage
O restante do processo será executado fora da máquina virtual, no sistema operacional do host. Por exemplo, se você tem o Windows 10 em execução no seu PC e o Windows 7 em execução em uma máquina virtual, você executaria o restante do processo no Windows 10.
Esta opção não é exposta na interface gráfica do VirtualBox. Em vez disso, você tem que usar o
VBoxManage.exe
comando.
Localize este comando para continuar. No Windows, você o encontrará no diretório do programa VirtualBox, que é
C:Program FilesOracleVirtualBox
por padrão. Se você instalou o VirtualBox em outro diretório, procure lá.
cmd
e pressione Enter.
cd
no prompt de comando, seguido pelo caminho da pasta onde está o comando VBoxManage. Você precisará colocá-lo entre aspas.
Você pode fazer isso rapidamente digitando
cd
na janela do prompt de comando e arrastando e soltando o ícone da pasta da barra de endereços do gerenciador de arquivos no prompt de comando.
cd 'C:Program FilesOracleVirtualBox'
vboxmanage
comando normalmente, como você faria com qualquer outro comando.
Etapa 4: Localizar o caminho até o disco que você deseja compactar
Execute o seguinte comando na janela do prompt de comando para exibir uma lista de todos os discos rígidos virtuais em seu computador:
VBoxManage.exe list hdds
C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi
Quinto passo: compacte o disco
Para compactar o disco, você precisará usar
VBoxManage.exe
com o comando correto. Basta executar o seguinte comando, substituindo o caminho para o arquivo VDI de disco pelo caminho para o disco em seu sistema que você encontrou usando o comando acima. Certifique-se de colocar o caminho do arquivo entre aspas, se ele contiver um espaço em qualquer lugar em seu caminho.
Deve ficar assim:
VBoxManage.exe modifymedium disk 'C:path odisk.vdi' --compact
Por exemplo, como o caminho para o arquivo é
C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi
no nosso exemplo, nós executamos o seguinte comando:
VBoxManage.exe modifymedium disk 'C:UserschrisVirtualBox VMsWindows 7Windows 7.vdi' --compact
Também considerar a exclusão de instantâneos
O VirtualBox permite que você crie instantâneos para cada máquina virtual. Eles contêm uma imagem completa da máquina virtual quando você criou a captura instantânea, permitindo que você a restaure para um estado anterior. Estes podem ocupar muito espaço.
Para liberar mais espaço, exclua os instantâneos que você não usa. Para visualizar os instantâneos que você salvou para uma máquina virtual, selecione-o na janela principal do VirtualBox e clique no botão “Instantâneos” à direita de Detalhes na barra de ferramentas. Se você não precisar mais de um instantâneo, clique com o botão direito do mouse na lista e selecione “Excluir instantâneo” para liberar espaço.