martes, 28 de octubre de 2008

Convertir archivos de VMWare a VirtualBox

Respecto a maquinas virtuales y formas de usar cosas de WinShit en Linux, hay varias herramientas para el caso, como Wine (gratis), Crossover (pago), Qemu (gratis), VirtualBox (gratis), y VMWare (pago). Las dos primeras son para emular programas sueltos (Office, Autocad, PhotoShop, etc) y las tres ultimas para emular un Sistema Operativo completo y funcional.

El fin de semana se me dio por bajarme la versión de MonoDevelop 2.0 que si bien esta para bajar en múltiples formatos (incluyendo para Linux), para hinchar las bolas me baje la imagen de OpenSuse para VMWare que ya lo trae instalado. Pero la cuestión es que yo no uso VMWare porque no tengo ganas de andar buscando claves por paginas raras ni nada de eso para activarlo como si fuera “legal”, y es por eso que uso VirtualBox con un WinShit para hacer cosas de WinShit. Pero mejor sigo con el tema que me interesa, que es la conversión de VMWare a VirtualBox.

La conversión no es nada del otro mundo. Lo único que hay que tener instalado es Qemu porque tiene una herramienta para hacer la conversión y el paquete “build-essential” con algunas herramientas útiles. Una vez instaladas estas dos cosas, lo unico que tuve que hacer es lo siguiente:

1. Convertir imagen vmdk a bin:
qemu-img convert mono.vmdk mono.bin

2. Obtener el binario de linux vditool y darles permisos de ejecución. El fichero vditool esta también disponible si se tiene instalado virtualbox en /usr/bin/vditool:
wget http://www.virtualbox.org/download/testcase/vditool
chmod 700 vditool

3. Mirar en que directorio estan instaladas las librerías de VirtualBox. En la mía están en /usr/lib/virtualbox pero puede llegar a variar:
LD_LIBRARY_PATH=/usr/lib/virtualbox ./vditool DD mono.vdi mono.bin
5. Optimizar el tamaño del archivo final. Este paso es importante porque el archivo resultante del paso anterior es un archivo de tamaño igual al total asignado para el disco rígido, que en mi caso fue una bestia de 59 gigas. Por suerte lo hice en una partición grande, porque sino me hubiera quedado corto. Al reducirlo me quedo de menos de 3 gigas.
LD_LIBRARY_PATH=/usr/lib/virtualbox ./vditool SHRINK mono.vdi

Después lo único que hay que hacer es abrir VirtualBox, crear una maquina virtual con OPENSuse y asignarle como disco virtual el archivo recién creado. Y listo!!!

Lo único malo que destaco de esto es que los procesos de conversión de archivos y reducción de tamaño llevan muuucho tiempo, así que mejor asegurarse que se tiene tiempo disponible o que dan una maratón de Los Simpsons para ver mientras se genera el proceso. Después de haber hecho todo el proceso pensaba: “la verdad es que si instalaba VMWare me ahorraba todo este quilombo”. Pero bueno, por lo menos aprendí como hacer la conversión :-)

4 comentarios:

Miguel Carmona dijo...

La conversión tarda demasiado (sobre todo para mi paciencia, más de 2 horas y seguía...) así que la solución más rápida que se me ocurrió (válido para aquellos que tienen vmware, aunque sea la versión gratis) fué iniciar la máquina arrancando systemrescuecd (la mayoría de lives valen), crear una máquina en virtualbox e iniciar tambien con systemrescuecd. Hacer una imagen con partimage o ntfsclone, guardándola por defecto en la máquina de virtualbox mediante nfs y una vez guardada, restaurarla en la virtualbox. Así es más rápido y sólo copia los datos que haya y no el espacio vacío como pasaría al hacer la conversión (en mi caso la máquina virtual tenía un disco dinámico de 80 gigas aunque sólo utilizaba 6).

Saludos...

Pablo dijo...

Tengo un problema, intenté seguir los pasos, pero la dirección:
http://www.virtualbox.org/download/testcase/vditool
parece no existir más, por lo que ya no puedo descargar el vditool.

Alguien me lo puede pasar de alguna forma?
Muchas gracias!
Muy buen blog.

Eflosten dijo...

El archivo vditool no hace falta descargarlo, al instalar el virtualbox se coloca él solito en /usr/lib/virtualbox, simplemente buscalo ahí y copialo al lugar donde quieras hacer la conversion de tu máquina virtual.

Espero que te sirva de ayuda a ti o a cualquier otro que como yo haya encontrado el tutorial.

Un saludo linuxeros!

ludwing dijo...

Hola alguien sabe como pasar archivos de la maquina virtual vmware al disco duro si tengo instalado un sistema operativo windows xp?????????????