Sur les MacBook Pro les plus récents, la fente pour carte SD n'est plus exposée comme un périphérique 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 le Configuration avancée du stockage de la documentation de VirtualBox.
Comme indiqué clairement dans les docs :
Avertissement - L'accès au disque dur brut est réservé aux utilisateurs experts. Utilisation incorrecte ou utilisation d'une configuration périmée peut conduire à la perte totale des données sur le disque physique. . Plus important encore, n'essayez pas de démarrer la partition avec le système d'exploitation hôte en cours d'exécution dans un invité. Cela entraînerait une grave corruption des données.
A titre de guide rapide, voici les étapes à suivre pour attacher le dispositif à une VM Linux :
-
Identifiez le périphérique de bloc de disque brut sur votre système hôte.
-
Insérez la carte SD dans la fente
-
Ouvrez un terminal et tapez "mount". Vous verrez une sortie identifiant le volume monté de votre carte SD. Sur mon système, j'obtiens ce qui suit
$ mount
/dev/disk1 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk2s1 on /Volumes/NO NAME (msdos, local, nodev, nosuid, noowners)`
-
Dans mon cas, le volume "NO NAME" est la carte SD, donc je prends note de l'adresse de la carte SD. /dev/disk2s1
partie. Dans ce cas particulier, le s1
représente une partition (tranche) sur le périphérique brut, donc la partie que nous utiliserons plus tard est juste la partie /dev/disk2
partie.
-
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 constaté qu'OSX le remontait automatiquement au hasard.
-
Maintenant, nous configurons VirtualBox pour être conscient du périphérique brut avec la commande suivante dans le Terminal.
- Notez que le
/path/to/file.vmdk
peut être placé n'importe où, bien que ce soit une bonne idée de le stocker dans le dossier de la VM de l'invité, comme par exemple ~/VirtualBox VMs/guest-vm/sdcard.vmdk
-
Notez que le -rawdisk
que nous utilisons ne fait pas référence à la partition (tranche) mais uniquement au périphérique de bloc dans son ensemble.
$ VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/disk2
-
Ensuite, nous attachons le disque brut à une VM invitée dans l'interface utilisateur de VirtualBox.
- Assurez-vous que la VM invitée n'est pas en cours d'exécution.
- Ouvrez la zone de paramètres pour la VM invitée
- Cliquez sur "Stockage" dans la barre d'outils
- A côté du contrôleur, cliquez sur l'icône "Ajouter un disque dur".
- Sélectionnez "Choisir un disque existant".
- Naviguez jusqu'au
/path/to/file.vmdk
que vous avez utilisé à l'étape 3 et sélectionnez-le
- Vous devriez maintenant être renvoyé à l'onglet Stockage et voir vos
file.vmdk
dans la liste.
-
Démarrer la VM
-
Selon que vous avez une interface graphique ou non, la carte SD peut ou non se monter automatiquement. Si vous devez la monter manuellement, elle est simplement exposée comme un autre périphérique bloc standard, donc sur mon invité, elle était exposée comme /dev/sdb.
Update
Il semble que certaines personnes aient 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 sera exécuté en tant qu'utilisateur connecté et ne sera toujours pas en mesure d'accéder correctement au périphérique brut ou au fichier vmdk généré.
Les étapes suivantes devraient vous aider, bien que je ne les aie pas testées.
- Vérifiez que le compte que vous utilisez sous OSX dispose des privilèges d'administrateur dans la section Préférences système/Utilisateurs. Il y a de fortes chances qu'il s'agisse également du compte principal sur le système pour que l'accès au périphérique brut fonctionne.
-
Vérifiez les permissions du disque brut
$ ls -l /dev/disk2
brw-r----- 1 jinn staff 14, 5 Aug 26 15:33 /dev/disk2
Ces autorisations doivent correspondre à votre compte d'utilisateur actuellement connecté :
$ id
uid=501(jinn) gid=20(staff) ...snip...
Les autorisations sur le périphérique doivent également permettre à votre compte utilisateur habituel de lire (r) et d'écrire (w) sur ce périphérique. NE MODIFIEZ PAS LES AUTORISATIONS SUR LE PÉRIPHÉRIQUE SAUF SI VOUS SAVEZ ABSOLUMENT CE QUE VOUS FAITES.
Mise à jour n°2
Il s'avère qu'OSX Mountain Lion a créé le périphérique avec les privilèges "root:operator" et les autorisations 0640. Malheureusement, pour l'instant, le seul moyen d'accéder à ce périphérique est de le "sudo chown $USER" à votre utilisateur actuel chaque fois que vous insérez le périphérique, mais ce n'est pas recommandé à moins que vous compreniez vraiment ce que vous faites. Nous espérons que Apple ou VirtualBox trouveront une solution plus adaptée.