¿Cómo arrancar desde una unidad USB en VirtualBox?


72

La pregunta es simple y directa:

¿Cómo arrancar desde una unidad USB en VirtualBox?

EDITAR :

He adjuntado usba VirtualBox como se muestra en la captura de pantalla.

https://i.stack.imgur.com/UPZZo.png

Pero no es posible arrancar desde una unidad USB incluso cuando está conectado (referencia) .

Entonces, ¿me gustaría saber si hay alguna otra posibilidad de iniciar desde una unidad USB?


Simplemente puede abrir su USB, comprimir todo en un archivo ISO y arrancarlo normalmente.
dat tutbrus el

@Ravan: no hay que olvidar que a menudo los usuarios no adjuntan la propiedad "boot" al dispositivo USB. Esto está en el menú 'partición' de gparted y allí puede editar el indicador resp. la etiqueta del dispositivo USB y active el parámetro "boot".
dschinn1001

1
@dattutbrus Eso no funcionará si desea cambiar archivos en el USB
Paul

Respuestas:


89

VirtualBox en sí no admite el arranque desde un dispositivo USB. Para arrancar desde un dispositivo USB, se requiere otro gestor de arranque. Los pasos a continuación proporcionan una forma posible de lograr esto:

  1. Descargar Plop Boot Manager (actualmente v5.0.15)
  2. Extraiga el archivo plpbt.isodel archivo ZIP y guárdelo en algún lugar.
  3. Abra la configuración de la máquina virtual y adjunte el archivo ISO:

    ingrese la descripción de la imagen aquí

  4. Agregue un filtro para el dispositivo USB:

    ingrese la descripción de la imagen aquí

  5. Arranque la máquina virtual y seleccione la opción "USB" en el menú:

    ingrese la descripción de la imagen aquí

Si todo salió bien, la máquina ahora debería arrancar desde el dispositivo USB.


1
Esta es definitivamente una respuesta más fácil que la mía. ¡Me gusta! Desearía poder votar más. =)
Terrance

3
Esta respuesta debe incluir que debe ser parte del grupo vboxusers .
musiKk

66
A mi no me funciona. Cuando selecciono usb, espero por siempre con su pantalla. ¿Alguna idea? postimg.org/image/dv8w83pi3
John

66
Quería agregar que Plop Boot Manager solo es oficialmente compatible con EHCI. Si eres como yo y estás intentando usar una unidad USB 3.0 con Plop Boot Manager, no funcionará. Puede intentar utilizar el método mencionado en la otra publicación, pero VirtualBox tampoco parece ser muy aficionado a trabajar con vmdks sin formato desde dispositivos USB 3.0. Si solo tiene puertos USB 3 en su computadora, puede solicitar un concentrador USB 2.0 y conectar la unidad a través de eso. Se comportará esencialmente como una unidad USB 2.0.
fakedad

3
Si combina esta solución con la VMDK, puede obtener un rendimiento USB nativo. De lo contrario, esto solo funciona con USB 1.1.
Will Bickford

50

EDITAR: 7 mar 2018

Algo a tener en cuenta aquí. Dejar la unidad USB en la computadora cuando reinicia puede cambiar la /dev/sddesignación de la letra usb.vmdkde la unidad, lo que hace que el archivo sin formato apunte a la unidad incorrecta para que no se inicie en VirtualBox. Como prueba dejé uno en mi sistema. Fue /dev/sdiantes de reiniciar, después de reiniciar fue /dev/sdc. Cuando reinicie su computadora para cualquier cambio, retire la unidad USB antes de reiniciar. Estoy investigando si el disco sin formato se puede crear desde el UUID de la unidad, ya que eso no cambiará.


Dado que VirtualBox no se inicia en unidades USB, puede crear un .vmdkarchivo que apunte a su unidad USB para iniciarla.

NOTA: DEBE agregar su cuenta de usuario al vboxusersgrupo para que VirtualBox vea su USB. También DEBE agregar su cuenta al diskgrupo, o no puede agregar el .vmdkarchivo a su máquina virtual. Se agregaron instrucciones a continuación en EDITAR . Esto tampoco copia la unidad USB en el disco duro y usa el USB directamente. Esto puede ser útil si hay persistencia en el USB que desea mantener. No todas las situaciones son iguales, por lo que esto puede no funcionar para todos los casos.

Primero, necesita tener su USB que creó en su sistema y determinar cuál es la unidad física. Vamos a suponer que su unidad está montada como /dev/sdb1. Entonces, el impulso físico sería /dev/sdb.

Luego, escriba lo siguiente desde una ventana de terminal para crear el .vmdkarchivo que apunta a la unidad USB:

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

O

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Entonces deberías ver algo similar a esto:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

