É possível converter máquinas virtuais em ambientes físicos?

74

É possível converter um arquivo .vdi em um .iso que pode ser gravado em um cd ou dvd e torná-lo como um instalador. Ou é possível converter máquinas virtuais em ambientes físicos?

    
por Wern Ancheta 28.02.2010 / 05:26

6 respostas

60

Sim e não.

Você pode converter uma VDI em uma imagem de disco com a ferramenta VBoxManage . Esse comando clona uma imagem de disco virtual registrada em outro arquivo de imagem. Se você quiser converter seu disco virtual em outro formato, esta é a ferramenta oficial do VirtualBox para usar [*].

VBoxManage clonehd file.vdi output.img --format RAW
  • Se você estiver usando um VDI dinâmico e tiver uma versão mais antiga do VirtualBox, o clonehd poderá não funcionar corretamente. A ferramenta internalcommands do VBoxManage inclui converttoraw , que pode converter um VDI dinâmico em uma imagem de disco bruta ( origem ) [+].

VBoxManage internalcommands converttoraw file.vdi output.img

Mas ... esse arquivo IMG de saída não é uma imagem ISO, e o SO instalado não será configurado para ser executado a partir de um CD / DVD inicializável. Você pode "gravar" (gravar) o IMG em um disco rígido, e ele pode inicializar em hardware nu (por exemplo, não em uma máquina virtual). Mas pode não ser, porque o sistema operacional instalado nesse IMG está esperando para ver o hardware virtual que o VirtualBox fornece, e você está inicializando em hardware real que não está esperando.

Algumas versões do Windows não lidam bem com essa situação; algumas distribuições Linux fazem. Às vezes, é possível configurar um sistema operacional (antes ou depois) para migrá-lo de um ambiente para outro como este, mas etapas específicas dependem completamente do SO que está sendo migrado.

No Windows, você pode precisar especificar o caminho completo para o programa:

"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]

Adicione C: \ Arquivos de Programas \ Sun \ VirtualBox ao seu PATH para usar a versão curta.

[*] Estou assumindo que a opção "- formato RAW" será convertida em uma imagem de disco padrão, como se você tivesse usado o dd comando em um disco rígido físico. Mas, francamente, não encontrei nenhuma documentação que suporte isso, portanto, esteja ciente de que isso pode não estar correto.

[+] Acabei de testar os dois comandos no VirtualBox 3.1.2. Ambos os arquivos de saída são idênticos de acordo com md5sum , mas eu não testei completamente os arquivos de saída.

Veja também o "Tudo sobre VDIs" tutorial no VirtualBox fóruns.

    
por 28.02.2010 / 06:50
19

Se o seu arquivo vdi contiver partições e você quiser extrair apenas um deles, use o seguinte:

Primeiro, como quack quixote disse antes, converta o arquivo vdi em um arquivo de imagem raw:

# VBoxManage clonehd file.vdi file.raw --format RAW

Em seguida, configure um dispositivo de loop para a imagem:

# loopdev=$(losetup --show -r -f file.raw)

Use o kpartx para criar dispositivos para cada partição no arquivo raw:

# apt-get install kpartx
# kpartx -a $loopdev

Veja quais dispositivos temos agora. Neste exemplo, há apenas um dispositivo, pois há apenas uma partição na imagem não processada:

# ls /dev/mapper/loop*
/dev/mapper/loop0p1

Agora monte-o para verificar se tudo funciona corretamente:

# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1

Use o dd para copiar o conteúdo da partição para outra partição de destino:

# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M

Depois de concluir, remova novamente os mapeamentos de dispositivos:

# kpartx -d file.raw
    
por 26.09.2012 / 21:57
12

A resposta é um sim definitivo, caso seu sistema host e guest seja Linux. É feito com os pacotes qemu e TKLPatch . Você pode usar arquivos VDI ou VMDK.

Leia mais:

por 28.02.2010 / 10:20
5

Eu tentei o VBoxManage clonehd file.vdi output.img --format RAW de a resposta aceita , mas sem muito sucesso.

O que funcionou para mim com uma máquina virtual do Windows 8.1 em um host do Windows 7 é o seguinte:

  1. Crie uma máquina Windows 8.1 no VirtualBox, instale e use como você faria normalmente com uma VM.
  2. Converta o disco rígido .vdi da Virtual Box em VHD do Windows com VBoxManage clonehd source.vdi target.vhd --format vhd
  3. Monte o VHD na máquina do Windows host como uma unidade (você pode montar um VHD no gerenciador de disco no Gerenciamento do Computador.
  4. Clone o VHD (montado como uma unidade) em outro disco rígido novo (um laptop USB conectado a HD no meu caso) DriveImage XML ou uma ferramenta de clonagem de disco semelhante. Você agora basicamente clonou o disco rígido virtual .vdi para o bare metal.
  5. Instale o novo disco rígido em uma máquina. (no meu caso troque o disco rígido do laptop)
  6. Insira um USB / CD de instalação do Windows 8.1, inicialize a partir dele, escolha Opções avançadas e Reparo automático. O reparo automático tornará o novo disco rígido inicializável.
  7. Inicialize a partir do novo disco rígido com o Windows 8.1 clonado e execute o Windows Update. Isto irá baixar os drivers para o hardware do seu computador que não eram conhecidos quando você executou o Windows no VirtualBox. Você precisará instalar os drivers ausentes manualmente, se houver.
  8. Desinstale o Adições ao Convidado do VirtualBox. Opcionalmente, instale o VirtualBox para que seu Windows 8.1 bare metal possa ser um host do VirtualBox.
por 07.09.2015 / 10:44
3

Eu faço este processo de forma muito rápida, com apenas duas linhas de comando no Linux:

#VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img

OR

#VBoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img

# mv your_disk_virtual.img your_disk_virtual.iso

Meu artigo completo: link

    
por 17.08.2012 / 16:17
0

Use o seguinte comando para converter:

VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK

Aqui está a saída:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c
    
por 18.10.2016 / 11:31