26 feb. 2008

Tutorial: Cómo utilizar en Virtualbox una instalación existente de Windows

Hace un tiempo vimos que podíamos evitar los principales problemas de Windows (su lentitud tras meses de uso y facilidad para estropearse principalmente) si lo utilizábamos dentro de un sistema más robusto como es Linux mediante Virtualbox.

De esa forma si Windows se vuelve inestable podíamos volver a puntos anteriores (Virtualbox permite hacer "instantáneas" de un momento del sistema, al que se puede volver en caso de problemas).
Las únicas pegas es que perdemos la aceleración 3D en el Sistema Operativo invitado (en este caso Windows) y un poco de velocidad, pero para muchos es una pérdida asumible, sobre todo si tenemos un equipo potente.

Sin embargo ¿cómo virtualizar un Windows ya instalado y configurado, de forma que evitemos el farragoso trabajo de volver a instalar y configurar todo, conservando además su licencia?
No es algo trivial, pues primero hay que crear una imagen del disco duro en el que lo tengamos instalado, y luego convertir esa imagen a un formato soportado por Virtualbox.
Por suerte, Virtualbox soporta las máquinas virtuales creadas con VMware, por lo que, aunque lleva algunas horas, es posible.

Primero: Hacer una copia del contenido del disco duro con Symantec Norton Ghost:

Aunque no es una aplicación de libre uso, y hay otras que sí lo son que realizan la misma tarea, de momento es la única forma que he encontrado de hacer la conversión. En este caso vamos a utilizar la versión 9 (o posteriores), que nos permite hacer copia del disco duro desde Windows en cualquier unidad, tanto de red como local.

Seleccionamos la opción de "Backup Drive", que nos preguntará por un directorio donde guardar la copia de seguridad del disco duro en formato v2i, y tras un buen rato, dependiendo del tamaño del disco, la habrá creado, todo sin tener que reiniciar el ordenador.

Segundo: Utilizar el VMware Virtual Machine importer para importar la imagen v2i
Con este programa gratuíto, que se puede descargar desde la página de VMware (ahora en su versión 2.0), podremos importar máquinas físicas de varios formatos.

Como nos indica en la imagen superior, VMware Machine Importer acepta tanto imágenes de Microsoft Virtual PC/Virtual Server como de Symantec (la que nos interesa) y de la propia VMware.



Tras seleccionar la imagen, la examinará, lo que le lleva bastante tiempo, por lo que tómatelo con tranquilidad y tómate un café/té/colacao mientras tanto.

Una vez examinada, nos avisa que es un formato de imagen no soportado, por lo que si falla la importación no nos podremos quejar ;-). Le damos a siguiente, y...

Siguiente. Esto es tan "Windows"...

Si tenemos bastante sitio en el disco duro (al menos tanto como el tamaño del disco del que realizamos la imagen al principio), se pondrá a importar la imagen física, convirtiéndola al formato .vmdk de VMware. Ya te puedes tomar otro colacao...

Tercero: Crear nueva máquina virtual con VirtualBox

Si la conversión es exitosa, ya sólo nos queda crear una nueva máquina virtual en VirtualBox utilizando como disco duro uno existente:


Tras indicar el nombre de la máquina virtual y tipo de Sistema Operativo (con lo que Virtualbox elegirá el tamaño de memoria RAM más adecuada para la máquina virtualizada), seleccionamos que queremos usar un disco existente.



Y tras agregarlo (ya que también soporta las de VMware, una buena idea) la seleccionamos, con lo que el sistema arrancará con esa imagen. Pero OOOPS! ¡Windows no soporta que le cambien radicalmente su hardware y nos muestra la pantalla azul de la muerte!

No hay problema, reinstalamos de nuevo el sistema operativo sobre la máquina virtual reparándolo,

para lo cual cargamos un disco en la unidad virtual de la máquina huésped (más información de cómo arreglar el windows en este tutorial) y conservaremos las configuraciones y programas, consiguiendo que ya arranque.


Una vez importado la máquina virtual ocupará lo mismo que el disco duro original. Para que nos funcione del todo suave la imagen y podamos cambiar la resolución sólo falta instalar las "Aplicaciones del huésped", que no son otra cosa que controladores virtuales por software de la pantalla y otros.

