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

Comment accéder à une carte SD à partir d'une machine virtuelle ?

Je veux formater une carte SD à partir de ma machine virtuelle Linux. J'ai un lecteur carte SD intégré dans mon ordinateur portable. J'ai essayé d'utiliser VirtualBox et VMware Player et j'ai installé Ubuntu 10.04 guest. Aucun d'entre eux ne présente le lecteur de carte SD comme un appareil. Je peux accéder à la carte SD depuis l'hôte Windows.

Je ne suis pas intéressé par les solutions utilisant des dossiers partagés car je veux accéder à la carte SD en tant que matériel (elle devrait apparaître dans /dev).

Je veux essentiellement configurer la carte SD pour BeagleBoard , mais je ne veux pas installer un Ubuntu physique sur mon PC.

Réponses (11)

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

Sur les nouveaux MacBook Pro, la fente pour la carte SD n'est plus exposée comme un dispositif USB. Pour cette raison, vous devrez attacher le périphérique brut à la VM afin d'obtenir un accès brut à la carte entière. La documentation complète se trouve dans la section Advanced Storage Configuration de la documentation de VirtualBox.

Comme indiqué clairement dans les documents :

Attention - L'accès au disque dur brut est réservé aux utilisateurs experts. L'utilisation incorrecte ou l'utilisation d'une configuration obsolète peut entraîner la perte totale des données sur le disque physique. Surtout, n'essayez pas de démarrer la partition avec le système d'exploitation hôte en cours d'exécution chez un invité. Cela entraînera une grave corruption des données.

A titre indicatif, voici les étapes à suivre pour connecter le périphérique à une VM linux :

  1. Identifiez le périphérique de bloc disque brut sur votre système hôte

  2. Ouvrez l'utilitaire de disque et “démontez” le volume. Ne l’“éjectez” pas. Notez que vous devrez peut-être démonter le volume de temps en temps au cours des étapes suivantes, car j'ai découvert qu'OSX le remontait automatiquement au hasard.

  3. Maintenant, nous configurons VirtualBox pour qu'il prenne en compte le périphérique brut avec la commande suivante dans le Terminal.

  4. Ensuite, nous attachons le disque brut à une VM invitée dans l'interface utilisateur de VirtualBox

  5. Démarrez la VM

  6. Selon que vous disposez ou non d'une interface graphique, la carte SD peut ou non être montée automatiquement. Si vous avez besoin de la monter manuellement, elle est simplement exposée comme un autre bloc de périphérique standard, donc pour mon invité, elle a été exposée sous la forme /dev/sdb.


Mise à jour

Il semble que certaines personnes puissent avoir des difficultés à accéder au périphérique brut à l'étape 3.2 ou 4.6. Les tentatives d'exécution de certaines commandes avec sudo n'aideront pas car VirtualBox fonctionnera comme votre utilisateur connecté et ne pourra toujours pas accéder au périphérique brut correct ou au fichier vmdk généré.

Les étapes suivantes devraient vous aider, bien que je ne les ai pas testées.

  1. vérifiez que le compte que vous utilisez sous OSX dispose de privilèges d'administrateur dans la section Préférences système/Utilisateurs. Il y a de fortes chances que ce soit aussi le compte principal du système pour l'accès aux périphériques bruts pour le travail.
  2. Vérifiez les permissions du disque brut

Mise à jour #2

Il s'avère qu'OSX Mountain Lion a créé le périphérique avec les privilèges “root:operator” et les permissions 0640. Malheureusement pour l'instant, la seule façon d'accéder à ce dispositif est de le “sudo chown $USER” à votre utilisateur actuel chaque fois que vous insérez le dispositif, mais ce n'est pas recommandé à moins que vous ne compreniez vraiment ce que vous faites. Il est à espérer qu'Apple ou VirtualBox trouveront une solution plus adaptée.

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

