VirtualBox 4.0.4: Nova funcionalidade permite expandir o tamanho do disco vdi

Para facilitar a vida de quem precisa redimensionar o disco virtual de uma VM, foi lançado o serviço “modifyhd” que pode ser acessado pelo VBoxManage.

Infelizmente esse serviço está disponível apenas na versão 4. Se a versão do seu virtualbox for mais antiga, sugiro que faça essa atualização. Nessa nova versão, foram corrigidos vários bugs (são tantos que não dá para listar aqui. Veja a lista completa em: http://www.virtualbox.org/wiki/Changelog). Você pode fazer o download da versão nova versão em: http://www.virtualbox.org/wiki/Downloads

Mas se você ainda usa uma versão antiga do virtualbox, veja esse tutorial: VirtualBox 3: Aumentanto o tamanho do disco virtual da vm

Bom, para redimensionar o disco, você deve executar na linha de comando, em um terminal/console o seguinte comando:

VBoxManage modifyhd <caminho completo para o vdi> –resize <tamanho em mb>

Tentei fazer um teste. Então escolhi peguei o disco do meu WindowsXP de 20GB e rodei o comando:

VBoxManage modifyhd /Users/rafaelbiriba/Library/VirtualBox/HardDisks/WindowsXP.vdi –resize 15000

Resultado:

Progress state: VBOX_E_NOT_SUPPORTED VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Para minha surpresa, o modifyhd só funciona para aumentar o disco. Ainda não foi implementado a funcionalidade para diminuir o disco.

Então depois de um novo teste:

VBoxManage modifyhd /Users/rafaelbiriba/Library/VirtualBox/HardDisks/WindowsXP.vdi –resize 22000

O resultado foi exatamente o esperado (22000 MB = 21.48 GB):

Ao invés de usar o –resize passando o valor em MB, você também pode usar o –resizebyte e passar o valor em bytes.

Depois de redimencionar o disco, você precisa aumentar o tamanho da partição, para ocupar também o novo espaço disponibilizado. Para isso, você pode baixar o live cd do Gparted (http://gparted.sourceforge.net/download.php) e alterar o tamanho da partição.

Você também pode acessar o guia em: https://rafaelbiriba.com/2011/03/16/virtualbox-3-aumentando-o-tamanho-do-disco-virtual-da-vm.html e no 8º passo eu mostro como fazer para redimensionar a partição usando o GParted.

Então é isso… Qualquer dúvida, crítica, elogio ou sugestão, podem me deixar um comentário abaixo 😉

Share
  • Jon

    O log Progress state: VBOX_E_NOT_SUPPORTED VBoxManage: error: Resize hard disk operation for this format is not implemented yet! pode aparecer também quando a imagem vdi for antiga (gerada por versões anteriores do vbox) e/ou quando esta imagem tiver armazenamento estático ao invés de dinâmico. A solução que encontrei foi clonar o disco antigo e aplicar as modificações na imagem nova gerada.

    • Olá Jon,

      Obrigado por compartilhar essa dica conosco… Quando diz versões anteriores do virtualbox, você quer dizer qual em específico ?

      Abraços,

  • rafael

    Olá! Estou com o seguinte problema: excluí uma vm do virtualbox, para criar novas vm’s utilizando a opção hd imutável (economizar espaço em disco), após criar as 2 novas vm’s, para minha surpresa, ao iniciar a vm, notei que o windows estava zerado, sem os meus arquivos/pastas, updates, tenho a pasta do snapshot salva, a pergunta é como faço para restaurar o snapshot? sendo que não consigo restaurar o snapshot da antiga vm, será que pode me ajudar.
    Abs

    • Como você deletou a VM, a snapshot que você tem se tornou orfão, ou seja, será quase impossivel reverter…

      Dê uma boa pesquisada no google, buscando por termos em inglês, e talvez consiga descobrir algo…

      Mas comece a pensar em reinstalar tudo o que tem… =/

      Dica: Utilize os serviços gratuitos do Dropbox para você nunca mais perder seus arquivos e fotos… Se cadastre pelo link http://db.tt/IovVNAX e ganhe um espaço em disco adicional…

      Abraços,

  • rafael

    Valeu, vou tentar achar a solução, se achar te aviso
    Abs do sul tchê

  • Paraná

    ‘VBoxManage’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

    • Você provavelmente está em um Windows… Você precisa ir até a instalação do VirtualBox para executar o VBoxManage… Qual a versão do windows você está rodando ?

  • Marcos

    rodei o comando no cmd do windows , mais não reconheceu nao o VBOXMANEGE …..

  • Otima implementação, mas ao dar o comando, o meu diz que a sintaxe eta errada..

    vbxmanage modifyhd d:\vm\vmaula.vdi -resize 6000

    Fiz algo errado?

    • Qual a versão do VirualBox ?

    • Éric Messias

      Falta um hífen em “resize” (–resize). Sintaxe correta: vbxmanage modifyhd d:\vm\vmaula.vdi –resize 6000

  • romero

    Um abraço, muito bem elaborado e funcionou muito bem na versão 4.1.16 r78094.

  • Aqui deu quase certo, acontece que consegui expandir o disco de 8gb para 20gb perfeitamente, o problema é que quando abro o GParted para redimensionar a partição, o espaço “extra” não aparece, e a única coisa que aparece é a partição swap e a primária ext4, mais nada além disso, :(, o que pode ser?

  • Atualizando, consegui resolver o problema.

    Googlando por aí, descobri que há como clonar “hd’s” no virtualbox através desse comando: vboxmanage clonehd hd1.vdi hd2.vdi –-existing, então bastou eu criar um 2 hd vazio com o tamanho desejado, e clonar utilizando o comando acima, o espaço não-alocado surgiu e foi possível redimensionar 😀

    [ ]’s

  • Renilton

    Oi, muito obrigado pela dica.

    Comigo funcionou, consegui aumentar o disco de 20Gb pra 50Gb, mais só depois de utilizar alguns truques.
    Utilizo o Windows 8, e o VBox 4.2.4

    1º Copiei todos os arquivos da pasta “C:\Program Files\Oracle\VirtualBox\” (só os arquivos) pra pasta onde está o disco vdi.

    2º Executei o Prompt como administrador

    3º Como no nome do meu disco vdi tem espaços, precisei colocar o nome entre aspas. Outra coisa que verifiquei é que é preciso digitar dois traços (–) antes do nome resize.

    O comando ficou assim: vboxmanage modifyhd “Nome do meu disco.vdi” –resize 50000

    Pronto!

  • Muito bom o Post, ajudou-me muito. Obrigado!!!

  • nilson

    rafael não o vboxmanage sera que tem que configurar o path do windows ?

    • Pelo terminal do Windows, você consegue ir até o executável e chamar o vboxmanage.exe passando os parametros.

    • Você só precisará configurar o path do windows se você não quiser ir até o diretório do vboxmanage e de lá passar os parâmetros

      • Ops… Agora que entendi a pergunta do Nilson.

        Sim, você pode adicionar a pasta do virtualbox ao path, assim poderá chamar o vboxmanage de qualquer lugar.

  • Biro

    #Dica

    passando o meu aqui de 25GB p/ 60GB

    PC real é Windows7 64bits

    Virtualização Windows7 64bits ( via VirtualBox )

    usei o nome na virtualização de: ( Windows 7_64 )

    1. copiei todos os arquivos da pasta:

    C:\Arquivos de Programas\Oracle\VirtualBox

    coloquei na pasta onde esta o (.vdi)
    provavelmente estará em:

    C:\Usuários\SEUNOMEouNOMEDOPC\VirtualBox VMs\NOMEDAVIRTUALIZAÇÃO

    aqui ficou:

    C:\Usuários\NOMEDOMEUPC\VirtualBox VMs\Windows 7_64

    2. no menu iniciar executei o cmd.exe como administrador (direito do mouse)

    3. ao abrir o cmd

    aparecerá:
    C:\Windows\system32>

    digite:
    cd \Program Files\Oracle\VirtualBox

    ficará:
    C:\Program Files\Oracle\VirtualBox

    digite:
    vboxmanage modifyhd “C:\COLOQUE-CAMINHO-ONDE-ESTA-O-.VDI” –resize 60000

    aqui ficou assim:
    vboxmanage modifyhd “C:\Users\NOMEDOMEUPC\VirtualBox VMs\Windows 7_64\Windows 7_64.vdi” –resize 60000

    aparecerá:
    0%…10%…20%…30%…40%…50%…70%…80%…90%…100%

    pronto !!!

    OBS. para saber o caminho onde esta seu (.vdi) ao abrir o gerenciador do virtualbox
    aparece logo na tela principal em (Armazenamento)
    exemplo:
    Porta SATA 0: xxxxxxxxxxxx) onde esta esse “x”
    é o caminho do –> .vdi

    4. abrir a virtualização

    clicar no menu iniciar em COMPUTADOR (c/ com o direito do mouse)

    vá em GERENCIAR, após vá em GERENCIAMENTO DE DISCO

    em C:
    utilize o direito do mouse e escolha
    ESTENDER
    siga os procedimentos

    e pronto !!!

    caso queira aumentar novamente siga os procedimentos acima e coloque em: –resize XXXXX

    X acima é o valor do tamanho que vc quer no HD virtual

    p/ hd 60GB ( coloque –resize 60000 )
    p/ hd 100GB ( coloque — resize 100000 )

    e etc …