Y ya podemos usar Windows como si lo tuviéramos totalmente instalado de forma independiente del sistema operativo anfitrión. Con un par de clics podemos agregar carpetas compartidas del anfitrión para poder compartir información y espacio entre ambos. No te olvides de realizar una instantánea de la máquina virtual cuando lo tengas todo en marcha, a la que podrás volver en caso de problemas; ideal para probar programas.

Pegas
Si utilizamos este sistema, sin reinstalar Windows en una unidad propia de Virtualbox, no podremos cambiar el tamaño de la unidad virtual, que conservará el tamaño del disco/partición original.
Además tampoco podremos crear "instantáneas", copias de la máquina virtual en Virtualbox por ser una unidad vmdk de escritura directa, por lo que tendremos que hacerlo copiando directamente el archivo vmdk para conservar un estado concreto (recomendable comprimirlo).

Notas
¿Sabes que con VirtualBox puedes usar los dos sistemas operativos como si fueran uno sólo? Se llama "Seamless mode" y lo que hace es poner a pantalla completa el sistema operativo virtualizado, ocultando su escritorio, de forma que se vean las aplicaciones totalmente integradas con las anfitrionas.

Gracias a Virtualbox y a que ya podemos hacer que convivan Windows y Linux en la misma partición como si fuera un programa más de Windows ya no tenemos excusa para probar Linux.


Actualización 4-6-08: Hay otra forma más fiable de hacer la conversión, gracias a un comentario anónimo:
- Se utilizan dos ordenadores, conectados en red.
- Creamos un nuevo sistema virtual con disco duro dinámico en el Virtualbox del ordenador destino de la imagen.
- Tanto en el anfitrión (con el disco duro que queremos clonar) como en el disco destino virtualizado con Virtualbox, arrancamos un CD con un programa de clonación que funcione por red; por ejemplo el Trueimage.
- En el ordenador origen seleccionamos backup por red y en el destino recuperamos esa imagen al vuelo en el disco duro virtual creado.
Tarda unos 25 minutos para 5 GB de datos con conexión 100 Mbits de red y discos duros IDE, si son SATA tardará menos. De esta forma mantenemos el formato de disco duro de Virtualbox, con lo que todo son ventajas. La única pega es que puede que no arranque Windows dado el cambio de hardware sufrido, pero generalmente funciona con las últimas versiones de Windows.

Referencias:

