2012-01-01 03:00:56 +0000 2012-01-01 03:00:56 +0000
66
66

¿Cómo acceder a una tarjeta SD desde una máquina virtual?

Quiero formatear una tarjeta SD desde mi máquina virtual Linux. Tengo un lector de tarjeta SD integrado en mi portátil. He intentado utilizar VirtualBox y VMware Player e instalar el invitado Ubuntu 10.04. Ninguno de ellos muestra el lector de tarjetas SD como dispositivo. Puedo acceder a la tarjeta SD desde el host de Windows.

No me interesan las soluciones que utilizan carpetas compartidas ya que quiero acceder a la tarjeta SD como hardware (debería aparecer en /dev).

Básicamente quiero configurar la tarjeta SD para BeagleBoard , pero no quiero instalar un Ubuntu físico en mi PC.

Respuestas (11)

56
56
56
2012-08-06 09:15:30 +0000

En los MacBook Pro más recientes, la ranura para tarjetas SD ya no está expuesta como un dispositivo USB. Debido a esto, tendrá que adjuntar el dispositivo sin procesar a la máquina virtual para obtener acceso sin procesar a toda la tarjeta. La documentación completa se encuentra en la sección Advanced Storage Configuration de la documentación de VirtualBox.

Como se indica claramente en la documentación:

Atención - El acceso al disco duro en bruto es sólo para usuarios expertos. El uso incorrecto o el uso de una configuración obsoleta puede llevar a la pérdida total de datos en el disco físico. Lo más importante es que no intente arrancar la partición con el sistema operativo anfitrión que se está ejecutando actualmente en un invitado. Esto conducirá a una severa corrupción de datos.

Como guía rápida estos son los pasos para adjuntar el dispositivo a una VM linux:

  1. Identifique el dispositivo de bloque de disco en bruto en su sistema anfitrión Abra la Utilidad de Discos y “Desmonte” el volumen. No lo “expulse”. Tenga en cuenta que es posible que tenga que desmontar el volumen de vez en cuando durante los siguientes pasos, ya que descubrí que OSX lo volvía a montar automáticamente de forma aleatoria.
  2. Ahora configuramos VirtualBox para que conozca el dispositivo raw con el siguiente comando en el Terminal.

  3. A continuación adjuntamos el disco raw a una VM invitada dentro de la UI de VirtualBox

  4. Iniciamos la VM

  5. Dependiendo de si tienes una GUI o no la tarjeta SD puede o no montarse automáticamente. Si necesitas montarla manualmente, simplemente se expone como otro dispositivo de bloque estándar, así que en mi huésped estaba expuesta como /dev/sdb.


Actualización

Parece que algunas personas pueden tener problemas con el acceso al dispositivo raw en el paso 3.2 o 4.6. Los intentos de ejecutar algunos de los comandos con sudo no ayudarán, ya que VirtualBox se ejecutará como su usuario conectado y seguirá sin poder acceder al dispositivo raw correcto o al archivo vmdk generado.

Los siguientes pasos deberían ayudar, aunque no los he probado.

  1. Comprueba que la cuenta que utilizas en OSX tiene privilegios de administrador en la sección Preferencias del Sistema/Usuarios. Es muy probable que también deba ser la cuenta principal del sistema para que el acceso a los dispositivos sin procesar funcione.
  2. Comprueba los permisos del disco raw
  • *

Actualización #2

Resulta que OSX Mountain Lion creó el dispositivo con privilegios “root:operator” y permisos 0640. Desafortunadamente, por ahora la única manera de obtener acceso a este dispositivo es “sudo chown $USER” a su usuario actual cada vez que inserte el dispositivo, sin embargo, esto no se recomienda a menos que realmente entienda lo que está haciendo. Esperemos que Apple o VirtualBox encuentren una solución más adecuada.

42
42
42
2013-08-14 15:35:08 +0000

