É possível converter máquinas virtuais em ambientes físicos?
É possível converter um ficheiro .vdi num .iso que pode ser queimado num cd ou dvd e torná-lo como um instalador. Ou é possível converter máquinas virtuais para ambientes físicos?
É possível converter um ficheiro .vdi num .iso que pode ser queimado num cd ou dvd e torná-lo como um instalador. Ou é possível converter máquinas virtuais para ambientes físicos?
Sim, e não.
Você can converte um VDI numa imagem de disco com a ferramenta VBoxManage. Este comando clona uma imagem de disco virtual registada para outro ficheiro de imagem. Se quiser converter o seu disco virtual para outro formato, esta é a ferramenta oficial da VirtualBox a utilizar[*].
VBoxManage clonehd file.vdi output.img --format RAW
VBoxManage internalcommands converttoraw file.vdi output.img
mas… esse ficheiro IMG de saída não é uma imagem ISO, e o SO que está instalado não será configurado para correr a partir de um CD/DVD de arranque. Pode-se “gravar” (escrever) o IMG num disco rígido, e este pode arrancar em hardware nu (por exemplo, não numa máquina virtual). Mas pode não ser, porque o SO instalado nesse IMG espera ver o hardware virtual que o VirtualBox fornece, e está a arrancar em hardware real que não está à espera.
Algumas versões do Windows não lidam bem com esta situação; algumas distribuições Linux lidam. Por vezes é possível configurar um SO (antes ou depois) para o migrar de um ambiente para o outro desta forma, mas passos específicos dependem completamente da migração do SO.
No Windows, pode ser necessário especificar o caminho completo para o programa:
"C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...]
Adicionar C:\Arquivos de programa\Sol\VirtualBox ao seu PATH para utilizar a versão curta.
[*] Presumo que a opção “–formato RAW” converterá para uma imagem de disco padrão, como se tivesse utilizado o comando dd num disco rígido físico. Mas, francamente, não encontrei qualquer documentação que confirme isto, por isso, esteja ciente de que isto pode não ser correcto.
[+] Acabei de testar ambos os comandos no VirtualBox 3.1.2. Ambos os ficheiros de saída são idênticos de acordo com md5sum, mas ainda não testei completamente os ficheiros de saída.
Ver também o “All about VDIs” tutorial nos fóruns do VirtualBox.
Se o seu ficheiro vdi contém partições e pretende extrair apenas uma delas, utilize o seguinte:
Primeiro, como quixote quixote quack disse anteriormente, converta o ficheiro vdi para um ficheiro de imagem em bruto:
# VBoxManage clonehd file.vdi file.raw --format RAW
Em seguida, crie um dispositivo de laço para a imagem:
# loopdev=$(losetup --show -r -f file.raw)
Utilize o kpartx para criar dispositivos para cada partição no ficheiro em bruto:
# apt-get install kpartx
# kpartx -a $loopdev
Veja quais os dispositivos que temos agora. Neste exemplo, existe apenas um dispositivo, pois existe apenas uma partição na imagem em bruto:
# ls /dev/mapper/loop*
/dev/mapper/loop0p1
Agora monte-o para verificar se tudo funciona correctamente:
# mkdir /mnt/part1
# mount /dev/mapper/loop0p1 /mnt/part1
# ls /mnt/part1
# umount /mnt/part1
Use dd para copiar o conteúdo da partição para uma outra partição alvo:
# dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M
Depois de terminar, retire novamente os mapeamentos do dispositivo:
# kpartx -d file.raw
A resposta é um sim definitivo, no caso do seu sistema anfitrião e convidado ser Linux. É feito com os pacotes qemu
e TKLPatch
. Pode usar ambos os ficheiros VDI ou VMDK.
Leia mais:
Tentei o VBoxManage clonehd file.vdi output.img --format RAW
de a resposta aceite mas sem muito sucesso.
O que funcionou para mim com uma máquina virtual Windows 8.1 num anfitrião Windows 7 é isto:
VBoxManage clonehd source.vdi target.vhd --format vhd
Faço este processo muito rapidamente, com apenas duas linhas de comando no Linux:
#
VBoxManage internalcommands converte o seu discovirtual.vmdk o seu discovirtual.vmdk o seu disco_virtual. img
OR
#
VBoxManage internalcommands converttoraw o seu disco
#
mv o seu disco0x6& mv o seu disco
O meu artigo completo: http://www.previsioni.com.br/jailsonjan/?p=389
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