Warning: fsockopen() [function.fsockopen]: unable to connect to otter.topsy.com:80 (Connection refused) in /home/casidiab/public_html/wordpress/wp-content/plugins/topsy/topsy.php on line 305
Ejecutar Windows instalado en el disco duro desde Ubuntu usando VirtualBox « Linux, Java y programación
gentoo linux, java, software libre y otras hierbas
Sep, 23 2008 - 12:01 am

Ejecutar Windows instalado en el disco duro desde Ubuntu usando VirtualBox

Muchas veces tenemos un sistema Windows instalado/configurado/personalizado antes de instalar nuestra distro favorita, y desearíamos no perder dicho trabajo y poder a la vez ejecutar aplicaciones nativamente para Windows desde nuestro querido Linux.

Lo que podemos hacer en este caso es crear una imagen de acceso virtual de nuestro disco duro, y con ella ejecutar Windows desde Linux. 

Paso cero (opional): muchas veces, cuando Windows inicia, éste reescribe información de drivers en su configuración, de acuerdo al hardware sobre el que corre. Por tanto, y para no correr riesgos de estropear nada, podríamos crear un nuevo perfil de hardware alterno. Para ello vamos a las propiedades de Mi PC, seleccionamos la pestaña Hardware y hacemos clic en Perfiles de hardware. Luego hacemos clic en Copiar y ya está, aceptamos todo, reiniciamos y volvemos a la tranquilidad de nuestro Linux.

Paso 1: crear imagen del disco duro

:~/.VirtualBox$ VBoxManage internalcommands createrawvmdk -filename $HOME/.VirtualBox/WinXP.vmdk -rawdisk /dev/sdb2 -relative -register

VirtualBox Command Line Management Interface Version 2.0.2
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

RAW host disk access VMDK file /home/cristian/.VirtualBox/WinXP.vmdk created successfully.

En realidad lo que se crea es un especie de “acceso directo” al disco, es decir, NO crea una imagen con los datos del disco duro sino acceso al mismo. 

Paso 2: añadir el disco duro virtual a VirtualBox

Abre VirtualBox y selecciona Archivo->Administrador de discos virtuales (File->Virtual Disk Manager en inglés), clic en el botón Añadir (Add) y seleccina el archivo que acabas de crear.

Paso 3: crear una nueva máquina virtual

Clic en el botón Nueva (New) y Siguiente (Next) en el asistente de creación de máquinas virtuales. Digita WinXP como nombre y selecciona Windows XP como tipo de máquina virtua, clic en Siguiente (Next).

virtualbox

Selecciona la cantidad de memoria RAM que deseas otorgar a la máquina virtual.

virtualbox

Ahora es donde debemos seleccionar el disco duro que hemos creado, así que has clic en Existente (Existing) y selecciona el disco duro que añadiste en el paso 2. Clic en Siguiente y luego en Finalizar.

Paso 4: configurar la nueva máquina virtual

Selecciona la máquina virtual WinXP, clic derecho y Configuración (Settings). Allí habilita el audio, los Puertos seriales (Serial Ports), los Puertos USB (USB ports), asigna el drive CD/DVD a la unidad local, y añade los Directorios Compartidos (Shared Folders) que sean necesarios, etc.

Ahora simplemente has clic en Iniciar (Start) y verás el menú de tu grub (o lilo), donde podrás seleccionar y ejecutar Windows XP (no es recomendable ejecutar el SO Linux que ya está corriendo). Recuerda que todos los cambios que realizes sobre la máquina virtual se verán reflejados en el SO original.

Problemas y soluciones

Uno de los problemas normales que pueden ocurrir, es al momento de crear el disco virtual. En la mayoría de los casos se trata de problemas de permisos, y tenemos algunas opciones para solventarlo:

  1. Realizar todo como root (NO RECOMENDADO)
  2. Cambiar los permisos de los discos duros:
    sudo chmod 666 /dev/sdb2

    (Más o menos recomendado)

  3. Crear un nuevo usuario con los permisos indicados:
    sudo adduser rawvb –ingroup MYGROUP –no-create-home
    sudo adduser rawvb disk
    sudo adduser rawvb vboxusers

    Luego puedes crear un script que ejecute VirtualBox adecuadamente:

    #! /bin/bash
    VBUSER=rawvb # nombre del usuario que es miembro del grupo disk
    VM_NAME=xpraw # nombre de la maquina virtual      

    chmod -R g=u /home/$USER/.VirtualBox # asegurarse que el otro usuario tenga acceso a la configuracion del VirtualBox
    xauth extract /home/$USER/cookieTmp $DISPLAY
    chmod g+r /home/$USER/cookieTmp
    sudo -u $VBUSER XAUTHORITY=/tmp/.Xauthority_$VBUSER xauth merge /home/$USER/cookieTmp
    rm /home/$USER/cookieTmp
    sudo -u $VBUSER XAUTHORITY=/tmp/.Xauthority_$VBUSER VBOX_USER_HOME=/home/$USER/.VirtualBox VBoxManage startvm $VM_NAME&

    Es la manera RECOMENDADA aunque es un poco más larga. Es tu desición.