19 comentarios:

  1. Anónimo9/3/08 22:08

    no había visto una explicación con tanta claridad de este tema, excelente. Sabía que se podía hacer, pero no lo había probado.

    Tengo una duda de otra cosa, que quisiera me pudieras ayudar.
    Murió un PC con linux que tenía y no podido recuperar la máquina virtual que tenía montada (puede rescatar eso si, los discos virtuales, snapshots y configuraciones), pero como hay una snapshot que no sé como cargar, hay información que no puedo rescatar... ¿alguna idea?
    te lo dejo para ver si sabes algo al respecto.

    ResponderEliminar
  2. Gracias por tus comentarios; aunque he de añadir que el otro día volví a intentar la misma jugada y el Vmware machine importer se negó a hacerlo... supongo que estaría mal creada la imagen.

    Por otro lado, supongo que te refieres a una máquina de Virtualbox; ¿has logrado recuperar la carpeta /home/usuario/.virtualbox completa?
    Es que si es así no debería problema, sustituyes la creada por esa y tendrías tus snapshots originales (creo, por el tamaño de las instantáneas, que son copias íntegras del contenido en un momento dado del disco duro virtual).

    Dame más detalles; puedes hacerlo directamente en mi cuenta en este caso, y cuando demos con la solución la exponemos en los comentarios.

    ResponderEliminar
  3. Hola:
    Gracias por responder, la verdad tengo en forma integra el directorio donde está virtualbox, pero se niega a arrancar (sobreescribi incluso el xml de configuracion principal (virtualbox.xml), ya que ahí aparecen las máquinas virtuales que están configuradas, las snapshots. etc.
    todo copiado tal cual, y no arranca, me da un error "fallo al iniciar la máquina virtual"

    ResponderEliminar
  4. otro antecedente.. es que he podido cargar el forma separada la imagen del disco original, pero como hice un snapshot, el "diferencial" de información se encuentra allí. y como sabes, los snapshots dependen de la imagen principal (están asociados al UUID del disco original), por si acaso, la imagen original es de tamaño fijo (por si influyera en algo).
    O sea, los cambios que hice los últimos 4 meses se han perdido...

    si no se puede resolver... ¿sabes de alguna forma de volcar el contenido del snapshot a la imagen de disco con la que se está trabajando, si perder lo que se ha cambiado?

    ResponderEliminar
  5. Cuando te da "fallo al iniciar la máquina virtual", ¿me puedes dar las últimas líneas del log?

    ¿Has probado a dejar una entrada en el foro del Virtualbox?:
    http://forums.virtualbox.org/viewforum.php?f=7&topicdays=0&start=0

    He buscado por temas parecidos en el foro y he encontrado que no hay problema copiando la imagen .vdi, pero no se comenta nada de instantáneas:

    http://forums.virtualbox.org/viewtopic.php?t=5095&highlight=fail+start+virtual+machine

    Y finalmente, la nota que lo aclara todo:

    VirtualBox, however, still seems NOT able to keep snapshots and saved states when it gets upgraded. The download page clearly states (at last...):

    "Merge all snapshots, restore all saved states and shutdown all VMs properly before attempting to upgrade."

    De esta entrada en el foro:
    http://forums.virtualbox.org/viewtopic.php?t=5098&highlight=fail+start+virtual+machine

    O sea, que tienes que utilizar al misma versión exacta que tenías en el linux muerto, machacar la carpeta .Virtualbox y probar a ver si te va. Al parecer con cada actualización se cambia la forma de trabajar con los snapshots (mejorándolo se supone) por eso te da el error. Ahora te queda saber qué versión tenías en el linux muerto; si el disco duro sigue vivo no deberías tener gran problema comprobando la versión de VBoxManage (la aplicación sin GUI).
    Espero que te sirva.

    ResponderEliminar
  6. ok, voy a tratar de hacer lo que pides, pero la verdad, lo unico que pude rescatar del disco fue el directorio antes de que terminara de fallar, pero si mal no recuerdo.. deberia ser la version 1.4

    ResponderEliminar
  7. Anónimo3/6/08 18:03

    Hay una forma mucho más simple y que siempre funcionará bien, salvo que a la versión de Windows no le guste demasiado el cambio del hardware, paso a exponer cual es la que yo uso:

    Con la herramienta favorita de clonación, mediante un LiveCD hacemos el clonado hacia un medio en el que podamos escribir y al que tengamos acceso desde donde usemos VirtualBox, con esto creamos un archivo imagen de la partición/es y/o disco/s, mbr, etc...

    Ahora sólo resta configurar en VirtualBox un adaptador de Red anfitrión, compartir en esa red privada virtual el archivo, arrancar la nueva máquina virtual en virtualBox con una iso o con el LiveCD/LiveDVD que usamos para restaurar la imagen usando esa red privada.

    La mejor herramienta a este efecto, la más rápida unos 2GB en 10min que he podido encontrar es TrueImage Home 11.0, al ser LiveCD (bootable) funciona en casi cualquier PC i386, incluso en VirtualPC y en VirtualBox, eso sí en VirtualBox hay que activar en la configuración , sección general, pestaña avanzado lo de ACPI; de lo contrario TrueImage se quedará frito, pero sólo es necesario mientras restaures la imagen, luego lo puedes dejar como te guste.

    Espero que os ayude con esas imagenes que no os deja.

    P.D.: Si no os gusta TrueImage usad cualquier clonador con soporte de red, la idea resumida es que el sistema anfitrión comparte por red la imagen y así te evitas tener que convertir la imagen.

    Nota: Además con este proceso se puede cambiar el tamaño de la partición, no se pierde la posibilidad de SnapShot y el disco puede ser de Expansión dinámica. El programa que se use de clonado es el que se encarga de todo el trabajo sucio y los hay que eso lo hacen muy bien, incluso con el Ghost que se comenta también se puede.

    Olvidaros de convertir la imagen, en el anfitrión compartirla, luego en el ghost restaurar usando el adaptador de red y así restauraís a la imagen directamente sin convertir.

    ResponderEliminar
  8. Muchísimas gracias por tu aportación, anónimo, la verdad es que no se me había ocurrido hacerlo mediante red; suena complicado pero tiene muchas ventajas.
    Actualizaré la entrada.

    ResponderEliminar
  9. Esta bastante bueno , recien me estoy iniciando en ocupar el virtual box.

    Mi duda es la siguiente , despues que instalo el S.O en mi pc y lo quiero exportar a otro es necesario hacer un backup y despues como lo llevo a ocupar a otro pc , ejemplo lo tengo instalado en mi pc personal y lo necesito llevar a mi pc de la universidad , lo grabo en dvd y no se si la palabra exacta es como lo monto nuevamente alla , es necesario colocar el mismo nombre , desde ya muchas gracias

    ResponderEliminar
  10. Han provado crear la imagen del disco duro original (Con Sistema Operativo Listo y Funcional) con 'VMware Converter (Starter Edition)' es una buena herramienta para tomar un disco con Windows y ponerlo dentro de una Imagen Virtual... muy configurable y potente, hasta le puedes poner los controladores de la Virtual Machine par que no ponga pantallas azules.. yo lo hice con dos NoteBook Compaq y funciona muy bien.
    Rj

    ResponderEliminar
  11. Muchas gracias por la aportación.
    De todas formas se trata de hacerlo de la forma más barata posible, y no sé si el VMWare converter será más barato que el Ghost, que además te sirve para otras cosas...
    Pero si no te falla entonces genial, sería la forma más sencilla.

    ResponderEliminar
  12. tengo el vm ware y instalado dentro el windows server2000 y ahora quiero clonar el windows y ay dos opciones cual selecciono
    clone this virtual machine
    clone to ace master
    cual de los dos por favor

    ResponderEliminar
  13. Clone this virtual machine, supongo.

    ResponderEliminar
  14. tengo un problema estuve trabajando en mi maquina virtual VMWARE con un snapshot de base varias horas y por accidente un amigo lo cambio a otro snapshot y ahora todo el trabajo que hice se perdio como puedo recuperar todo el trabajo que hice alguien puede ayudarme se los agradecere

    ResponderEliminar
  15. Hola buenas tardes yo he creado con el Norton Ghost un .vmdk una copia entera de mi HDD con XP, el detalle es que al correrlo con el VirtualBox, despues de aparecer las opciones de *Modo Seguro *Modo Seguro con funciones de red ..... *Inicio normal de windows Etc. Pues cualquier opcion que selecciono no arranca Windows XP en la maquina virtual solo se queda con la pantalla negra y un cursor en la esquina superior izquierda, tambien ya probe haciendo un chkdsk /r, fixmbr, fixboot y recuperacion de windows y nada, ya tambien el .vmdk lo clone con el acronis a un .vdi y tampoco nada, de que forma puedo reparar o hacer que funcione esta maquina virtual. gracias

    ResponderEliminar
  16. Anónimo9/9/11 22:55

    Saludos, una consulta, las instantaneas de VirtualBox se pueden hacer en escenarios de red?, esto es recomedable o no??, Gracias.

    ResponderEliminar
  17. Anónimo, en cuanto a seguridad no es recomendable, porque cualquiera puede arrancar tu máquina virtual si está accesible por red sin contraseña.
    No creo que tengas problemas en dejarlas en la red, pero el tema es ese, la seguridad, aunque si la unidad compartida tiene contraseña, no veo mayor problema.

    ResponderEliminar
  18. ¿Y el caso a la inversa? O sea, de un VMX ¿Se puede restaurar todo a un disco duro limpio?

    ResponderEliminar

Puede dejar su comentario. Los comentarios descalificativos o sin relación ninguna con el tema tratado serán eliminados sin previo aviso. Antes de plantear una duda, asegúrate de que la respuesta no está en otra entrada del tema visitando la etiqueta que hay al final del artículo para verlos todos; muchas veces lo que planteas puede haber sido corregido o comentado en otra entrada posterior.