2010-02-28 04:26:57 +0000 2010-02-28 04:26:57 +0000
79
79
Advertisement

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

Advertisement

É 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?

Advertisement

Respostas (6)

64
64
64
2010-02-28 05:50:22 +0000

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
  • Se estiver a utilizar um VDI dinâmico, e tiver uma versão mais antiga da VirtualBox, clonehd pode não funcionar correctamente. A ferramenta internalcommands do VBoxManage inclui converttoraw, que pode converter uma VDI dinâmica numa imagem de disco bruto fonte )[+].
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.

21
21
21
2012-09-26 19:57:00 +0000

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
13
Advertisement
13
13
2010-02-28 09:20:53 +0000

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:

5
5
5
2015-09-07 08:44:17 +0000

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:

  1. fazer uma máquina Windows 8.1 no VirtualBox, instalar e utilizar é como se faria normalmente com uma VM.
  2. Converter a Caixa Virtual .vdi disco rígido para Windows VHD com VBoxManage clonehd source.vdi target.vhd --format vhd
  3. Montar o VHD na máquina anfitriã Windows como uma unidade (pode montar um VHD no gestor de disco em Gestão de Computadores.
  4. Clonar o VHD (montado como unidade) num outro disco rígido novo (um HD de portátil ligado a USB no meu caso) DriveImage XML ou uma ferramenta de clonagem de disco semelhante. Basicamente, clonou agora o disco rígido virtual .vdi para metal nu.
  5. Instalar o novo disco rígido numa máquina. (no meu caso trocar o disco rígido do portátil)
  6. Inserir um Windows 8.1 instalar USB/CD, iniciar a partir dele, escolher Opções Avançadas e Reparação Automática. A reparação automática tornará o novo disco rígido inicializável.
  7. Arrancar a partir do novo disco rígido com o Windows 8.1 clonado e executar Windows Update. Isto irá descarregar drivers para o hardware do seu computador que não eram conhecidos quando executava o Windows no VirtualBox. Terá de instalar manualmente os drivers em falta, se existirem.
  8. Desinstalar o VirtualBox Guest Additions. Opcionalmente instalar o VirtualBox para que o seu Windows 8.1 de metal nu possa ser um anfitrião VirtualBox.
3
Advertisement
3
3
2012-08-17 14:17:56 +0000

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 disco

0x6& mv o seu disco

O meu artigo completo: http://www.previsioni.com.br/jailsonjan/?p=389

0
0
0
2016-10-18 09:31:03 +0000

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
Advertisement
Advertisement