Imagem da interface gráfica do Virtual Box

Como importar máquina virtual por linha de comando no VirtualBox

O VirtualBox tem o poder de importar máquina virtual previamente exportada no padrão industrial Open Virtualization Format (OVF), se você quer saber como exportar uma máquina virtual no VirtualBox clique aqui.

O OVF é um padrão aceito na maioria das soluções de virtualização e é normatizado pela Distributed Management Task Force (DMTF). Para mais informações sobre o OVF clique aqui

Utilizaremos o subcomando import do VBoxManage para importar máquina virtual por linha de comando no VirtualBox, acompanhe comigo:

Na hora de importar podemos decidir o que importar, trocar configurações, ou seja, tem diversão garantida! Vou explicar…

  • Para explorar o que há no arquivo OVF, ou seja, para sabermos informações do appliance que foi exportado, usamos o comando VBoxManage, seguido do subcomando import, caminho completo do arquivo OVF e a opção –dry-run (os preguiçosos podem usar a opção resumida -n). A sintaxe básica do comando é:
    VBoxManage import caminho/completo/do/arquivo_OVF.ova -n
  • Ou assim:
    VBoxManage import caminho/completo/do/arquivo_OVF.ova --dry-run
  • Vou fazer um exemplo prático com um appliance de verdade, exportado anteriormente seguindo este outro post aqui. O nome do arquivo OVF é exp_desktop_XP.ova, então o comando ficará assim:
    $ VBoxManage import exp_desktop_XP.ova -n
  • Imagem
    Imagem da interface gráfica do VirtualBox, com a máquina virtual já importada, continue lendo e veja como chegar até aqui
  • Perai, perai! Olha só que belezinha, este comando deve mostrar pra ti informações parecidas com estas abaixo. São informações do hardware e sistema instalado na máquina virtual que está neste OVF. Curte só, que depois vou explicar.
    $ VBoxManage import exp_desktop_XP.ova -n
    0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
    Interpreting /home/gabriel/exp_desktop_XP.ova...
    OK.
    Disks:  vmdisk1	10544480256	-1	http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized	exp_desktop_XP-disk1.vmdk	-1	-1	
    Virtual system 0:
     0: Suggested OS type: "WindowsXP"
        (change with "--vsys 0 --ostype "; use "list ostypes" to list all possible values)
     1: Suggested VM name "desktop_XP_1"
        (change with "--vsys 0 --vmname ")
     2: Number of CPUs: 1
        (change with "--vsys 0 --cpus ")
     3: Guest memory: 512 MB
        (change with "--vsys 0 --memory ")
     4: Sound card (appliance expects "", can change on import)
        (disable with "--vsys 0 --unit 4 --ignore")
     5: USB controller
        (disable with "--vsys 0 --unit 5 --ignore")
     6: Network adapter: orig NAT, config 2, extra slot=0;type=NAT
     7: CD-ROM
        (disable with "--vsys 0 --unit 7 --ignore")
     8: IDE controller, type PIIX4
        (disable with "--vsys 0 --unit 8 --ignore")
     9: IDE controller, type PIIX4
        (disable with "--vsys 0 --unit 9 --ignore")
    10: Hard disk image: source image=exp_desktop_XP-disk1.vmdk, target path=/home/gabriel/VMs/conf/desktop_XP_1/exp_desktop_XP-disk1.vmdk, controller=8;channel=0
        (change target path with "--vsys 0 --unit 10 --disk path";
        disable with "--vsys 0 --unit 10 --ignore")
  • Vou comentar algumas coisas interessantes que podemos observar nestas informações. Este arquivo OVF contem apenas uma máquina virtual, podemos ver isto porque há apenas o Virtual system 0:, isto é importante porque quando formos importar este appliance devemos informar qual sistema virtual, em nosso caso será o “0” e para referenciar ele na linha de comando de importação usaremos o parametro –vsys, a sintaxe é mais ou menos assim para o Virtual system 0::
    VBoxManage import caminho/completo/do/arquivo_OVF.ova --vsys 0
  • Já vimos como identificar o sistema que vamos importar, agora se você quer importar alterando alguns parâmetros, basta observar o índice da configuração nas informações do appliance e referenciá-lo na linha de comando trocando o que você desejar. Vou explicar com um exemplo:
      Eu quero alterar o nome da máquina virtual, o caminho do disco virtual de /home/gabriel/VMs/conf/desktop_XP_1/exp_desktop_XP-disk1.vmdk para /home/gabriel/VMs/conf/desktop_XP_1/Windows_XP_imp.vmdk e também ignorar a segunda controladora IDE controller, type PIIX4.
      Olhando para as informações do appliance, podemos identificar que o nome da máquina virtual é o parâmetro de indice “1”, controladora é o “9” e o disco é o “10” no sistema virtual “0” .

       1: Suggested VM name "desktop_XP_1"
      ...
       9: IDE controller, type PIIX4
      ...
      10: Hard disk image: source image=exp_desktop_XP-disk1.vmdk, target path=/home/gabriel/VMs/conf/desktop_XP_1/exp_desktop_XP-disk1.vmdk, controller=8;channel=0
      ...
      Para trocar o nome, indicamos o Virtual System 0, seguido do parâmetro –vname, mais o novo nome da máquina entre aspas duplas, é algo mais ou menos assim:

      ... --vsys 0 --vmname "Novo Nome da VM" ...
      Agora para ignorar uma das duas controladoras do Virtual System 0, vamos usar algo assim na linha de comando:

      ... --vsys 0 --unit 9 --ignore ...
      Por fim, para alterar o caminho do disco, algo como o trecho abaixo, vai resolver:

      ... --vsys 0 --unit 10 --disk /home/gabriel/VMs/conf/desktop_XP_1/Windows_XP_imp.vmdk ...
      O comando final, ou seja, tudo juntinho e misturado como eu usei aqui é:

      $ VBoxManage import exp_desktop_XP.ova --vsys 0 --vmname "Windows_XP_imp" --unit 10 --disk /home/gabriel/VMs/conf/desktop_XP_1/Windows_XP_imp.vmdk --unit 9 --ignore
      Se tudo estiver dando certo, como foi comigo aqui, você deve estar vendo no terminal mensagens como estas abaixo. Curta e seja feliz!

      $ VBoxManage import exp_desktop_XP.ova --vsys 0 --vmname "Windows_XP_imp" --unit 10 --disk /home/gabriel/VMs/conf/desktop_XP_1/Windows_XP_imp.vmdk --unit 9 --ignore 
      0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
      Interpreting /home/gabriel/exp_desktop_XP.ova...
      OK.
      Disks:  vmdisk1	10544480256	-1	http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized	exp_desktop_XP-disk1.vmdk	-1	-1	
      Virtual system 0:
       0: Suggested OS type: "WindowsXP"
          (change with "--vsys 0 --ostype "; use "list ostypes" to list all possible values)
       1: VM name specified with --vmname: "Windows_XP_imp"
       2: Number of CPUs: 1
          (change with "--vsys 0 --cpus ")
       3: Guest memory: 512 MB
          (change with "--vsys 0 --memory ")
       4: Sound card (appliance expects "", can change on import)
          (disable with "--vsys 0 --unit 4 --ignore")
       5: USB controller
          (disable with "--vsys 0 --unit 5 --ignore")
       6: Network adapter: orig NAT, config 2, extra slot=0;type=NAT
       7: CD-ROM
          (disable with "--vsys 0 --unit 7 --ignore")
       8: IDE controller, type PIIX4
          (disable with "--vsys 0 --unit 8 --ignore")
       9: IDE controller, type PIIX4 -- disabled
      10: Hard disk image: source image=exp_desktop_XP-disk1.vmdk, target path=/home/gabriel/VMs/conf/desktop_XP_1/Windows_XP_imp.vmdk, controller=8;channel=0
      0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
      Successfully imported the appliance.

Se você quer aprender a subir esta máquina virtual recém importada pela linha de comando, espia este outro post aqui, lá no finalzinho dele mostra como fazer.

Dúvidas? Pergunte direto pra mim!

Valeu!