web-dev-qa-db-fra.com

Comment démarrer à partir d'un lecteur USB dans VirtualBox?

La question est simple et directe:

Comment démarrer à partir d'un lecteur USB dans VirtualBox?

EDIT:

J'ai attaché usb à VirtualBox comme indiqué dans la capture d'écran.

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

Mais il n’est pas possible de démarrer à partir d’un lecteur USB même une fois connecté (référence) .

Je voudrais donc savoir s’il existe une autre possibilité de démarrer à partir d’une clé USB?

70
Ravan

VirtualBox ne prend pas en charge le démarrage à partir d'un périphérique USB. Pour démarrer à partir d'un périphérique USB, un autre chargeur de démarrage est requis. Les étapes ci-dessous fournissent un moyen possible d'y parvenir:

  1. Télécharger Gestionnaire de démarrage Plop (actuellement v5.0.15)
  2. Extrayez le fichier plpbt.iso de l’archive Zip et enregistrez-le quelque part.
  3. Ouvrez les paramètres de la machine virtuelle et attachez le fichier ISO:

    enter image description here

  4. Ajoutez un filtre pour le périphérique USB:

    enter image description here

  5. Démarrez le VM et sélectionnez l’option "USB" dans le menu:

    enter image description here

Si tout s'est bien passé, la machine devrait maintenant démarrer à partir du périphérique USB.

85
Nathan Osman

EDIT: 7 mars 2018

Quelque chose à noter ici. Le fait de laisser le lecteur USB dans l'ordinateur lors du redémarrage peut modifier la désignation de la lettre du lecteur /dev/sd, ce qui force le fichier brut usb.vmdk à pointer sur le lecteur incorrect, de sorte qu'il ne démarre pas dans VirtualBox. Comme test, j'en ai laissé un dans mon système. C'était /dev/sdi avant de redémarrer, après le redémarrage, c'était /dev/sdc. Lorsque vous redémarrez votre ordinateur pour apporter des modifications, veuillez retirer le lecteur USB avant de redémarrer. Je cherche à savoir si le disque brut peut être créé à partir de l'UUID du lecteur, car cela ne changera pas.


Etant donné que VirtualBox ne démarre pas sur des lecteurs USB, vous pouvez créer un fichier .vmdk qui pointe sur votre lecteur USB pour l’amorcer.

REMARQUE: Vous DEVEZ ajouter votre compte utilisateur au groupe vboxusers pour que VirtualBox puisse voir votre clé USB. Vous DEVEZ également ajouter votre compte au groupe disk également, ou vous ne pouvez pas ajouter le fichier .vmdk à votre machine virtuelle. Ajout des instructions ci-dessous dans EDIT. Cela ne copie pas non plus le lecteur USB sur le disque dur et utilise directement le périphérique USB. Cela peut être utile si vous souhaitez conserver la clé USB. Toutes les situations ne sont pas identiques, il est donc possible que cela ne fonctionne pas dans tous les cas.

Tout d'abord, vous devez avoir votre clé USB créée dans votre système et déterminer ce qu'est le lecteur physique. Nous allons supposer que votre lecteur est monté en tant que /dev/sdb1. Ainsi, le lecteur physique serait /dev/sdb.

Ensuite, tapez ce qui suit dans une fenêtre de terminal pour créer le fichier .vmdk qui pointe vers le lecteur USB:

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

Ou

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

Ensuite, vous devriez voir quelque chose de similaire à ceci:

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

Remarque: Certaines personnes ont eu des problèmes de propriété du fichier nouvellement créé. Prendre possession du nouveau fichier:

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

Ensuite, tout ce que vous avez à faire est d’ajouter le fichier .vmdk à votre machine virtuelle VirtualBox et de vous assurer que vous pouvez l’amorcer.

enter image description here

EDIT:

Pour ajouter votre utilisateur au groupe vboxusers, exécutez la commande suivante:

Sudo usermod -a -G vboxusers username

Pour ajouter votre utilisateur au groupe disk, exécutez la commande suivante:

Remarque: L'ajout de votre utilisateur au groupe de disques peut être dangereux et constituer un risque pour la sécurité. Il est aussi dangereux que d’avoir accès à Sudo pour écrire sur un disque brut.

