Resumen
Intentando importar en Virtualbox OSE una máquina virtual VMware Workstation 7 me he encontrado con una serie de problemas en la definición del hardware virtual.
Escenario
Sistema origen:
- Host: Debian 5.0.6 (Lenny) / VMware Workstation 7.1.1 build-282343
- VM: Windows XP SP3 (virtualHW.version = "7")
- Host: Ubuntu 10.04 / VirtualBox OSE 3.1.6 r59338
Pasos
De forma esquemática, se trata de hacer lo siguiente:
- Desinstalar VMware tools (tampoco hay problema por suprimirlas una vez tienes la VM corriendo en Virtualbox).
- Exportar la VM empleando la herramienta ovftool (http://www.vmware.com/support/developer/ovf/)
- Ajustar el hardware virtual (detalles más abajo)
- Importar la VM en Virtualbox
- Instalar las "guest additions" de Virtualbox.
Conversión a OVF
Ejecutamos:
/usr/lib/vmware/ovftool/ovftool /camino/a/VM/WinXP-SP3Pro.vmx /tmp/WinXP-SP3Pro.ovf
Problemas encontrados
"Unkown resource type"
El primer error aparece en este pantallazo:
Parece ser que no le gustaba la tarjeta de sonido. La he eliminado del hardware virtual editando el fichero .ovf para suprimir esta sección:
<Item ovf:required="false">
<rasd:AddressOnParent>3</rasd:AddressOnParent>
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:Description>Sound Card</rasd:Description>
<rasd:ElementName>sound</rasd:ElementName>
<rasd:InstanceID>11</rasd:InstanceID>
<rasd:ResourceSubType>
vmware.soundcard.ensoniq1371
</rasd:ResourceSubType>
<rasd:ResourceType>1</rasd:ResourceType>
</Item>
Múltiples controladoras de disco
Por alguna razón, la máquina exportada incluía varias controladoras de disco IDE y parece ser que Virtualbox no soporta este tipo de configuración hardware.
Para solucionarlo hay que eliminar una de ellas, asegurándose de que no quede ningún dispositivo IDE huérfano.
En mi caso, he eliminado la controladora con el número de instancia 5:
<Item>
<rasd:Address>1</rasd:Address>
<rasd:Description>IDE Controller</rasd:Description>
<rasd:ElementName>ideController1</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceType>5</rasd:ResourceType>
</Item>
Por lo tanto, será necesario cambiar el "Parent" de los dispositivos de la instancia 5. En mi caso, sólo había un CDROM:
<Item>
...
<rasd:ElementName>cdrom1</rasd:ElementName>
<rasd:InstanceID>9</rasd:InstanceID>
-<rasd:Parent>5</rasd:Parent>
+<rasd:Parent>6</rasd:Parent>
<rasd:ResourceType>15</rasd:ResourceType>
...
</Item>
Ajustes en el "manifest" de la VM
Existe un fichero con la extensión .mf que almacena las sumas SHA-1 del fichero .ovf y del fichero que contiene el disco virtual.
Al haber modificado el fichero .ovf es necesario recalcular la suma y corregirla en el fichero .mf. Esto no presenta mayor problema ya que en cualquier distribución GNU encontrarás un paquete con la utilidad apropiada.
Tú si que sabes. Muy interesante!
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarPara calcular la suma SHA-1 puedes usar la utilidad sha1sum que, en el caso de Debian, puedes encontrar en el paquete "coreutils" (http://packages.debian.org/stable/coreutils)
Eliminar