Aumentar o tamanho do disco no VirtualBox

A partir de um Windows 10, como expandir o disco de um Ubuntu Linux virtualizado (.vdi) usando Oracle VM VirtualBox? Veja como em 2 passos!

virtualboxlogo

Problema

Quando se tem um Sistema operacional virtualizado, é comum faltar espaço em disco após sucessivas atualizações.

Este post retrata o seguinte cenário: a partir de um Windows 10, iremos expandir o Ubuntu Linux virtualizado (.vdi) do Oracle VM VirtualBox.

Solução

Em resumo, tudo o que você precisa fazer é executar um comando via Terminal (CMD) para (Passo 1) aumentar o tamanho do disco virtual e (Passo 2) depois expandir a partição com o GParted. Vamos lá:

Passo 1 | Aumentar o tamanho do disco virtual da sua VM

1.1 Abra o Terminal CMD como Administrador
Para isto, digite na busca do Windows “CMD” e quando aparecer a opção Command Prompt, clique nele com o botão direito e selecione “Executar como administrador“.

1.2 Acesse o diretório de instalação do seu VirtualBox
No CMD, posicione-se no diretório de instalação do seu VirtualBox, por default em C:\Program Files\Oracle\VirtualBox:

  cd C:\Program Files\Oracle\VirtualBox

1.3. Execute o comando para aumentar o tamanho do disco virtual da sua VM

Antes porém, se você não sabe onde sua VM está fisicamente salva no computador, é só dar uma olhada no VirtualBox e procurar por um arquivo .vdi, conforme a seguir:

Configurações > Armazenamento > Controladora: SATA > [SuaVM].vdi > Informações > Localização (Exemplo: D:\VM\Ubuntu\Ubuntu.vdi)

O endereço para seu .vdi está no rótulo “Localização” (D:\VM\Ubuntu\Ubuntu.vdi):
vmbox2

Agora sim! Com esta informação do arquivo .vdi, basta executar o comando:

  VBoxManage modifyhd D:\VM\Ubuntu\Ubuntu.vdi --resize 20480

Observação:
– Substitua “D:\VM\Ubuntu\Ubuntu.vdi” pelo caminho para seu .vdi. Neste exemplo estou aumentando o disco para 20gb (20gb x 1024mb = 20480).
– Note que inicialmente o “Tamanho Virtual” é de 12gb e no final chegaremos aos 20gb desejados.

Veja então como ficou todo o PASSO 1:
vmbox1

 

Passo 2 | Expandir a partição em todo o disco criado

Entendendo a solução:
Pode parecer estranho, mas o fato de você agora já ter um disco maior, não significa que o sistema de arquivos está ocupando todo esse espaço disponível.

Dê uma olhada na figura abaixo e veja como ficou o disco. Repare que tem 8gb livres, que é justamente o espaço que nós aumentamos, só que não está ocupado:

vmbox3

A pergunta aqui é: como unir aqueles 11gb com os 8gb se a partição “estendida + swap” está bem no meio?

Bem, para resolver isso, você vai excluir (e depois recriar) a partição swap e estendida usando o Gparted.

2.1 Instale o GParted
Na busca do Ubuntu, procure por “Software”. Clique no Ubuntu Software e procure por GParted, então, instale-o!
vmbox4

2.2 Remova a partição Swap + Estendida

Sem medo, remova a partição Swap e depois a Estendida que está entre a sua partição original (cheia) e o novo espaço criado (vazio), de modo que fique um grande bloco de espaço não alocado, conforme mostra figura abaixo:
vmbox5

2.3 Expanda a partição original
Utilizando o recurso gráfico do GParted (Resize/Move), posicione o mouse na divisão entre as partições e arraste a partição original (da esquerda para a direita) sobre o espaço não alocado, deixando apenas um espaço para posteriormente recriar a swap.

No meu caso, deixei no final do espaço não alocado (vazio), um espaço de 2048mb para recriar swap, representado pelo contorno azul claro na figura acima.

2.4 Recrie a partição Estendida + Swap
Clique no espaço não alocado que você reservou e então crie primeiro uma partição Estendida e depois uma Swap.

vmbox7

Verificando o resultado

Comparando as figuras do início do Post com as figuras abaixo, vemos que tanto o Gerenciador de disco do Ubuntu quanto o Virtual Box apontam que conseguimos o resultado esperado.

Gerenciador de disco do Ubuntu:
vmbox9

Virtual Box:
vmbox8

E é isso, esta feito!

Total de acessos: 11348

