Criar máquina virtual no VirtualBox pelo shell (linha de comando)

No pacote padrão do VirtualBox há um gerenciador de máquinas virtuais para a linha de comando, chamado VBoxManage, capaz de realizar todas as configurações necessárias para criar e gerenciar máquinas virtuais pelo shell.

Vamos ver como podemos criar uma nova máquina virtual, preparar para iniciar a instalação do sistema operacional Windows XP a partir de uma ISO do cdrom de instalação e executa-lá no VirtualBox utilizando apenas comandos direto na console do Linux.


A máquina virtual sugerida neste post tem o nome XP Desktop, siga os passos a seguir para criá-la:

  • Crie a máquina virtual com o comando createvm do VBoxManage:
  • VBoxManage createvm --name "XP Desktop" --ostype WindowsXP --register
  • Com o comando modifyvm podemos modificar a configuração da máquina virtual. O comando abaixo modifica a máquina virtual XP Desktop conforme a tabela seguinte:
    VBoxManage modifyvm "XP Desktop" --memory 512 --vram 64 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0 --vrde on --usb on --usbehci on
    Parâmetro Descrição Valor
    –memory Quantidade de memória para a máquina virtual. Para um melhor funcionamento do sistema, este valor não deve ultrapassar 50% do total da memória do computador 512 Mb
    –vram Quantidade de memória para o vídeo 64 Mb
    –acpi Habilita o gerenciamento de energia ACPI on
    –boot1 Configura a unidade de DVD como primeiro disco da ordem dos discos de boot dvd
    –nic1 Adiciona uma placa de rede no modo Bridged bridged
    –bridgeadapter1 Vincula a placa de rede criada a um adaptador real da máquina anfitriã. Atenção ao nome do dispositivo adaptador de rede, neste exemplo estamos apontando para o dispositivo eth0, o seu pode ser diferente. eth0
    –vrde Habilita a conexão a área de trabalho remota on
    –usb Habilita o suporte para USB on
    –usbehci Habilita o suporte para USB 2.0 . Importante lembrar que para habilitar este recurso é necessário ter o Oracle VM VirtualBox Extension Pack previamente instalado, caso necessário acesse o post Instalar Oracle VM VirtualBox Extension Pack no Linux que descreve como instalar o extension pack. on
  • Para criar o disco virtual, podemos usar o createhd:
  • VBoxManage createhd --filename ~/winxp-20gb.vdi -size 20000

    O comando acima cria o disco virtual na pasta home do usuário logado, entretanto é permitido usar qualquer local com espaço suficiente para o tamanho do arquivo de disco virtual.

  • Para adicionar controladoras de disco, há o comando storagectl, no exemplo abaixo será adicionada na máquina virtual uma controladora IDE.
  • VBoxManage storagectl "XP Desktop" --name "IDE Controller" --add ide
  • Para anexar um disco virtual previamente criado a uma controladora de disco da máquina virtual, podemos usar o storageattach. Acompanhe o exemplo abaixo e a tabela dos parâmetros a seguir:
  • VBoxManage storageattach "XP Desktop" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium ~/winxp-20gb.vdi

    Parâmetro Descrição Valor
    –storagectl Nome da controladora da máquina virtual IDE Controller
    –port Porta da controladora na qual será conectado o disco virtual. 0
    –device Numero de ordem do dispositivo nesta porta da controladora. 0
    –type Define o tipo de dispositivo que será adicionado. hdd
    –medium Caminho do arquivo de disco virtual a ser anexado. ~/winxp-20gb.vdi
  • O comando para anexar uma imagem ISO a uma controladora de disco da máquina virtual, é muito similar ao para adicionar um disco rígido. Observe o exemplo que segue, nele anexamos na máquina virtual o ISO xp.iso:
  • VBoxManage storageattach "XP Desktop" --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium ~/xp.iso
  • Um recurso bastante interessante é o compartilhamento de arquivos entre o sistema instalado na máquina virtual e o sistema anfitrião. Para compartilhar uma pasta devemos usar o comando sharedfolder. No exemplo, cria-se um compartilhamento de nome temp que aponta para a pasta /tmp:
  • VBoxManage sharedfolder add "XP Desktop" --name "temp" --hostpath /tmp/

    Após instalado o sistema operacional na máquina virtual é possível acessar este compartilhamento SMB. Para acessar, inicie o sistema operacional Windows XP convidado recém-instalado e vá para o endereço \\VBOXSVR\ no Windows Explorer.

  • Com estas configurações mostradas, já teremos uma máquina virtual pronta para ser executada. Para iniciar a máquina virtual em segundo plano com acesso por RDP (Remote Desktop Protocol, mesmo que o Microsoft Terminal Services), execute o comando VBoxHeadless como segue:
  • VBoxHeadless -s "XP Desktop" &

    Enquanto a máquina virtual estiver executando, é possível acessar a sua console usando qualquer cliente Microsoft Terminal Services (RDP) apontando para o endereço de IP do sistema anfitrião.