Como reduzir uma máquina virtual VirtualBox e liberar espaço em disco

Por padrão, o VirtualBox cria discos dinâmicos que crescem com o tempo conforme você adiciona dados. No entanto, se você excluir dados da máquina virtual posteriormente, notará que o disco não encolhe automaticamente. Mas você pode reduzir manualmente um disco dinâmico usando um comando oculto.

Lembre-se de que isso apenas encolherá o disco se ele aumentar de tamanho e, desde então, você tiver removido os dados. Portanto, se você acabou de criar um disco dinâmico, isso não o reduzirá. Mas, se você criou um disco dinâmico, baixou 10 GB de dados nele e, em seguida, excluiu esses 10 GB de dados, poderá reduzir o disco em cerca de 10 GB.

Etapa um: 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 determinado tamanho máximo – 50 GB, por exemplo – mas eles só realmente crescem até esse tamanho máximo quando contêm essa quantidade de dados. Os discos de tamanho fixo sempre terão seu tamanho máximo.

Se você tiver um disco de tamanho fixo que deseja encolher, primeiro converta-o em um disco dinâmico e siga as instruções abaixo. Por exemplo, se você tiver um disco fixo de 50 GB com apenas 20 GB de dados e convertê-lo em um disco dinâmico, poderá reduzi-lo para ocupar apenas 20 GB de espaço.

Para verificar se um disco é dinâmico ou de tamanho fixo no VirtualBox, clique com o botão direito na máquina virtual que usa o disco e selecione “Configurações”. Clique na guia “Armazenamento” e selecione o disco. Você verá que 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.

Etapa dois: gravar zeros no disco da máquina virtual

Certifique-se de excluir todos os dados que não deseja mais no disco dentro da máquina virtual para liberar espaço antes de continuar. Exclua os arquivos desnecessários, desinstale os programas que não usa mais e esvazie a Lixeira. Em seguida, você precisará substituir esse espaço vazio com zeros.

Para sistemas operacionais Windows convidados

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 unidades”. Selecione o disco que deseja compactar e clique em “Desfragmentar disco”.

Recomendado:  O Tor é realmente anônimo e seguro?

Depois que o processo de desfragmentação for concluído, você precisará escrever zeros no espaço vazio dentro da máquina virtual. Quando você exclui arquivos, os dados excluídos ainda são armazenados no disco, portanto o VirtualBox não pode reduzir automaticamente a unidade. Mas, quando você escreve zeros sobre os arquivos excluídos, o VirtualBox verá uma grande quantidade de zeros – espaço vazio, em outras palavras – e será capaz de compactar o disco.

Para fazer isso, baixe o  utilitário SDelete da Microsoft. Extraia o sdelete.exearquivo para uma pasta em seu computador.

Abra uma janela do Prompt de Comando. Para fazer isso, abra o menu Iniciar, pesquise “Prompt de comando” e inicie o atalho.

Mude para o diretório que contém o sdelete.exearquivo 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 ser assim:

cd "C: \ caminho \ para \ pasta"

Por exemplo, se você extraiu o sdelete.exearquivo para a pasta de download da sua conta de usuário e seu nome de usuário do Windows é Bob, você executaria o seguinte comando:

cd "C: \ Users \ bob \ Downloads"

Para preencher rapidamente o caminho do diretório, basta digitar cd na janela Prompt de Comando, pressionar Espaço e arrastar e soltar o ícone da pasta da barra de endereço do gerenciador de arquivos.

Execute o seguinte comando:

sdelete.exe c: -z

Isso gravará zeros em todo o espaço livre em disco na unidade C :. Se você deseja reduzir uma unidade secundária localizada em uma letra de unidade diferente na máquina virtual, digite a letra da unidade em vez de c :. É para isso que a ferramenta foi projetada. Como a página SDelete no site da Microsoft observa, 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”.

Aguarde a conclusão do processo. Quando terminar, desligue sua máquina virtual usando a opção “Desligar” no menu Iniciar. Agora você está pronto para compactá-lo.

Para sistemas operacionais Linux convidados

Se você tiver o Linux instalado na máquina virtual – um sistema operacional convidado Linux em vez de um sistema operacional convidado Windows, em outras palavras – você pode pular o processo de desfragmentação e usar comandos integrados para zerar o espaço livre na unidade. Usaremos o Ubuntu como exemplo aqui, mas o processo será semelhante em outras distribuições 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 de 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

Na verdade, você não pode usar zerofree em sua partição / enquanto inicializa no ambiente Linux padrão. Em vez disso, você desejará inicializar em um modo de recuperação especial onde sua partição raiz normal não está montada. No Ubuntu, reinicie sua máquina virtual e pressione repetidamente a tecla “Esc” durante a inicialização para acessar o menu Grub. Quando o menu Grub aparecer, selecione “* Opções avançadas para Ubuntu” e pressione Enter.