Respuesta para usuarios de Windows

  1. Obtenga el DeviceID de su lector de tarjetas SD.

  2. Crea el archivo de enlace a la tarjeta SD

  3. Sigue los pasos 4-6 de la respuesta de JinnKo, el único ajuste menor es que necesitas iniciar VirtualBox como Administrador

  1. A continuación, adjuntamos el disco en bruto a una VM invitada dentro de la interfaz de usuario de VirtualBox
  2. Asegúrate de que la VM invitada está apagada.
  3. **
  4. Asegurarse de que VirtualBox no se está ejecutando**
  5. 3. Inicie VirtualBox haciendo clic con el botón derecho del ratón y seleccionando “Ejecutar como administrador ”
  6. Abra el área de configuración de la VM invitada. Abra el área de configuración de la máquina virtual invitada
  7. Haga clic en “Almacenamiento” en la barra de herramientas
  8. 6. Junto al controlador, haz clic en el icono de “Añadir disco duro”
  9. Selecciona “Elegir disco existente”
  10. 8. Navegue hasta el /path/to/file.vmdk que utilizó en el paso 3 y selecciónelo
  11. Ahora debería volver a la pestaña de almacenamiento y ver su file.vmdk en la lista.
  12. Inicie la VM
  13. Dependiendo de si tiene una GUI o no, la tarjeta SD puede o no montarse automáticamente. Si necesitas montarla manualmente, simplemente se expone como otro dispositivo de bloque estándar, por lo que en mi huésped estaba expuesta como /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

Lo más probable es que te falten las extensiones si tu lector SD está usando tu controlador USB.

En Archivo \N> Preferencias, siga el pic. Añadir y apuntar a la extensión descargada.

Reinicie su máquina virtual y debería tener acceso a los dispositivos USB.

4
4
4
2015-05-01 18:49:41 +0000

Estoy usando Kubuntu 15.04, VirtualBox 4.3.26

Esto supone que el dispositivo de la tarjeta sd es /dev/mmcbl0 , y el .vdk de salida será sd-card.vmk :

sudo VBoxManage internalcommands createrawvmdk -filename ./sd-card.vmdk -rawdisk /dev/mmcblk0

No estoy seguro de que esta sea la mejor manera de arreglar los permisos, pero funcionó:

sudo chmod 777 /dev/mmcblk0
sudo chmod 777 ./sd-card.vmdk

Ahora ve a la Configuración de la VM, selecciona Almacenamiento, haz clic en Controlador:Sata, haz clic en el icono de Añadir Disco Duro, selecciona tu .vdk (sd-card.vmdk en este caso)

4
4
4
2014-02-13 12:41:45 +0000

En los MacBook Pro más recientes, la ranura para tarjetas SD ya no está expuesta como un dispositivo USB

Para superar este problema, simplemente puede utilizar un lector de tarjetas de memoria USB externo (es decir, un adaptador de tarjeta sd a usb) en lugar del lector de tarjetas integrado. Este expondrá tu tarjeta sd como un dispositivo USB para que puedas montarla fácilmente como cualquier dispositivo usb. Son dispositivos baratos y sería una solución aceptable teniendo en cuenta todas las molestias de la otra manera.

3
3
3
2012-08-15 02:43:13 +0000

Tuve muchos problemas para conseguir que la solución de JinnKo funcionara, principalmente debido a que estoy en Mountain Lion (OS X 10.8) … Pero con su amable ayuda, he resuelto los problemas.

La solución completa es detallada aquí .

