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 1: crear imagen del disco duro
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).

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

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:
- Realizar todo como root (NO RECOMENDADO)
- Cambiar los permisos de los discos duros:
sudo chmod 666 /dev/sdb2
(Más o menos recomendado)
- Crear un nuevo usuario con los permisos indicados:
sudo adduser rawvb –ingroup MYGROUP –no-create-home
sudo adduser rawvb disk
sudo adduser rawvb vboxusersLuego 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 virtualchmod -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
), 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



1) Crear un registro de inicio maestro en un gestor de archivos
sudo apt-get install mbr <–instalamos el paquete necesario
install-mbr –force myBootRecord.mbr fdisk -l /dev/sda
Disco /dev/sda: 80.0 GB, 80026361856 bytes
255 cabezas, 63 sectores/pista, 9729 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0×52e42dad
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1567 12586896 7 HPFS/NTFS
/dev/sda2 1568 9729 65561265 f W95 Ext’d (LBA)
/dev/sda5 1568 7770 49825566 7 HPFS/NTFS
/dev/sda6 7771 7901 1052226 82 Linux swap / Solaris
/dev/sda7 7902 8815 7341673+ 83 Linux
/dev/sda8 8816 9729 7341673+ 83 Linux
Para mí es la partición número 1. y este es el magico comando
#>VBoxManage internalcommands createrawvmdk -filename ./WinXP.vmdk -rawdisk /dev/sda -partitions 1 -mbr ./myBootRecord.mbr -relative -register
eso seria todo =)
ahora a virtualizar tu winsuck xD
NOTA:
modificar el nombre de “./WinXP.vmdk” en donde quieras crear tu archivo eje: /home/tuusuario/nnombredelarchivo.vmdk
by PunkiD
Excelente aporte PunkiD, muchas gracias.
ahh me olvide de poner para que era, arriba explico como posible solucion para “la pantalla negra” al querer arrancar la maquina virtual
Posible solucion para la “pantalla negra” al querer arrancar maquina virtual con tu particion de Windows XP.
1) Crear un registro de inicio maestro en un gestor de archivos
sudo apt-get install mbr (instalamos el paquete necesario)
install-mbr –force myBootRecord.mbr (creamos el archivo)
fdisk -l /dev/sda (vemos las particiones del disco)
Disco /dev/sda: 80.0 GB, 80026361856 bytes
255 cabezas, 63 sectores/pista, 9729 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Identificador de disco: 0×52e42dad
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 1567 12586896 7 HPFS/NTFS
/dev/sda2 1568 9729 65561265 f W95 Ext’d (LBA)
/dev/sda5 1568 7770 49825566 7 HPFS/NTFS
/dev/sda6 7771 7901 1052226 82 Linux swap / Solaris
/dev/sda7 7902 8815 7341673+ 83 Linux
/dev/sda8 8816 9729 7341673+ 83 Linux
Para mí es la partición número 1. y este es el magico comando
VBoxManage internalcommands createrawvmdk -filename ./WinXP.vmdk -rawdisk /dev/sda -partitions 1 -mbr ./myBootRecord.mbr -relative -register
eso seria todo =)
ahora a virtualizar tu winsuck xD
NOTA:
modificar el nombre de “./WinXP.vmdk” en donde quieras crear tu archivo eje: /home/tuusuario/nnombredelarchivo.vmdk
perdon por comentar seguido el problema que lo hice rapido entonces tenia que tener errores
un saludo!
by PunkiD
Hola
También me salieron problemas de permisos y lo solucioné agregando mi usuario al grupo disk: adduser tu_usuario disk
Vituabox ya reconoce la particion, el problema es que XP no reconoce la partición. La ve como una particion sin formatear ni nada.
La particion que quiero compartir con windows es mi home y esta en formato ext3
Alguna idea de como solucionarlo?
Puedes intentar configurar la opcion de compartir carpetas de VirtualBox; o instalar algun software que te permita hacerlo:
http://linuxhelp.blogspot.com/2007/03/mount-ext2-or-ext3-partition-in-windows.html
o Paragon es muy famoso.
Tambien buscando en Google:
mount ext3 under windows xp
un saludo!
Bueno siguiendo todos los paso y mediante el metodo de prueba y error… el virtualbox ejecutado como root funciona y reconoce el disco duro virtual. Tuve que activar el IO APIC en la configuracion de la maquina virtual para que no se quedase en pantalla negra con el guion cuando arrancaba…
Veo el logo de windows… me pregunta que perfil de hardware quiero elegir. selecciono el que duplique… pantalla negra con guion… y recibo el pantallazo azul que no me da ni tiempo a leer por que se reinicia. me da la opcion de arrancar a prueba de fallos pero termina don identico resultado.
¿Alguna idea…
voy a probar a reiniciar en windows y ver si puedo desactivar algunas cosa…
Donde se debe colocar el script de la forma larga y como se debe nombrar el archivo creado…?????
¿Alguien sabe cómo hacer que la máquina virtual de Virtual Box arranque al inicio de Ubuntu?
Hola Sintra…
Bastaría con que añadieras algo como esto en los programas de inicio de sesión (Sistema->Preferencias->Sesiones):
VirtualBox --startvm "Nombre Maquina Virtuak"Un saludo!
Para los que no les aparece el grub, mejor creen el acceso directo a todo el disco.
A mi me aparece el grub, pero cuando se lecciono el para iniciar con winXP solo se quedta en starting up… y de ahi o pasa.. alguna solucion.
yo tengo una nvidia y lo corro como root y cuadno entro a la particion de xp selecciono profile 2 y se queda la pantalla negra con una barra gris abajo, alguna idea a lo mejor a de ser lo la nvividia que tengo?
Hola a todos
Por favor si pueden ayudarme con el siguiente problema.
ekufar@ekufar-desktop:~$ VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/WinXP.vmdk -rawdisk /dev/sda
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (2.6.31-14-generic) or it failed to
load. Please recompile the kernel module and install it by
sudo /etc/init.d/vboxdrv setup
You will not be able to start VMs until this problem is fixed.
WARNING: The compilation of the vboxdrv.ko kernel module failed during the
installation for some reason. Starting a VM will not be possible.
Please consult the User Manual for build instructions.
VirtualBox Command Line Management Interface Version 1.6.6
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
Error opening the raw disk ‘/dev/sda’: VERR_ACCESS_DENIED
The raw disk vmdk file was not created
ekufar@ekufar-desktop:~$.
he seguido al pie de la letra las instrucciones de Pablo pero estoy atrancado en eso y no encuentro solucion.
Gracias
Jose: ahi te dice bien claro lo que tienes que hacer, usa el comando sudo “/etc/init.d/vboxdrv setup” y si en un caso no te resulta eso! intenta usar “modprobe vboxdrv” (los comandos son los que estan entre comillas (“”) usalos sin las mimas, espero que te sirva
saludos PunkiD
Gracias PunkiD no me resulto nada. Y me volvi un ocho todo para intentar desistalar y volver a instalar el virtualbox; asi que toco la formatiada y volver de cero a ver como es la vaina como buen novato .pues llevo 8 dias con linux.
Tengo una duda y es sobre la version ,pues antes de formateo tenia la 1.6.6 y ahora en la web de virtualbox veo la 3.0.10.
Por ahy seria mi inicial problema ?
Jose… no se que distro estas usando pero por lo que vi en el error es que no cargas el modulo vboxdrv, con respecto a a la version de tu VirtualBox … seguramente tu distro usa una version estable de virtualbox, y por eso usas esa version, en mi arch uso la 3.8 y no tengo ningun tipo de problemas te recomedo actualizar y bienvenido al mundo linux !