Como encolher uma máquina virtual do VirtualBox e liberar espaço em disco
Por padrão, o VirtualBox cria discos dinâmicos que crescem com o tempo à medida que você adiciona dados. No entanto, se você excluir dados da máquina virtual posteriormente, perceberá que o disco não diminui automaticamente. Mas você pode encolher manualmente um disco dinâmico usando um comando oculto.
Lembre-se de que isso só reduzirá o disco se ele crescer em tamanho e, desde então, você tiver removido os dados. Então, se você acabou de criar um disco dinâmico, isso não diminui. Mas, se você criou um disco dinâmico, baixou 10 GB de dados para ele e, em seguida, excluiu esses 10 GB de dados posteriormente, deve conseguir 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 de 50 GB, por exemplo, mas eles só crescem até o 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 desnecessários, desinstale os programas que você não usa mais e esvazie sua Lixeira. Então, você precisará sobrescrever esse espaço vazio com 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ê quer compactar e clique em “Desfragmentar disco”.
Após o processo de desfragmentação ser concluído, você precisará gravar 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 espaço vazio em zero - em outras palavras - e será capaz de compactar o disco.
Para fazer isso, baixe o utilitário SDelete da Microsoft. Extraia o sdelete.exe
arquivo para uma pasta no seu computador.
Abra uma janela do prompt de comando. Para fazer isso, abra o menu Iniciar, procure por "Prompt de comando" e inicie o atalho.
Mude para o diretório que contém o 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: \ caminho \ para \ pasta"
Por exemplo, se você extraiu o sdelete.exe
arquivo 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, simplesmente digite 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.
Execute o seguinte comando:
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 a página do SDelete no site da Microsoft informa, 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 o processo ser concluído. Quando terminar, desligue a máquina virtual usando a opção "Desligar" no menu Iniciar. Agora você está pronto para compactá-lo.
Para sistemas operacionais convidados Linux
Se você tiver o Linux instalado na máquina virtual - um sistema operacional convidado do Linux em vez de um sistema operacional convidado do Windows, em outras palavras -, você pode 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. 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 instala zerofree
Você não pode realmente usar zerofree
na sua partição / enquanto você é inicializado no ambiente Linux padrão. Em vez disso, você desejará 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.
Selecione a opção “(modo de recuperação)” associada ao kernel mais recente do Linux - ou seja, a opção com o maior número de versão próximo ao topo da lista - e pressione Enter.
Selecione “root” no menu de recuperação para inicializar em um prompt do shell de root.
Pressione “Enter” depois quando “Press Enter for maintenance” 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
é 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.
Agora você está pronto para zerar o disco. Execute o seguinte comando, substituindo / 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
Quando o processo zero for concluído, execute o seguinte comando para encerrar a máquina virtual:
parada
Quando você vê a mensagem “Sistema interrompido” na tela, o sistema parou e você pode desligar sua máquina virtual. Feche a janela da máquina virtual e selecione “Desligar a máquina virtual”.
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 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ê vai encontrá-lo no diretório do programa VirtualBox, que é C: \ Arquivos de Programas \ Oracle \ VirtualBox
por padrão. Se você instalou o VirtualBox em outro diretório, olhe lá.
Abra uma janela do prompt de comando. Para fazer isso, abra o menu Iniciar, digite cmd
e pressione Enter.
Tipo 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, em seguida, arrastando e soltando o ícone da pasta da barra de endereços do gerenciador de arquivos no prompt de comando.
Se você estiver usando o caminho padrão, ele deverá se parecer com o seguinte:
cd "C: \ Arquivos de Programas \ Oracle \ VirtualBox"
NOTA: Estas instruções presumem que você esteja usando o VirtualBox no Windows. Se você estiver usando o VirtualBox no macOS ou Linux, você pode simplesmente abrir uma janela do Terminal e executar o 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 lista hdds
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 do caminho.
Deve ficar assim:
VBoxManage.exe modifymedium disco "C: \ caminho \ para \ disk.vdi" --compacto
Por exemplo, como o caminho para o arquivo é C: \ Usuários \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi
no nosso exemplo, nós rodamos o seguinte comando:
VBoxManage.exe modifica o disco "C: \ Usuários \ chris \ VMs do VirtualBox \ Windows 7 \ Windows 7.vdi" --compact
O VirtualBox compactará o disco e você poderá inicializar a máquina virtual imediatamente, se desejar. Quanto espaço você economiza depende de quanto espaço vazio havia para recuperar.
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 restaurá-la para um estado anterior. Estes podem levar 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.