Sudo usermod -a -G disk username

Ensuite, vous DEVEZ REDÉMARRER votre système pour que les modifications prennent effet.

Avant le redémarrage:

enter image description here

Après le redémarrage:

enter image description here

J'espère que cela t'aides!

50
Terrance

Je suis arrivé à ce poste il y a quelques jours à peine. Je ne souhaite pas utiliser Plop Boot Manager, car ma clé USB est déjà amorçable.

J'ai donc essayé de pointer la clé USB sur un disque VMDK (comme dans Terrance answer) en créant vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Malheureusement, cela a refusé de fonctionner ... J'ai chmod et chown le disque usb.vmdk, et j’ai donc pu l’attacher à un VM, mais cela ne fonctionnait tout simplement pas.

Enfin, j'ai essayé une autre solution et celle-ci a parfaitement fonctionné. La voici (merci à Gean Santos pour la recherche):

  1. Insérez la clé USB et identifiez-la (le mien est /dev/sdb, sous Sabayon Linux);
  2. Créez un disque .vmdk en en convertissant le périphérique brut (c'est-à-dire la clé USB) en un disque VirtualBox

    Sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Vous avez maintenant un disque usb.vmdk créé à partir de votre clé USB amorçable. J'ai aussi essayé dd la clé USB dans un fichier image et créer le disque .vmdk à partir du fichier image. Cela fonctionne, ainsi que les disques .vdi créés à l'ancienne (ou à partir du fichier image)

  4. Maintenant, accordez des autorisations au disque créé afin que VirtualBox puisse accéder au fichier. Cela signifie simplement changer le propriétaire du fichier en un utilisateur appartenant au groupe vboxusers . Si votre installation de VirtualBox fonctionne correctement, ce propriétaire le serait probablement:

    Sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. Maintenant, il vous suffit de connecter le disque usb.vmdk à une machine virtuelle. Mais il doit être associé à un contrôleur IDE . J'ai essayé SATA sans succès.

A VM example with a bootable <code>usb.vmdk</code> attached to an IDE controller

À ce stade, vous êtes OK.

Démarrez simplement la nouvelle machine virtuelle, appuyez sur F12 et choisissez le lecteur de démarrage.

Prendre plaisir!

15
Marcio H Zuchini

La solution la plus simple consiste à copier le contenu de la clé USB dans un fichier iso (enfin, la prochaine fois que je téléchargerai l'iso sur la bonne machine, aucune clé USB n'est nécessaire).

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

Ajoutez ensuite ce fichier .iso en tant que lecteur optique dans les paramètres de VirtualBox, sous Stockage, Contrôleur: IDE (ou SATA, je suppose).

Nul besoin de créer un fichier .vmdk, VirtualBox supporte les fichiers .iso.

11
David Faure

Je suggérerais les étapes suivantes.

  1. Disques ouverts.
  2. Cherchez la clé USB.
  3. Cliquez dessus et dans le coin supérieur droit, vous verrez une icône de paramètres comportant 3 lignes parallèles.
  4. Cliquez ici et choisissez Créer une image disque ...
  5. Sélectionnez l'emplacement et cliquez sur Créer. Il créera un fichier .img que vous pourrez utiliser dans VirtualBox.
5
Madhurjya Dasgupta

Je ne voulais pas exécuter Virtualbox en tant que root. Je ne voulais pas que mon utilisateur appartienne au groupe de disques et dispose des autorisations complètes sur tous les disques.

Alors voici ce que je dois travailler:

Découvrez ce qu'est la clé USB. Dans les instructions suivantes, il s'agit de sdcname__.

  • Démonter la clé USB

    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
    
  • Attacher la machine virtuelle usb.vmdk

    chmod 666 /dev/sdc
    
  • Démarrer la machine virtuelle
  • Ensuite, réinitialisez l’autorisation sdc1 pour la sécurité:

    chmod 660 /dev/sdc1
    

Dans ce qui précède, vous pouvez voir que j'ai dû réinitialiser plusieurs fois les autorisations de la clé USB, car elle serait réinitialisée à la racine à chaque fois.

J'utilise Mandriva Linux, mais cela devrait être à peu près le même dans Ubuntu

2
Wayne Sallee