Otro problema puede ser que Windows no arranque :( (pequeño problema :D ), lo cual se puede deber al hardware, por ejemplo: supón que tienes una nVidia y haces uso de ella en Windows… luego VBox (que no tiene soporte para aceleración gráfica) carga Windows con su hardware emulado, entonces Windows dice ¿Qué demonios pasa? ¿No pillo bien el hardware? ¿Qué ha pasado? Bueno, mejor ni arranco, que se las apañe el usuario solito. En esos casos no podrás ¿disfrutar? de tu Windows.

En lo personal, me ha funcionado en uno de dos computadores donde hice la prueba. Aunque eso no dice mucho, así que lo mejor será leer sus comentarios.

Actualización: me envía Pablo Derendinger los pasos que el siguió y que le funcionaron… se basó en esta guía pero añadió un par de pasos que seguro resultarán útiles a algunos usuarios con problemas.

143 Comentarios | deja el tuyo

5 enlaces entrantes

138 Comentarios en “Ejecutar Windows instalado en el disco duro desde Ubuntu usando VirtualBox”

  1. PunkiD dice:

    Jose con respecto a mi msj anterior como habras visto escribi bastante mal xDD los comando eran los siguientes, siempre con sudo :
    1: sudo /etc/init.d/vboxdrv setup
    2: sudo modprobe vboxdrv

  2. pablo dice:

    @jose: te puedo preguntar para que usarias la virtualizacion? Lo digo por que quisas te podamos dar una mano con programas que hacen lo mismo en linux (o mejor) y que corren de manera nativa.
    Otro consejo, el virtualbox de sun, usalo para crear la maquina virtual, utiliza la version mas nueva. Si te animas, luego cambia a la version OSE que es comunitaria para correr la maquina virtual.
    Esta tiene mas soporte de parte de las distribuciones y muchos problemas ya estan resueltos.
    El problema que te aparece, es por que el nucleo (kernel) no tiene incorporado el modulo que maneja los recursos de VirtualBox. (como te explico punkid)
    Por eso te pide que hagas una instalacion ( sudo /etc/init.d/vboxdrv setup) para crear el modulo, y que luego lo instales dentro del nucleo (kernel) (sudo modprobe vboxdrv).

  3. pablo dice:

    Si le erre con alguna definicion, disculpas. :P
    pero esta bueno explicar que es lo que se va haciendo y no tengo el man al lado.

  4. Jose dice:

    Hola de nuevo y gracias por el interés a ayudar (Pablo y PunkiD) a un renuevo pero entusiasta de aprender. Y antes que nada, no ahy de que disculparte Pablo, todo esta bien y formateando aprendo tanto que ya aprendí a usar aptoncd con lo que no pierdo los deb que he bajado….jajaja

    Haber a tu pregunta Pablo de para que usare virtualizacion es definitivamente por cuatro razones:

    1. Deseo salirme de windows totalmente, pero existen cosas que pueden entrar en dudas y tocara recurrir a lo virtualizado (ejemplo: office 2007 que desde open office no se guardar archivos que sean leidos en maquinas con ese programa.) Esto para darte una idea de mi problemática, pues como creo dije llevo a lo sumo 8 días metido de cabeza en Ubuntu ( el grub esta en automatico para Ubuntu ), leyendo ,probando y (claro) dañando y volviendo a arreglar.

    2. Se me ha vuelto un reto el hacer esta virtualizacion de disco, pues montar una iso es fácil,instalar igual, pero hacerlo como lo veo en el vídeo me parece excelente para asi mostar a amigos que dejen el miedo a salirse del todo como es mi propósito.

    3. No deseo perder los juegos que usa mi hijo ,pero al tiempo traermelo a el acá también y que lleve a cero la utilización de windows.

    4. Mi grado de complicación para hacerlo es mayor, dado que uso Seven y tengo tarjeta Nvidia ,asi que deseo sacar mi proyecto en base a lo que leo acá adelante, con ello ayudar a otros que vendrán con el mismo lío proximanete por la masificacion del 7 ese.

    Ahora tengo la version de virtualBox 3.0.10 r54097 recien instalada y vere como me sale pues arrancare (Dios mediante de cero con esto mañana) pues hasta baje el Vmware a ver por donde salgo adelante con esto.

    Mil gracias de verdad por su interés y si no les molesta , seguiré por acá abusando de su conocimiento.

  5. rufino dice:

    bueno finalmente lo logre pero ahora yo ya bien emosionado pues resulta que no puedo paso lo de la cargaa de grub y al darle enter en la opcion de vista nada aparese una pantalla en negro y asi se queda por que sera si alguien puede decirme que fue lo que ise mal se lo agradeseria XD

  6. Rodri dice:

    Hola, me pareció muy interesante tu tutorial, intenté hacerlo pero no pude.
    Hice el primer paso de crear el “Acceso Directo” a mi partición de Windows (/dev/sda3) a través del comando:
    ————————————–
    sudo VBoxManage internalcommands createrawvmdk -filename /home/rodri/HardDisks/XP.vmdk -rawdisk /dev/sda3 -relative -register
    ————————————–
    (ya que si no usaba sudo, me decía acceso denegado)
    Bueno, haciendo esto crea el disco, pero a la hora de llamarlo desde VBox me aparece el siguiente error: http://i50.tinypic.com/2n7h0xw.png
    y no he podido solucionarlo, ademas estuve tratando de insertarla como opción de inicio en el gdm pero no pude, simplemente no aparece (Solo aparecen GNOME, GNOME a prueba de fallos y xterm).

    Uso Ubuntu Karmic.

    Muchas Gracias.

    Rodri ;)

  7. Rodri dice:

    Cristian, gracias por responder.
    Intenté darle permisos 666 a todo el disco /dev/sda y especialmente a /dev/sda3 (qe es donde tengo a Win XP) pero lo mismo me aparece ese cartel que deje antes. Sera porq es Ubuntu Karmic y no Jaunty?

  8. Cristian dice:

    Hola Rodrigo…

    No tiene nada que ver la versión del Ubuntu… debes estar haciendo algo mal :S ¿puedes poner paso a paso las cosas que estás haciendo?

    Sino, te ayudo luego por un IRC…

    Un saludo!

  9. Rodri dice:

    Hola Cristian, bueno como ya te comenté antes le di permisos a los discos.
    —-
    sudo chmod 666 /dev/sda; sudo chmod 666 /dev/sda3
    —-
    Despues creo el “Disco Duro Virtual” (acceso directo):
    —-
    VBoxManage internalcommands createrawvmdk -filename /home/rodri/.VirtualBox/XP.vmdk -rawdisk /dev/sda3 -relative -register
    – Dando como salida del comando:
    VirtualBox Command Line Management Interface Version 3.0.12
    (C) 2005-2009 Sun Microsystems, Inc.
    All rights reserved.

    RAW host disk access VMDK file /home/rodri/.VirtualBox/XP.vmdk created successfully.
    —-
    Listo, entro a VirtualBox e intento agregarlo al Administrador de medios, pero al agregarlo me dice el siguiente mensaje:
    http://i48.tinypic.com/axn1hj.png

    Bueno eso es todo lo que hice, ya que no puedo seguir mas, porq no tengo el “Disco” de mi Maquina Virtual.

    Gracias por la ayuda ;)
    Cualquier cosa avisame y te dejo mi mail (no si se puede, cuestion de reglas)

    Rodri

  10. Cristian dice:

    ¿Qué te aparece si ejecutas este comando?

    ls -l /home/rodri/.VirtualBox/XP.vmdk

    Un saludo!

  11. Rodri dice:

    Cristian, el resultado fue este:
    rodri@rodri-pc:~$ ls -l /home/rodri/.VirtualBox/XP.vmdk
    -rw——- 1 rodri rodri 535 2009-12-10 09:37 /home/rodri/.VirtualBox/XP.vmdk

    • Cristian dice:

      Jum… todo parece estar bien :-/

      ¿qué tal si ejecutas TODO como root? Si te siguen saliendo errores de acceso denegado con esa cuenta, entonces estamos jodidos.

      Si funciona, entonces nos ponemos a mirar cual es el problema.

      Un saludo!

  12. Rodri dice:

    Podremos hablar por algo mas “fluido”? :D

  13. Cristian dice:

    Jajajajaja… vale… ummm, entonces estaré en el canal #casidiablo en el servidor IRC de freenode.net

    Un saludo!

  14. Rodri dice:

    Nose como chatear desde ahi. Entre a la pagina pero habla de donaciones,
    Nunca use IRC :$

  15. Avatar242 dice:

    Hola!… bueno, he estado como malo de la testa tratando de levantar WXP desde VB. Configuré esto apuntando el enlace al Disco completo donde tengo instalado WXP, y active tb la opcion de IO-APIC, pero ahora tengo dos problemillas….

    el primero es que cada vez que inicio la maquina virtual debo ejecutar:
    sudo chmod 666 /dev/sdb

    y el otro problema es que cuando carga y despues de que me pregunta el perfil de HW que quiero cargar me parace un pantallazo azul que no alcanzo a leer, lei el mismo problema mas arriba, pero no pille solucion.. en WXP desactive mi tarjeta nvidia pero el problema sigue…
    me podrian dar una mano?

    saludos…
    y felices fiestas…

¡Déjanos tu comentario!