As máquinas virtuais são omnipresentes hoje em dia para testar vários sistemas operativos e realizar outras tarefas. Um programa popular e gratuito para executar máquinas virtuais é o VirtualBox. Quando se cria uma nova máquina, é necessário criar um disco rígido para ela e especificar o seu tamanho. Mas nem sempre é possível adivinhar o espaço que uma determinada máquina irá ocupar. Existem discos virtuais dinâmicos que ocupam espaço apenas quando se escreve ficheiros neles, mas esta é uma solução incompleta para o problema, porque não se pode planear tudo antecipadamente.
Existem três formatos principais que podem ser utilizados no VirtualBox - VDI
, VHD
e VDMK
. Apenas VDI
e VHD
podem ser redimensionados. Existe uma solução alternativa para o VDMK
.
Para aumentar o tamanho é necessário usar um comando no terminal ou na linha de comando, infelizmente não existe tal função na GUI. Também precisa de saber o caminho completo para o seu disco. Digamos que o nosso disco está localizado em ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
no Linux. Vejamos as suas informações para saber o seu tamanho atual:
$ VBoxManage showhdinfo ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
O tamanho está marcado no campo capacity e, neste exemplo, é de 22075 megabytes. É importante saber a capacidade em megabytes, pois é com ela que vamos aumentar o disco. Para aumentar o tamanho do disco virtual do Virtualbox é utilizado o mesmo comando, só que com o parâmetro modifyhd
:
$ VBoxManage modifyhd ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi --resize 32075
Aumentámos o volume em 10 GB. É importante que o valor especificado no parâmetro resize
não seja inferior ao tamanho atual do disco, caso contrário os dados do sistema operativo podem ser corrompidos e o objetivo desta operação deixa de fazer sentido.
Se a sua máquina tiver snapshots de estado, deve redimensioná-los também, caso contrário nada funcionará. Pode utilizar um ciclo como este para o fazer:
$ for x in ~/VirtualBox VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x --resize 32075 ; done
Lembre-se que o tamanho e os nomes devem coincidir em todos os comandos para a mesma máquina. O VirtualBox não suporta o redimensionamento do formato VDMK
, mas é possível convertê-lo para vdi
, ampliá-lo conforme descrito acima e convertê-lo novamente:
$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdmk" "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi" --format vdi
$ VBoxManage modifyhd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " --resize 32075$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk" --format vmdk
No sistema operativo Windows, o comando terá um aspeto um pouco diferente e o caminho do ficheiro começará a partir da unidade C:. Para executar o comando VBoxManage, é necessário primeiro navegar até a pasta de executáveis do VirtualBox:
cd “C:Program FilesOracleVirtualBox”
Execute o comando para aumentar o tamanho do VirtualBox como descrito anteriormente, substituindo o caminho do ficheiro pelo seu próprio caminho:
$ VBoxManage showhdinfoC:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi
E altere o tamanho deste disco, lembre-se que o tamanho deve ser especificado em megabytes, e deve ser maior que o atual.
$ VBoxManage modifyhd "C:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi" --resize 32075
O facto de ter aumentado o tamanho do disco disponível não muda nada, tal como adicionar um novo disco rígido ao seu sistema não muda nada. A seguir é necessário arrancar na sua máquina virtual, expandir o disco da virtualbox e aumentar o espaço ocupado pelo sistema de ficheiros, para isso pode utilizar o utilitário Gparted. Nas distribuições Linux vem por defeito, execute o utilitário:
Verá o espaço disponível marcado a cinzento no final da unidade. Agora, pode redimensionar a última partição clicando com o botão direito do rato sobre ela, abrindo o menu de contexto e selecionando "redimensionar/mover":
Quando terminar, não se esqueça de clicar em "Apply" (Aplicar) para aplicar todas as operações.
Vimos como aumentar o tamanho de um disco virtual do Virtualbox utilizando a linha de comandos e como partilhar o espaço resultante com o seu sistema convidado.
Apply the discount by inserting the promo code in the special field at checkout: