Como converter – clonar – máquina real para virtual no Oracle VirtualBox em Linux

Converter uma máquina real para virtual é uma tarefa bastante interessante e que pode ser relativamente simples.

Podemos fazer isto em uma máquina real com um disco rígido sem muitas dores de cabeça, utilizando-se apenas alguns comandos, mas quero chamar atenção para a afirmação “um disco rígido”, pois o processo mais crítico desta conversão de real para virtual é a criação e conversão da imagem do disco rígido real para um arquivo de disco virtual – formato VDI – e se você tiver mais de um disco, ou até mesmo um array de discos em RAID, deve ter bastante atenção neste processo.

Acompanhe os comandos necessários para tal feito, segue:

  • Identifique o dispositivo da máquina real que possui a instalação do sistema operacional e com o DD crie uma imagem RAW do disco rígido real. O comando que segue, usa como exemplo o dispositivo disco rígido real o endereço /dev/sdb:
  • dd if=/dev/sdb of=meu_disco.bin bs=1024

    Vale ressaltar que não é seguro clonar um hd que está em uso, portanto deve-se fazer boot com um sistema Live Linux ou colocar o hd em outra instalação Linux.

  • Converta do formato RAW (binário) para VDI:
  • VBoxManage convertdd meu_disco.bin meu_disco.vdi
  • Compacte o VDI:
  • VBoxManage modifyvdi meu_disco.vdi compact
  • Crie uma nova máquina virtual no VirtualBox. No exemplo estamos criando uma máquina com sistema operacional Linux com o nome MinhaMaquina, você pode mudar isto:
  • VBoxManage createvm --name "MinhaMaquina" --ostype Linux --register

    Mais informações sobre parâmetros: Criar máquina virtual no VirtualBox pelo shell (linha de comando)

  • Ajuste alguns parâmetros na máquina recém criada:
  • VBoxManage modifyvm "MinhaMaquina" --memory 512 --vram 64 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0 --vrde on --usb on --usbehci on
  • Adicione uma controladora de disco:
  • IDE:

    VBoxManage storagectl "MinhaMaquina" --name "IDE Controller" --add ide

    SATA:

    VBoxManage storagectl "MinhaMaquina" --name "SATA Controller" --add sata
  • Conecte o disco na controladora recém criada:
  • IDE:

    VBoxManage storageattach "MinhaMaquina" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium  meu_disco.vdi

    SATA:

    VBoxManage storageattach "MinhaMaquina" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium  meu_disco.vdi
  • Inicie a máquina virtual com o comando abaixo e acesse por RDP ou abra o Gerenciador de Máquinas Virtuais do VirtualBox e inicie a mesma:
  • VBoxHeadless -s "MinhaMaquina" &

Se tudo correu bem, não há mais nada a fazer.

Seja feliz.

10 comentários sobre “Como converter – clonar – máquina real para virtual no Oracle VirtualBox em Linux”

  1. Meu amigo testou com alteração nas configuração de discos no virtual box , na opção armazenamento ele removeu as controladoras SATA e adcionou uma controladora SCSI e associou a VM nela.

    A máquina subiu, talvez seja o caso de alguém

  2. Olá, tive um problema ao converter uma máquina windows server 2008.
    Minha situação é a seguinte.
    Eu tenho um servidor (máquina comum) físico rodando, e atualmente preciso dele virtualizado.
    Fiz todo o processo de conversão e compactação (muitíssimo demorado) porém a máquina não inicia, sempre dá tela azul.
    Algo pode ser feito para corrigir isso ?

    1. Ola Elizeu, Beleza!

      Então velho, a tela azul deve estar relacionada algum dispositivo que existia na máquina real e na virtual não tem, algo como driver, ordem de discos, coisas assim.

      Já tentou iniciar em modo seguro ou quem sabe iniciar com o dvd de instalação e tentar recuperar a instalação, porque a principio o processo de conversão do HD foi feito com sucesso, no seu caso penso que há alguma coisa que o Windows 2008 espera encontrar, que não tem mais e dai quando a coisa aperta para ele, já sabe, dá-lhe tela azul!

      Eu já tive problema com tela azul em VMs Windows, relacionada ao parâmetro IO APIC, este cara quando alterado depois do windows instalado pode dar problema, experimente testar com e sem ele habilitado.

      Para habilitar/desabilitar este recurso, acesse as propriedades da VM, na guia Sistemas, depois em Recursos Estendidos, marque ou desmarque a opção Habilitar o IO APIC, é uma tentativa, não sei se dará certo.

      Valeu e obrigado por comentar.

  3. Olá, fiz o seu procedimento até chegar no arquivo .vdi já compactado. Porém ao iniciar ma máquina virtual aparece a mensagem de que não foi encontrada uma mídia bootável. Acontece que eu gerei os arquivos a partir da partição /dev/sda3 ao invés de /dev/sda somente, pois é nessa partição que está o sistema operacional que quero virtualizar. Não gerei a partir do sda, pois tem outros sistemas operacionais e o hd é de mais de 500g, nem teria espaço para gerar o arquivo. A pergunta é: há algo possível para torar esse .vdi bootável?

    Excelente o seu artigo! Parabéns!

    1. Fabiano.

      Então cara, nunca tive a oportunidade de fazer esta operação, mas pelo que sei é possível sim, os passos seriam mais ou menos assim:

      – Criar uma partição SWAP;
      – Instalar e configurar o grub;
      – Ajustar o fstab.

      Mas há alguns detalhes importantes, como:

      – Verificar onde está o /boot do sistema. Ele pode estar em outra partição;
      – Verificar no sistema atual, se não há outras partições, como por exemplo para o /home;
      – Verificar qual o tipo de filesystem, caso seja um LVM, verificar se não há outros PV no VG;

      O tema é interessante, guardei aqui nos rascunhos para pesquisar futuramente.

      Por hora é o que me veio à cabeça, espero ter ajudado.

      Valeu.

  4. Caro!
    Você não diz aqui como inicio o máquina virtual – meu_disco.vdi – que foi criada a partir da máquina real.
    Entendo que seja o passo mais importante do tutorial.

    1. Airton, desculpe pela demora da resposta, não sei porque todos os comentários estavam indo para a caixa de spam automaticamente.

      Em relação a sua dúvida, para iniciar a máquina basta executar o comando abaixo conforme indicado no post:

      VBoxHeadless -s "MinhaMaquina" &

      Onde “MinhaMaquina” é o nome da máquina que você criou e anexou o HD com este outro comando abaixo, conforme o post:

      VBoxManage storageattach "MinhaMaquina" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium  meu_disco.vdi

      Valeu, qualquer dúvida só perguntar novamente.

Deixe uma resposta