Nota: Algunas personas han tenido problemas de propiedad del archivo recién creado. Tomar posesión del nuevo archivo:

sudo chown $USER:$USER ~/usb.vmdk

Entonces, todo lo que debe hacer es agregar el .vmdkarchivo a su máquina virtual VirtualBox y asegurarse de que puede iniciarlo.

ingrese la descripción de la imagen aquí

EDITAR:

Para agregar su usuario al vboxusersgrupo, ejecute el siguiente comando:

sudo usermod -a -G vboxusers username

Para agregar su usuario al diskgrupo, ejecute el siguiente comando:

Nota: Agregar su usuario al grupo de discos puede ser peligroso y un riesgo para la seguridad. Es tan peligroso como tener acceso a sudo para escribir en un disco sin formato.

sudo usermod -a -G disk username

Luego DEBE REINICIAR su sistema para que los cambios surtan efecto.

Antes de reiniciar:

ingrese la descripción de la imagen aquí

Después de reiniciar:

ingrese la descripción de la imagen aquí

¡Espero que esto ayude!


1
Recibí este error: VBoxManage: error: VMDK: no se pudo abrir el archivo de disco sin formato '/ dev / sdc' VBoxManage: error: Código de error VERR_WRITE_PROTECT en /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/VBox/ almacenamiento / VMDK.cpp (3390) en función int vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) VBoxManage: error: no se puede crear el disco VMDK prima: VERR_WRITE_PROTECT VBoxManage: error: el archivo vmdk disco sin procesar no fue creado
John

@John ¿Agregaste tu cuenta al diskgrupo, luego saliste y volviste a iniciar o reiniciaste después de agregar el grupo?
Terrance

Sí, lo reinicio y el evento si lo ejecuto como resultado raíz es el mismo ...
John

2
funciona bien para mi Observaciones: no es necesario reiniciar, solo para cerrar sesión / iniciar sesión. Una vez en el grupo de discos, uno no debería necesitar usar sudo.
Karl Forner

1
Seguí las instrucciones, pero al intentar arrancar Windows 10 desde una unidad usb en virtualbox dice "FATAL: ¡No se pudo leer desde el medio de arranque! El sistema se detuvo". ¿Alguna sugerencia? ¡Gracias por tu ayuda!
Arch Linux Tux

15

Llegué a esta publicación hace solo unos días. No quiero usar Plop Boot Manager, porque mi memoria USB ya es de arranque.

Así que intenté apuntar la memoria USB a un disco VMDK (como en la respuesta de Terrance) creando vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Desafortunadamente, esto se negó a funcionar ... yo chmody chownel usb.vmdkdisco, por lo que pude conectarlo a una máquina virtual, pero simplemente no funcionó.

Finalmente, probé otra solución y esta ha funcionado perfectamente. Aquí está (gracias a Gean Santos por la investigación):

  1. Inserte una memoria USB e identifíquela (la mía es /dev/sdb, ejecutando Sabayon Linux);
  2. Cree un .vmdkdisco convirtiendo el dispositivo sin formato (es decir, la memoria USB) en un disco VirtualBox

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Ahora tiene un usb.vmdkdisco creado desde su memoria USB de arranque. También probé ddla memoria USB en un archivo de imagen y creé el .vmdkdisco a partir del archivo de imagen. Funciona, así como los .vdidiscos creados de la manera anterior (o desde el archivo de imagen)

  4. Ahora, otorgue permisos al disco creado para que VirtualBox pueda acceder al archivo. Solo significa cambiar el propietario del archivo a un usuario que esté en el grupo vboxusers . Si su instalación de VirtualBox se ejecuta bien, entonces este propietario probablemente, usted:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. Ahora, solo tiene que conectar el usb.vmdkdisco a una máquina virtual. Pero debe estar conectado a un controlador IDE . Lo intenté SATAsin éxito.

Un ejemplo de VM con un <code> usb.vmdk </code> de arranque conectado a un controlador IDE

En este punto, estás bien.

Simplemente inicie la nueva VM, presione F12y elija la unidad de arranque.

¡Disfrutar!


¿ Funciona esto con USB 3.0 (ver comentarios en askubuntu.com/questions/693719/… )?
chiflado sobre natty

Acabo de comprobar y básicamente copiaste tu memoria USB, y no usaste la memoria USB original de esta manera.
Fedcomp

11

La solución más fácil es copiar el contenido de la llave USB en un archivo iso (bueno, la próxima vez que descargue la iso en la máquina correcta, no se necesita una llave USB en primer lugar)

dd if=/dev/sdc of=myusbkey.iso

Y luego agregue este .iso como una unidad óptica en la configuración de VirtualBox, en Almacenamiento, Controlador: IDE (o SATA, supongo).

