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!

Deixe uma resposta