Sin embargo, la esencia de mi solución - para los usuarios de Mountain Lion - es la siguiente (utilice los pasos de JinnKo arriba, pero inserte mi paso aquí antes de ejecutar el comando ‘VBoxManage internalcommands createrawvmdk […]’ (es decir, entre sus pasos 2 y 3):

*\N-Particularmente para Mtn Lion *\N-Asegúrese de que es el propietario de este dispositivo. En 10.8 Mtn Lion, probablemente encontrará que no lo es. Compruébalo haciendo:

ls -l /dev/disk*

Con el ‘*’ verás TODOS tus dispositivos de disco, también puedes hacer: ls -l /dev/diskX para ver sólo ‘X’, por ejemplo, yo lo hice:

ls -l /dev/disk5

En Mtn Lion ( 10.8.x ) verás algo como:

brw-r----- 1 root operator 1, <today's date/time> /dev/diskX

Donde ‘X’ es su número de dispositivo, como el ‘5’ en /dev/disk5 …

En Lion ( 10.7.x ), Snow Leopard (10.6.x ), o quizás versiones anteriores de OS X, usted - si su nombre de usuario es ‘brad’- probablemente verá algo como:

brw-r----- 1 brad operator 1, <today's date/time> /dev/diskX

Donde ‘X’ es su número de dispositivo, como el ‘5’ en /dev/disk5 … Si usted es el propietario, entonces todo está bien, nada que hacer aquí, vaya al siguiente paso, es decir, el paso createrawvmdk (en las grandes instrucciones de @JinnKo arriba).

Si usted no es el propietario (pero sí lo es ‘root’ o algún otro usuario), entonces (a) inicie sesión como ese usuario administrador o (b) haga lo siguiente (de nuevo, ¡esté muy seguro de que está usando el número/letra de dispositivo correcto aquí!):

***** PRECAUCIÓN *** Lo siguiente es sólo para aquellos que quieren arriesgarse a destruir permanentemente los datos de su disco duro o unidad de almacenamiento flash. NO_ HAGA ESTO si no está seguro de saber lo que está haciendo:

sudo chown <your username> /dev/disk5
sudo chown <your username> /dev/disk5s1

***** PRECAUCIÓN \N - NO HAGA ESTO si no está seguro de saber lo que está haciendo. Lo anterior es sólo para aquellos que quieran ARRIESGARSE a destruir permanentemente los datos de su disco duro o unidad de almacenamiento flash.

Tendrás que hacerlo para TODOS tus slices (s1, s2, s3, … por muchos que sean). Por ejemplo, mi nombre de usuario es ‘brad’, así que lo hice: sudo chown brad /dev/disk5, luego sudo chown brad /dev/disk5s1, luego para s2, y s3 (ya que tenía 3 particiones o slices existentes).

Si no has hecho la partición de la tarjeta SD, entonces puede que sólo tengas que hacer el sudo chown <your username> /dev/diskX una vez (sin hacer ninguna de las rebanadas/particiones)

¡Espero que esto ayude a otros pobres usuarios de Mtn Lion por ahí!

1
1
1
2012-04-25 06:24:35 +0000

Hasta ahora no he encontrado la forma de hacerlo directamente, ni siquiera con un lector de tarjetas USB (pone la tarjeta en /dev/dm-1 en lugar del esperado /dev/mmcblk1).

Mi solución fue crear una unidad virtual de 4 GB en VirtualBox. Esto podría entonces (como /dev/sdb) tomar una instalación de BeagleBoard Ubuntu como está documentado.

Luego cerré la VM, la convertí en un archivo RAW DD y usé DD para ponerla en la tarjeta: (en el Mac anfitrión):

VBoxManage clonehd UbuntuBeagleImage.vdi UbuntuBeagleImage.dd --format RAW
sudo dd if=UbuntuBeagleImage.dd of=/dev/rdisk(NUMBER) bs=1m

(/dev/disk2 en mi caso, pero hay que triplicar la comprobación ya que si te equivocas puedes estropear el disco duro).

El comando dd me llevó 1 hora y 20 minutos.

Espero que esto ayude. Todavía estoy trabajando en una forma más fácil y rápida - no deberíamos necesitar transferir 4 GB de datos para 600 MB de SO.

0
0
0
2018-11-27 09:48:54 +0000

Como mencionó kobaltz. Para soportar las versiones USB 2.0 y 3.0 necesitas instalar el Virtual Extension Pack, yo instalé el 5.2.22 Oracle VM VirtualBox Extension Pack, y lo puedes descargar desde la página de descargas de Virtual Box. Una vez que descargues el archivo, puedes ir directamente a instalarlo, el mismo se añadirá a tus extensiones de Virtual Box.

También debe añadir su tarjeta SD a los filtros de dispositivos en nuestro Virtual Box, por favor vaya a Configuración - > USB -> Haga clic en la opción Añadir tarjeta SD adjunta.

Ahora podrá ver su tarjeta SD en los filtros.

Vaya a los Archivos y vea las carpetas de la tarjeta SD (yo uso la distribución Linux de Ubuntu)

0
0
0
2016-02-16 19:55:43 +0000

Instalé los archivos del “Virtual Box Guest Additons CD”, pero mi lector de tarjetas SD no aparecía en mi Máquina Virtual de Windows XP. Conseguí que el mío funcionara habilitando el dispositivo USB en Virtual Box y luego reiniciando la máquina virtual.

0
0
0
2014-06-14 15:40:36 +0000

Para mí la solución fue encender el dispositivo USB con la tarjeta SD, usando Devices -> USB devices ->My card reader, y después de unos segundos aparecen nuevos discos en mi VM.

He instalado VirtualBox Extensions Pack antes de eso.

0
0
0
2019-04-03 14:15:22 +0000

Para quien esté usando macos y siga las respuestas anteriores, si sigue sin poder acceder a la tarjeta sd por un problema de permisos, con

ejecutar virtualbox con sudo se soluciona.

sudo VirtualBox

Fíjate que la ruta de los archivos de la vm es diferente, en mi caso es:

/private/var/root/VirtualBox\ VMs/$VM_NAME/

Si aún así no funciona, cambia el owner y acess del disco de la tarjeta sd, por tu cuenta de usuario y 666, respectivamente.