18 comentários sobre “Aumentar o tamanho do disco no VirtualBox

      • Alex disse:

        É pq o caminho (path) das suas máquinas virtuais contém espaço em branco. Eu tive o mesmo problema e resolvi tirando o espaço, e depois de pronto o procedimento, recoloquei o espaço, pois senão o VirtualBox não enxerga o local das máquinas.
        Exemplo:
        C:\Users\admin\VirtualBox VMS\Windows\Windows.vdi
        Vá até a pasta, renomeie e tire o espaço em branco. Depois deixe assim o comando:
        C:\Users\admin\VirtualBoxVMS\Windows\Windows.vdi
        Ao concluir, renomeie novamente e recoloque o espaço em branco na pasta.

  1. Fernando Tremonti disse:

    Por aqui não rolou:

    D:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd D:\VirtualBoxVMs\Desenvolvimento\Desenvolvimento.vdi –resize 51200
    VBoxManage.exe: error: Cannot register the hard disk ‘D:\VirtualBoxVMs\Desenvolvimento\Desenvolvimento.vdi’ {0d46624b-3753-40d0-a025-9f1f784e9885} because a hard disk ‘D:\VirtualBox VMs\Desenvolvimento\Desenvolvimento.vdi’ with UUID {0d46624b-3753-40d0-a025-9f1f784e9885} already exists
    VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee IUnknown
    VBoxManage.exe: error: Context: “OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())” at line 179 of file VBoxManageDisk.cpp

    Alguma dica?

  2. Thiago disse:

    Aqui a parte de aumentar o HD físico funcionou, o virtual box mostra corretamente o tamanho selecionado, mas quando entro na VM o HD continua com o tamanho antigo… Mesmo o GParted não mostra o tamanho novo como sobressalente nem nada do tipo.

  3. Gabriel Gomes disse:

    Galera que ta tendo o problema do parametro invalido

    “Syntax error: Invalid parameter ‘VMs\Ubuntu\Ubuntu.vdi'”

    Só colocar o caminho String, ou seja, entre aspas duplas!!

    Valeu!

  4. Nilson disse:

    Obrigado pela ajuda companheiro, me salvou no meu trabalho, pois na restauração pelo Acronis eu usei um disto de 15gb o detalhe e que eu atualizei todo o Windows e a net aqui na região de péssima…..

  5. Thiago SIlva disse:

    Senhores,

    estou tentando realizar esse procedimento e ao executar aparece o erro abaixo:

    (Sem aspas)
    C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd C:\Users\Thiago\Documents
    \VirtualBoxVMs\Windows7\Windows7.vdi –resize 102400
    VBoxManage.exe: error: Cannot register the hard disk ‘C:\Users\Thiago\Documents\
    VirtualBoxVMs\Windows7\Windows7.vdi’ {b3c1079d-ebde-4a24-b10a-16d41a723da7} beca
    use a hard disk ‘C:\Users\thiago\Documents\VirtualBox VMs\Windows 7\Windows 7.vd
    i’ with UUID {b3c1079d-ebde-4a24-b10a-16d41a723da7} already exists
    VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057), component Virtua
    lBoxWrap, interface IVirtualBox, callee IUnknown
    VBoxManage.exe: error: Context: “OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDe
    vType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())” at line 179 of
    file VBoxManageDisk.cpp

    (Com aspas)
    C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd “C:\Users\Thiago\Document
    s\VirtualBoxVMs\Windows7\Windows7.vdi” –resize 102400
    VBoxManage.exe: error: Cannot register the hard disk ‘C:\Users\Thiago\Documents\
    VirtualBoxVMs\Windows7\Windows7.vdi’ {b3c1079d-ebde-4a24-b10a-16d41a723da7} beca
    use a hard disk ‘C:\Users\thiago\Documents\VirtualBox VMs\Windows 7\Windows 7.vd
    i’ with UUID {b3c1079d-ebde-4a24-b10a-16d41a723da7} already exists
    VBoxManage.exe: error: Details: code E_INVALIDARG (0x80070057), component Virtua
    lBoxWrap, interface IVirtualBox, callee IUnknown
    VBoxManage.exe: error: Context: “OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDe
    vType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())” at line 179 of
    file VBoxManageDisk.cpp

    e ocorre o mesmo erro, podem ajudar nesse caso?

    • Francisco disse:

      Tenta assim:

      VBoxManage modifyhd “C:\Users\Thiago\Documents\VirtualBoxVMs\Windows7\Windows7.vdi” –resize 102400

      São dois hífens pra flag “–resize”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *