Pendrive en Windows XP virtualizado con qemu

Para continuar con alguno de los aspectos ya desarrollados en el artículo anterior:

Máquina virtual en Debian Etch

es de hacer notar que si usamos el modificador -usb, tal como sugiere el help de qemu, esto no es suficiente para cargar automáticamente nuestra pendrive en el Windows XP virtual; aunque si es la primera vez que la añadimos si la reconoce. Para ello es necesario hacer algo más. Con la pendrive conectada, hagamos en cónsola un lsusb. El resultado, en mi sistema, es el siguiente:

Bus 005 Device 004: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash 1GB Flash Drive
Bus 005 Device 003: ID 1241:1177 Belkin F8E842-DL Mouse
Bus 005 Device 002: ID 05e3:0605 Genesys Logic, Inc. USB 2.0 Hub [ednet]
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

La primera línea apunta ya a la pendrive con un ID 0457:0151. Sin embargo, si no tenemos privilegios de uso de los dispositivos usb en /proc/bus/usb, veríamos un mensaje de error al lanzar la máquina virtual; aunque cumpliesemos con todos los procedimientos que vamos a detallar más adelante. Para corregir eso, como root, primero lanzamos el siguiente comando en cónsola:

chown -R nombre_usuario /proc/bus/usb

Hecho esto, arrancamos el Windows XP virtual con:

qemu -hda WINDOWS_XP.img -m 256 -boot c usbdevice host:xxxx:xxxx

donde, en mi caso, xxxx:xxxx es el ID 0457:0151 correspondiente a mi pendrive (obtenido del lsusb). El Windows XP virtual, con la pendrive montada, aparece de esta manera en mi Debian Etch:

No es necesario que esté montada en el Linux para que funcione en la máquina virtual. Por otra parte, si necesitamos la pendrive en otro equipo, la desmontaríamos como lo hacemos normalmente en Windows y luego lo haríamos en Linux; si es el caso. Si se requiere nuevamente la pendrive en el Windows XP virtual, entonces nos cambiamos a la cónsola de qemu con [Ctrl] + [Alt] + 2 y desde allí ejecutamos:

usb_add host: xxxx:xxx

Si es necesario (es decir, si no monta el dispositivo), volvemos a lanzar como root el comando para obtener los privilegios para /proc/bus/usb y ejecutamos el usb_add nuevamente. Para regresar a la máquina virtual, desde la cónsola de qemu, hacemos [Ctrl] + [Alt] +1.

Esta entrada fue publicada en Linux, Virtualización. Guarda el enlace permanente.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s