Arrancar un pendrive o disco duro USB en VirtualBox

VirtualBox no dispone de una opción para arrancar un dispositivo USB directamente desde una máquina virtual, pero podemos hacerlo, creando un disco virtual asociado al dispositivo.

Para ver qué dispositivo corresponde a nuestro pendrive lo introducimos, abrimos un terminal y ejecutamos, como administrador:

fdisk -l /dev/sd*

El comando nos mostrará todos los dispositivos de almacenamiento detectados, y, entre ellos estará nuestro pendrive.

Por ejemplo, en la siguiente salida podemos ver que me ha detectado mi pendrive de 16Gb como /dev/sdd:

Disco /dev/sdd: 15,2 GiB, 16357785600 bytes, 31948800 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x6c8ebbf5

Dispositivo Inicio Comienzo    Final Sectores Tamaño Id Tipo
/dev/sdd1   *          2048 31948799 31946752  15,2G  7 HPFS/NTFS/exFAT


Disco /dev/sdd1: 15,2 GiB, 16356737024 bytes, 31946752 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x20ac7dda

Vale, pues ahora que ya sabemos que nuestro pendrive es sdd, vamos a utilizar el comando VBoxManage de VirtualBox para crear un disco duro virtual asociado a él:

VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/HardDisks/usbdisk.vmdk -rawdisk /dev/sdd
RAW host disk access VMDK file /home/enam0000/VirtualBox VMs/HardDisks/usbdisk.vmdk created successfully.

Con el comando anterior, hemos creado un disco virtual llamado usbdisk.vmdk dentro de la carpeta ~/VirtualBox VMs/HardDisks/

El archivo vmdk podemos crearlo donde queramos.

A partir de ahora, no tenemos más asociar este disco virtual a la máquina virtual en la que queramos arrancar el dispositivo USB.

Veamos cómo hacerlo con un ejemplo:

Primero.- Creamos una nueva máquina virtual:

Segundo.- Elegimos un nombre para la máquina y seleccionamos un sistema operativo:

Tercero.- Asignamos memoria a nuestra nueva máquina virtual:

Cuarto.- Marcamos la opción "Usar un disco duro existente"  y elegimos la imagen de disco duro virtual que creamos anteriormente: usbdisk.vmdk

Quinto.- Por último, VirtualBox nos muestra el resumen de lo que hemos seleccionado para crear la máquina virtual:

Y eso es todo.

Si arrancamos la máquina virtual que acabamos de crear, se nos arrancará el pendrive o disco duro usb que hayamos introducido.

Este disco virtual nos servirá para arrancar cualquier dispositivo USB, cuando al conectarlo al sistema se nombre como /dev/sdd.

Viendo todo ésto, parece interesante tener creada una máquina virtual como ésta, con la que podremos arrancar cualquier pendrive o disco duro usb booteable.

This Article Has 8 Comments
  1. Norma Angélica Figueroa Soltero Reply

    Q tal! Oie antes que nada muchas gracias por tu aportacion, apenas estoy empezando a manejar linux y algunas cosas aun me resultan ligeramente desconocidas. Cuando trato de correr el comando para crear el directorio del usbdisk me dice: que el parame -rawdisk es invalida, tienes idea de pq pueda ser esto? Saludos y gracias de antemano

  2. Norma Angélica Figueroa Soltero Reply

    Que tal! Antes que nada mis felicitaciones y agradecimientos por tu post. Intente utilizarlo pero al momento de crear el usbdisk.vmdk me aparece que el parametro -rawdisk no es valido, tienes idea de como solucionarlo? Te lo agradeceria muchisimo ya que apenas estoy aprendiendo a utilizar linux pero la verdad me resulta bastante interesante. Saludos! n.n

  3. Esteban M. Navas Martín Reply

    ¿Podrías poner el comando completo tal y como lo has aplicado? Y, además, ¿podrías decirme qué versión de VirtualBox estás usando?

  4. Carlos Francisco Íñiguez Llamas Reply

    ¿Aquí también andas, Norma?.

    ¿Cómo ubico las unidades de almacenamiento en windows?, ¿alguna idea? En linux los dispositivos se muestran en archivos bajo /dev; pero me gustaría realizar este procedimiento bajo entorno windows (ya que donde trabajo usan windows). Muchas gracias por tu aportación. Le envío un cordial saludo.

    Pd: Gracias.

  5. German Fernandez Reply

    Hola, que tal? Te hago una pequeña consulta.. por lo que entendí, se crea un archivo que permite a virtualbox tratar al dispositivo usb como un disco virtual, cierto? ahora.. Dicho archivo es persistente?? es dcir, los cambios que haga en el sistema levantado desde la maquina virtual, se persisten en el usb? Saludos y gracias!

  6. Juan Carlos L.A. Reply

    Gracias.
    Me ha funcionado, pero VirtualBox lo he tenido que lanzar como usuario root.

    Saludos.

  7. Esteban M. Navas Martín Reply

    Hola, Juan Carlos, ¿por qué has tenido que lanzar VirtualBox como root? ¿Quizas has creado el archivo como root?

  8. ijm Reply

    Mi usb creo que estaría creado con alguna herramienta y le habría quitado permisos.
    De todas maneras lo solucioné con: sudo chmod 777 /dev/sdb

Por favor acceder para comentar.