Réponse pour les utilisateurs de Windows

  1. Obtenez le DeviceID de votre lecteur de carte SD.

  2. Créez le fichier de lien vers la carte SD

  3. Suivez les étapes 4-6 de la réponse de JinnKo, la seule modification mineure est que vous devez démarrer VirtualBox en tant qu'administrateur

  1. Ensuite, nous attachons le disque brut à une VM invitée dans l'interface utilisateur de VirtualBox
  2. Assurez-vous que la VM invitée est éteinte.
  3. S'assurer que VirtualBox n'est pas en cours d'exécution
  4. Démarrer VirtualBox en cliquant avec le bouton droit de la souris et en choisissant “Run as administrator ”
  5. Ouvrez la zone de paramètres pour la VM invitée
  6. Cliquez sur “Storage” dans la barre d'outils
  7. À côté du contrôleur, cliquez sur l'icône “Ajouter un disque dur”
  8. Sélectionnez “Choisir un disque existant”
  9. Naviguez jusqu'au /path/to/file.vmdk que vous avez utilisé à l'étape 3 et sélectionnez-le
  10. Vous devriez maintenant être renvoyé à l'onglet “Stockage” et voir votre file.vmdk dans la liste.
  11. Démarrez la VM
  12. Selon que vous avez une interface graphique ou non, la carte SD peut ou non se monter automatiquement. Si vous avez besoin de la monter manuellement, elle est simplement exposée comme un autre périphérique de bloc standard, donc pour mon invité, elle a été exposée comme /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

Il est fort probable que les extensions vous manquent si votre lecteur SD utilise votre contrôleur USB.

Sous Fichier > Préférences, suivez l'image. Ajoutez et pointez sur l'extension téléchargée.

Redémarrez votre machine virtuelle et vous devriez avoir accès aux périphériques USB.

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

J'utilise Kubuntu 15.04, VirtualBox 4.3.26

Cela suppose que le périphérique de la carte sd est /dev/mmcbl0 , et que la sortie .vdk sera sd-card.vmk :

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

Pas sûr que ce soit le meilleur moyen de corriger les autorisations, mais ça a marché :

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

Maintenant, allez dans les paramètres de la VM, sélectionnez Storage, cliquez sur Controller:Sata, cliquez sur l'icône pour Add Hard Disk, sélectionnez votre .vdk (sd-card.vmdk dans ce cas)

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

Sur les nouveaux MacBook Pro, la fente pour carte SD n'est plus exposée comme un périphérique USB

Pour surmonter ce problème, il suffit d'utiliser un lecteur de carte mémoire USB externe (c'est-à-dire un adaptateur carte SD vers USB) au lieu d'un lecteur de carte intégré. Votre carte SD sera ainsi exposée comme un périphérique USB, ce qui vous permettra de la monter facilement comme n'importe quel périphérique USB. Ce sont des dispositifs bon marché et seraient une solution acceptable compte tenu de tous les problèmes que cela pose dans l'autre sens.

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

J'ai eu beaucoup de mal à faire fonctionner la solution de JinnKo, principalement parce que j'étais sur Mountain Lion (OS X 10.8) … Mais avec son aimable assistance, j'ai résolu les problèmes.

La solution complète est détaillée ici .

Cependant, l'essence de ma solution - pour les utilisateurs de Mountain Lion - est la suivante (utilisez les étapes de JinnKo ci-dessus, mais insérez mon étape ici avant d'exécuter la commande ‘VBoxManage internalcommands createrawvmdk […]’ (c'est-à-dire entre ses étapes 2 & 3) :

** Surtout pour Mtn Lion ** Assurez-vous que vous êtes le propriétaire de ce périphérique. Sur 10.8 Mtn Lion, vous constaterez probablement que vous ne l'êtes pas. Vérifiez en le faisant :

ls -l /dev/disk*

Avec le “*” vous verrez TOUS vos périphériques de disque, vous pouvez aussi faire : ls -l /dev/diskX pour voir juste “X”, par exemple, je l'ai fait :

ls -l /dev/disk5

Sur Mtn Lion ( 10.8.x ), vous verrez quelque chose comme

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

Où “X” est votre numéro de périphérique, comme le “5” dans /dev/disk5 …

Sur Lion ( 10.7.x ), Snow Leopard (10.6.x ), ou peut-être des versions antérieures d'OS X, vous verrez probablement quelque chose comme - si votre nom d'utilisateur est “brad” :

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

Où ‘X’ est votre numéro de périphérique, comme le ‘5’ dans /dev/disk5 … Si vous êtes le propriétaire, alors tout va bien, il n'y a rien à faire ici, passez à l'étape suivante, c'est-à-dire l'étape de création (dans les superbes instructions de @JinnKo ci-dessus).

Si vous n'êtes pas le propriétaire (mais que “root” ou un autre utilisateur l'est), alors soit (a) connectez-vous en tant qu'utilisateur admin, soit (b) faites ce qui suit (encore une fois, soyez très sûr que vous utilisez le bon numéro/lettre d'appareil ici !):

