27 oct. 2008

Instala Windows XP dentro de Ubuntu (VirtualBox)

VirtualBox es un software de virtualización de la arquitectura x86, es decir, es capaz de emular un ordenador completo. A diferencia de otros emuladores que intentan emular un sistema operativo, Virtualbox nos ofrece un PC dentro de nuestro PC, con el que podemos hacer virtualmente cualquier cosa.

En este artículo voy a describir los pasos para instalar el sistema operativo Windows XP dentro de Ubuntu Intrepid Ibex 8.10

Nota: llegados a este punto he de aclarar que estoy totalmente en contra de la instalación de sistemas cerrados, y más aun si provienen de compañías que claramente desprecian el software de código abierto y hacen todo lo posible para limitar su desarrollo. Pero aun así puede ser necesario disponer de Windows para abrir determinados documentos (como los *.docx) o usar algun programa concreto que ni existe en Linux ni puede ser usado a través de wine. Es sólo por este motivo que escribo este artículo: para casos puntuales de absoluta necesidad.

  • Instalación de virtualbox
Existen dos versiones de virtualbox, una versión libre (también llamada virtualbox-ose) y otra versión que aunque no es libre es gratuita para uso personal. Las diferencias entre ambas versiones las podeis ver en http://www.virtualbox.org/wiki/Editions aunque podrian resumirse en que la versión libre incluye el código fuente y permite un uso ilimtado, mientras que la no libre se distribuye sólo como binario (sin fuentes ni posibilidad de modificarlo) pero ofrece soporte USB, controladora SATA y algunas cosas más.

Veamos como instalar cada una de las versiones:

1. Virtualbox-ose
Se encuentra en los repositorios oficiales de Ubuntu, por lo que podremos instalarla con la órden:
$ sudo apt-get install virtualbox-ose

2. Virtualbox (no libre)
Bajamos el paquete deb que se encuentra en su web, ya sea VirtualBox 32bits o VirtualBox 64bits y lo instalamos con el instalador de paquetes gdebi o con la órden:
$ sudop dpkg -i *.deb


  • Configuración del PC virtual
Ejecutamos el programa con la órden:
$ virtualbox

Veremos el formulario de registro:

Formulario de registro

Lo rellenamos con nuestros datos y confirmamos, inmediatamente veremos la pantalla principal del programa:

Ventana principal de VirtualBox


Pulsamos en el botón Nuevo y se iniciará el asistente de creación de una máquina virtual. Iremos respondiendo las preguntas del asistente con estos datos:
Nombre: Windows XP (aquí podeis poner lo que querais)
Tipo de OS (sist. op.): Windows XP
Tamaño de memoria base: 256MB (esto dependerá de la RAM que tengais, pero yo le pondría un mínimo de 128MB)

Ahora crearemos un disco duro nuevo para Windows XP con las siguientes características:
Imagen de tamaño fijo
Nombre: Windows XP
Tamaño: 10Gb (de nuevo dependerá mucho del espacio disponible y del uso que le vayais a dar al Windows XP, yo le pondría como mínimo 5Gb)

Una vez el disco ha sido creado veremos que ya podemos arrancar el sistema, pero antes de hacerlo vamos a acabar de configurar el sistema. Pulsamos en el botón Configuración

Audio: si queremos sonido activamos el soporte audio y elegimos el mismo driver que tengamos en el sistema, en mi caso es Alsa, el controlador es indiferente pues Windows XP detecta automáticamente las dos opciones que nos ofrece VirtualBox

Configuración del audio


Red: si vamos a querer internet en el sistema virtual activaremos aquí la red y dejaremos las opciones que vienen por defecto, que son válidas en la mayoría de los casos

Configuración de red


Podeis mirar el resto de opciones si es que necesitais acceso a los puertos serie, disquetera o montar directorios compartidos con el sistema anfitrión (Ubuntu)


  • Instalación de Windows XP
Para proceder a la instalación necesitamos tener una copia del cd de instalación de Windows XP, ya sea directamente en el CD o en un fichero ISO.

Desde el menu de configuración de VirtualBox iremos a la sección CD/DVD y marcaremos la opción Montar la unidad de CD/DVD

En caso de tener el CD elegiremos Unidad CD/DVD anfitrión, es decir, usar directamente la unidad física de nuestro ordenador.

En caso de tener una imagen ISO marcaremos la opción Archivo de imagen ISO y buscaremos la imagen.

Yo he utilizado el CD original, con lo cual le puedo decir que use directamente mi unidad de CD/DVD:

Configuración del CD/DVD


Una vez hecho esto aceptamos y ya estamos listos para iniciar la instalación pulsando el botón Iniciar de VirtualBox. El sistema arrancará y se iniciará la instalación de Windows XP.

No me detendré en el proceso de instalación del sistema operativo Windows XP pues no es el propósito de este blog y es un proceso que no tiene pérdida.

El resultado final en mi caso, después de instalar, y modificar a mi gusto el Windows XP es este:

Windows XP ejecutandose dentro de Ubuntu


  • Limitaciones del proceso
Los sistemas virtualizados no acceden directamente al hardware, por ese motivo no tendremos acceso a nada que no sea directamente configurable desde el menú de VirtualBox, esto incluye: aceleración gráfica, ventiladores y sensores, capturadoras de video, TV, satélite, wifi...

Del mismo modo tampoco podrán usarse programas que accedan directamente a este hardware (pues no lo encontrarán) como drivers, optimizadores de hardware, programas que necesiten aceleración gráfica, receptores de satélite...