No es necesario hacer un archivo .vmdk, VirtualBox admite archivos .iso.


Esta respuesta debe estar en la parte superior.
McMutton

Estoy de acuerdo :-) Pero eso requiere aún más votos a favor;)
David Faure

La cuestión aquí es que si tiene una partición con una imagen de arranque de aproximadamente 40 GB, generará un archivo con ese tamaño 😅
Sposmen

Bien, pero todas las otras soluciones también lo hacen, ¿no?
David Faure

1
@DavidFaure La respuesta original sobre el uso de "VBoxManage internalcommands createrawvmdk ..." simplemente crea algo que podría considerar equivalente a un acceso directo a la unidad USB que ha conectado al sistema en el momento en que ejecuta el comando anterior. Por lo que no termina con un potencialmente enorme imagen de la memoria USB como se ha mencionado por user33845
ConceptRat

5

Sugeriría los siguientes pasos.

  1. Discos abiertos
  2. Busca el USB.
  3. Haga clic allí y en la esquina superior derecha verá un icono de configuración que tiene 3 líneas paralelas.
  4. Haga clic allí y elija Crear imagen de disco ...
  5. Seleccione la ubicación y haga clic en Crear . Creará un archivo .img que puede usar en VirtualBox.

2

No quería ejecutar Virtualbox como root. No quería que mi usuario fuera del grupo de discos, que tuviera permisos completos para todos los discos.

Así que aquí está lo que tengo que trabajar:

Averigüe qué SD es la tarjeta de memoria. En las siguientes instrucciones es sdc.

  • Desmontar Memory Stick

    su -
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    exit # Run the following command as regular user:
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    su - # Back as root again:
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • Adjunte usb.vmdk máquina virtualbox

    chmod 666 /dev/sdc
    
  • Iniciar máquina virtualbox
  • Una vez hecho esto, restablezca el permiso sdc1 por seguridad:

    chmod 660 /dev/sdc1
    

En lo anterior, puede ver que tuve que restablecer los permisos para la tarjeta de memoria varias veces, ya que cada vez se restablecía la raíz.

Estoy usando Mandriva Linux, pero debería ser lo mismo en Ubuntu


El permiso de violín aquí es un muy mal consejo. En primer lugar, lo está haciendo como root, por lo que realmente no necesita cambiar los permisos para que esos comandos funcionen. En segundo lugar, es mejor agregar el usuario apropiado al grupo de discos para que ni siquiera sea necesario.
Evan Teran

@ Evan Teran ¿Lo has probado? Y sí, el usuario es parte del grupo de discos. Este es el método que todavía uso hoy en día con mi propio sistema operativo Linux. Wayne Sallee Wayne@WayneSallee.com
Wayne Sallee

No dije que no funcionaría, dije que no es un buen consejo. Independientemente de los grupos de usuarios, si está ejecutando los comandos como root, ni siquiera debería necesitar manipular los permisos porque el acceso root de todos modos. Además, hacer archivos y carpetas con 777 y 666 es una mala práctica, no debe hacer que las cosas sean legibles o escribibles a menos que sea necesario.
Evan Teran

@ Evan Teran no es un buen consejo para ejecutar un programa como root, que no necesita ser root. El dispositivo de memoria solo está en funcionamiento durante un tiempo y no está en un servidor. Es una cuestión de dónde quieres arriesgar. Elijo poner el riesgo en la tarjeta de memoria en lugar del sistema. Wayne@WayneSallee.com
Wayne Sallee

Corrección: no he puesto a mi usuario en el grupo de discos. Wayne@WayneSallee.com
Wayne Sallee

1

Si su unidad USB es una unidad de arranque EFI, Plop Boot Manager no funcionará, ya que no es compatible con el arranque EFI. Lo que funcionó para mí en ese caso fue usar el administrador de arranque rEFInd ( http://www.rodsbooks.com/refind/ ).

  1. Descargue iso de arranque rEFInd desde http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download y descomprímalo.

  2. Abra la configuración de la máquina virtual en VirtualBox y adjunte el archivo ISO del CD de rEFInd.

  3. Asegúrese de que la opción "Habilitar EFI (solo sistemas operativos especiales)" en la configuración de la máquina virtual en la pestaña "Sistema" esté habilitada.

  4. Arranque la máquina virtual y debería ver rEFInd menú de arranque:

rEFInd menu

  1. Conecte su unidad USB en VirtualBox.

  2. Presione la tecla de retroceso para actualizar el menú o simplemente espere unos segundos y la unidad debería aparecer en el menú.

  3. Seleccione su unidad USB y presione enter y su unidad USB debería comenzar a arrancar.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.