* ATTENTION * Ce qui suit est uniquement destiné à ceux qui veulent risquer de détruire définitivement des données sur leur disque dur ou leur clé USB. NE FAITES PAS ÇA si vous n'êtes pas sûr de savoir ce que vous faites :

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

* ATTENTION * NE FAITES PAS CECI si vous n'êtes pas sûr de savoir ce que vous faites. Ce qui précède s'adresse uniquement à ceux qui veulent prendre des risques en détruisant définitivement les données de leur disque dur ou de leur clé de stockage flash.

Vous devrez le faire pour TOUTES vos tranches (s1, s2, s3, … quel qu'en soit le nombre). Par exemple, mon nom d'utilisateur est “brad”, alors je l'ai fait : sudo chown brad /dev/disk5, puis sudo chown brad /dev/disk5s1, puis pour s2, et s3 (puisque j'avais déjà 3 partitions ou tranches existantes).

Si vous n'avez pas partitionné la carte SD, alors vous n'aurez peut-être à faire le sudo chown <your username> /dev/diskX qu'une seule fois (sans faire aucune des tranches/partitions)

J'espère que cela aidera d'autres pauvres utilisateurs de Mtn Lion !

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

Jusqu'à présent, je n'ai pas réussi à trouver un moyen de le faire directement, même avec un lecteur de carte USB (il met la carte sur /dev/dm-1 plutôt que sur le 0x6 attendu&).

Mon travail consistait à créer un lecteur virtuel de 4 Go dans VirtualBox. Cela pouvait ensuite (comme /dev/mmcblk1) prendre une installation de BeagleBoard Ubuntu comme documenté.

J'ai ensuite éteint la VM, l'ai convertie en fichier DD RAW et l'ai utilisée pour la mettre sur la carte : (sur le Mac hôte) :

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

(/dev/sdb dans mon cas, mais vérifiez trois fois car une erreur pourrait endommager votre disque dur).

La commande /dev/disk2 a pris environ 1 h 20 min !

J'espère que cela vous aidera. Je travaille toujours à un moyen plus simple et plus rapide - nous ne devrions pas avoir besoin de transférer 4 Go de données pour 600 Mo de système d'exploitation.

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

Comme l'a mentionné Kobaltz. Pour prendre en charge les versions USB 2.0 et 3.0, vous devez installer le Virtual Extension Pack. J'ai installé le 5.2.22 Oracle VM VirtualBox Extension Pack, et vous pouvez le télécharger à partir de la page de téléchargement de la Virtual Box. Une fois le fichier téléchargé, vous pouvez directement l'installer, le même sera ajouté à vos extensions Virtual Box.

Vous devez également ajouter votre carte SD aux filtres de périphériques dans notre Virtual Box, veuillez aller dans Paramètres - > USB -> Cliquez sur l'option Ajouter une carte SD en pièce jointe.

Maintenant vous pourrez ajouter votre carte SD dans les filtres.

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

J'ai installé les fichiers du “Virtual Box Guest Additons CD”, mais mon lecteur de carte SD ne s'affichait pas dans ma machine virtuelle Windows XP. J'ai réussi à faire fonctionner le mien en activant le périphérique USB dans Virtual Box et en redémarrant la machine virtuelle.

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

Pour moi, la solution a été d'allumer un périphérique USB avec une carte SD, en utilisant Devices -> USB devices ->My card reader, et après quelques secondes de nouveaux disques apparaissent dans ma VM.

J'ai déjà installé le VirtualBox Extensions Pack avant cela.

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

Pour toute personne utilisant des macros et suivant les réponses précédentes, si vous ne pouvez toujours pas accéder à sd card en raison d'un problème de permission,

lancez virtualbox avec sudo pour résoudre le problème.

sudo VirtualBox

Remarquez que le chemin d'accès aux fichiers vm est différent, dans mon cas, il l'est :

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

Si cela ne fonctionne toujours pas, changez le propriétaire et l'accès du disque de la carte sd, respectivement pour votre compte utilisateur et 666.