La versión libre tampoco tiene acceso a los dispositivos USB.


  • Errores comunes
Es posible que al ejecutar el programa veamos un mensaje como este:
dani@dani-desktop:~$ virtualbox
WARNING: The character device /dev/vboxdrv does not exist.
Please install the virtualbox-ose-source package and the appropriate
headers, most likely linux-headers-generic.
You will not be able to start VMs until this problem is fixed.

La solución, como el propio mensaje indica es instalar los paquetes virtualbox-ose-source (que seguramente se habrá instalado junto a virtualbox-ose) y linux-headers-generic
$ sudo apt-get install linux-headers-generic virtualbox-ose-source

Otro error que podemos encontrarnos es:
VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

De nuevo el mensaje es autoexplicativo y nos da la solución, ejecutar el comando:
$ sudo /etc/init.d/vboxdrv setup


  • Enlaces de interés
VirtualBox Home Page

19 comentarios :

sartrejp dijo...

Muy buen artículo, voy a poner un link en mi blog. Suerte

Bruno dijo...

Como siempre,excelente.Muchas Gracias por compartir tus conociemientos y enseñarme un poco mas sobre mi sistema.. Bruno

tOvaR! dijo...

Hola, la verdad muchas gracias por este tutorial, me sirvio de mucho.!

Anónimo dijo...

muy bueno esto de instalar windows dentro de linux, me cambie a linux pero lo que extraño de windows es poder ejecutar mis juego ya que tengo una gran coleccion de ellos pero no lo puedo aser al 100% en ubuntu..... si tienes algun consejo te lo agradecere

fosco_ dijo...

@Anónimo no juego mucho, pero para algunos juegos me ha funcionado bien Wine, pruebalo es sencillo

DirCeo s.sYstemas ome dijo...

por que ha paso en 8 makinas y con 8 win2 diferentes ke al moment de estar instalando no pasa del 20% o sale pantallazo azul d ela muerte??????????????????????????????

fosco_ dijo...

@DirCeo: pues la verdad es que no se me ocurre que puede ser, asegurate de tener espacio suficiente en disco y ram suficiente, que la iso o el disco que usas para instalar estan bien y prueba también a variar las opciones del hardware emulado en virtualbox.

Anónimo dijo...

Excelente articulo, instalé el windows en VM dentro de Ubuntu con otro tutorial, pero como soy curioso lei este y me pareció muy bueno, algo mas sencillo que el que yo seguí pero obteniendo el mismo resultado. Realmente dentro de poco tiraré Windows a la papelera, estoy usando Ubuntu 9.04 beta que desde ayer creo que definitivo.
Felicitaciones
Felicitaciones

Anónimo dijo...

hola necesito ayuda soy novato ya echo todos los ,ya lo tengo instalado pero al correr sudo /etc/init.d/vboxdrv setup

me sale esto al querer ejecutar sudo /etc/init.d/vboxdrv setup me sale lo siguiente

Usage: /etc/init.d/vboxdrv {start|stop|restart|status}

y no se que hacer por favor ayudenme gracias

fosco_ dijo...

Eso es por tener una version vieja de VBox, bajate de su web elpaquete deb de la versión 2.x

Anónimo dijo...

Muchas gracias, ha funcionado de maravilla.

Ubalio dijo...

Hola, muchas gracias por el tutorial, muy bien explicado. Mi único problema es que a la hora de instalar el xp, cuando pulso "configuración" para buscar la unidad de cd/dvd, no me aparece en la columna de la izquierda, solo me aparece: "general.sistema.pantalla.almacenamiento.audio.red.puertos serie.usb.carpetas compartidas" pero no tengo en esa lista "cd/dvd" ¿qué puedo hacer para solucionarlo?
Muchas gracias
Un saludo

fosco_ dijo...

@Ubalio: las unidades de CD y DVD deberían estar en la sección almacenamiento

Ubalio dijo...

Hola de nuevo, solucionado.
Todo funciona perfectamente.
Un saludo y gracias!!

Anónimo dijo...

muchas gracias
muy clarito todo
me sirvio

fosco_ dijo...

@anónimo: de nada, aunque realmente VirtualBox ha cambiado mucho en los últimos meses, no se si todo lo que aparece en este artículo seguirá siendo válido.

Un saludo

gustavo dijo...

hola soy nuevo con ubuntu,mi pregunta es esta----tengo una impresora la cual en ubuntu 11.4 no hay controlador hasta donde se ya que he buscado, con el virtual box podria ejecutar el sw de mi impresora???

Anónimo dijo...

Buen dia como usuario reconozco que es inmensamente superior linux que windows pero está tan enmascarado windows que queria instalar el s.o. de win en un disco duro externo de la notebook de mi hijo ya que el disco duro interno se murio y es dificil encontrar otro, intente de mil maneras hacerlo pero otra decepcion llego y con sabor a WINDOWS ahora estoy instalando ubuntu y al finalizar seguire los pasos mencionados aqui para usar windos ... bueno los chicos no entienden de esto verdad ?? ... esto es como usar un tarro y poner dentro la basura, el tarro sirve para muchas cosas y la basura ... bueno saludos!!!

Anónimo dijo...

me aparece Fallo al abrir una sesión para la máquina virtual WindowsXP.

The virtual machine 'WindowsXP' has terminated unexpectedly during startup with exit code 1.

Código Resultado: NS_ERROR_FAILURE (0x80004005)
Componente: Machine
Interfaz: IMachine {5eaa9319-62fc-4b0a-843c-0cb1940f8a91}