Recomendado:  As notificações do Android ainda estão quilômetros à frente do iPhone

Selecione a opção “(modo de recuperação)” associada ao kernel Linux mais recente – ou seja, a opção com o número de versão mais alto próximo ao topo da lista – e pressione Enter.

Selecione “root” no menu de recuperação para inicializar em um prompt de shell de root.

Pressione “Enter” depois, quando “Pressione Enter para manutenção” aparecer na tela. Você receberá um prompt de terminal.

Na linha de comando, determine qual disco virtual você deseja zerar executando o seguinte comando:

df

Na saída abaixo, podemos ver que /dev/sda1 é nosso único dispositivo de disco real aqui. Sabemos disso porque é o único disco com /dev/a coluna mais à esquerda.

Supondo que sua máquina virtual foi criada com as configurações padrão, ela terá apenas /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 partições, pode ser necessário zerar outra partição ou zerar várias partições.

Agora você está pronto para zerar o disco. Execute o seguinte comando, substituindo /dev/sda1pelo nome do dispositivo da partição na qual deseja gravar zeros. A maioria das pessoas terá apenas um  /dev/sda1dispositivo para zerar.

zerofree -v / dev / sda1

Quando o processo zero for concluído, execute o seguinte comando para desligar a máquina virtual:

parar

Ao ver a mensagem “Sistema interrompido” na tela, o sistema foi interrompido e agora você pode desligar a máquina virtual. Feche a janela da máquina virtual e selecione “Desligar a máquina virtual”.

Etapa três: encontre o comando VBoxManage

O resto do processo será executado fora da máquina virtual, em seu sistema operacional host. Por exemplo, se você tiver o Windows 10 em execução em seu PC e o Windows 7 em uma máquina virtual, você executará o resto do processo no Windows 10.

Esta opção não está exposta na interface gráfica do VirtualBox. Em vez disso, você deve usar o VBoxManage.execomando.

Localize este comando para continuar. No Windows, você o encontrará no diretório do programa VirtualBox, que é o   C:\Program Files\Oracle\VirtualBox padrão. Se você instalou o VirtualBox em outro diretório, procure lá.

Recomendado:  Por que os alto-falantes da TV soam tão ruins?

Abra uma janela do Prompt de Comando. Para fazer isso, abra o menu Iniciar, digite cmd e pressione Enter.

Digite 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ço do gerenciador de arquivos no Prompt de Comando.

Se você estiver usando o caminho padrão, ele deve se parecer com o seguinte:

cd "C: \ Arquivos de programas \ Oracle \ VirtualBox"

NOTA: Estas instruções presumem que você está usando o VirtualBox no Windows. Se você estiver usando o VirtualBox no macOS ou Linux, basta abrir uma janela do Terminal e executar o vboxmanage comando normalmente, como faria com qualquer outro comando.

Etapa quatro: localize o caminho para o disco que você deseja compactar

Execute o seguinte comando na janela do prompt de comando para ver uma lista de todos os discos rígidos virtuais em seu computador:

VBoxManage.exe list hdds

Examine a lista e identifique o caminho do arquivo para o disco virtual que deseja compactar. Digamos que desejemos modificar o disco virtual associado à máquina virtual chamada “Windows 7”. Como podemos ver na saída abaixo, o caminho para esse disco virtual em nosso sistema é  C:\Users\chris\VirtualBox VMs\Windows 7\Windows 7.vdi.

Etapa cinco: compactar o disco

To compact the disk, you’ll need to use VBoxManage.exe  with the correct command. Just run the following command, replacing the path to the disk VDI file with the path to the disk on your system which you found using the above command. Be sure to enclose the path of the file in quotes if it contains a space anywhere in its path.

It should look like this:

VBoxManage.exe modifymedium disk "C:\path\to\disk.vdi" --compact

For example, since the path to the file is C:\Users\chris\VirtualBox VMs\Windows 7\Windows 7.vdi in our example, we’d run the following command:

VBoxManage.exe modifymedium disk "C:\Users\chris\VirtualBox VMs\Windows 7\Windows 7.vdi" --compact

VirtualBox will compact the disk and you can immediately boot up the virtual machine afterwards, if you like. How much space you end up saving depends on how much empty space there was to recover.

Also Consider Deleting Snapshots

RELATED: How to Save Time by Using Snapshots in VirtualBox

VirtualBox allows you to create snapshots for each virtual machine. These contain a full image of the virtual machine when you created the snapshot, allowing you to restore it to a previous state. These can take a lot of space.

To free up more space, delete snapshots you don’t use. To view the snapshots you have saved for a virtual machine, select it in the main VirtualBox window and click the “Snapshots” button to the right of Details on the toolbar. If you no longer need a snapshot, right-click it in the list and select “Delete Snapshot” to free up space.