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

72

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?

Ravan
la source
Vous pouvez simplement ouvrir votre clé USB, tout compresser dans un fichier ISO et le démarrer normalement.
Tutbrus dat
@Ravan - ne pas oublier que souvent les utilisateurs n'attachent pas dans gparted la propriété "boot" à la clé USB. C'est dans le menu 'partition' de gparted et vous pouvez éditer le drapeau resp. l'étiquette de la clé USB et activez le paramètre "boot".
dschinn1001
1
@dattutbrus Cela ne fonctionnera pas si vous souhaitez modifier des fichiers sur une clé USB
Paul

Réponses:

89

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 le gestionnaire de démarrage Plop (actuellement v5.0.15)
  2. Extrayez le fichier plpbt.isode l’archive ZIP et enregistrez-le quelque part.
  3. Ouvrez les paramètres de la machine virtuelle et attachez le fichier ISO:

    entrez la description de l'image ici

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

    entrez la description de l'image ici

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

    entrez la description de l'image ici

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

Nathan Osman
la source
1
C'est certainement une réponse plus facile que la mienne. Je l'aime! J'aimerais pouvoir voter plus. =)
Terrance
3
Cette réponse devrait inclure le fait que vous devez faire partie du groupe vboxusers .
MusiKk
6
Ca ne marche pas pour moi Quand je sélectionne USB, j'attends pour toujours avec son écran. Une idée? postimg.org/image/dv8w83pi3
Jean
6
Je voulais ajouter que Plop Boot Manager ne prend officiellement en charge que EHCI. Si vous êtes comme moi et que vous essayez d'utiliser un lecteur USB 3.0 avec Plop Boot Manager, cela ne fonctionnera pas. Vous pouvez essayer d’utiliser la méthode mentionnée dans l’autre article, mais VirtualBox ne semble pas non plus très friand de travailler avec des vmdks bruts à partir de périphériques USB 3.0. Si vous ne disposez que de ports USB 3 sur votre ordinateur, vous pouvez commander un concentrateur USB 2.0 et connecter le lecteur par ce biais. Il se comportera essentiellement comme un lecteur USB 2.0.
fakedad
3
Si vous combinez cette solution avec la solution VMDK, vous pouvez obtenir des performances USB natives. Sinon, cela ne fonctionne qu'avec USB 1.1.
Will Bickford
50

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 /dev/sddésignation de la lettre usb.vmdkdu lecteur, ce qui force le fichier brut à pointer sur le lecteur incorrect afin qu'il ne démarre pas dans VirtualBox. Comme test, j'en ai laissé un dans mon système. C'était /dev/sdiavant que je redémarre, 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.


Étant donné que VirtualBox ne démarre pas sur des lecteurs USB, vous pouvez créer un .vmdkfichier pointant sur votre lecteur USB.

REMARQUE: vous DEVEZ ajouter votre compte utilisateur au vboxusersgroupe pour que VirtualBox puisse voir votre clé USB. Vous DEVEZ également ajouter votre compte au diskgroupe, ou vous ne pouvez pas ajouter le .vmdkfichier à 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 .vmdkfichier 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 .vmdkfichier à votre machine virtuelle VirtualBox et de vous assurer que vous pouvez l’amorcer.

entrez la description de l'image ici

MODIFIER:

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

sudo usermod -a -G vboxusers username

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

Remarque: Ajouter votre utilisateur au groupe de disques peut être dangereux et constituer un risque pour la sécurité. Il est aussi dangereux que d’avoir un 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 de redémarrer:

entrez la description de l'image ici

Après le redémarrage:

entrez la description de l'image ici

J'espère que cela t'aides!

Terrance
la source
1
J'ai eu cette erreur: VBoxManage: erreur: VMDK: impossible d'ouvrir le fichier de disque brut '/ dev / sdc' VBoxManage: erreur: code d'erreur VERR_WRITE_PROTECT dans /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/ stockage / VMDK.cpp (3390) dans la fonction int vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) VBoxManage: erreur: Impossible de créer le VMDK de disque brut: VERR_WRITE_PROTECT VBoxManage: erreur: le fichier VMDK de disque brut n'a pas été créé
John
@John Avez-vous ajouté votre compte au diskgroupe, puis vous êtes déconnecté puis reconnecté ou redémarré après avoir ajouté le groupe?
Terrance
Oui, je le redémarre et un événement si je l'exécute car le résultat racine est identique ...
John
2
fonctionne bien pour moi. Remarques: il n'est pas nécessaire de redémarrer, il suffit de se déconnecter / se connecter. Une fois dans le groupe de disques, il ne devrait pas être nécessaire d’utiliser sudo.
Karl Forner le
1
J'ai suivi les instructions, mais lorsque vous essayez de démarrer Windows 10 à partir de usb-drive dans virtualbox, il indique "FATAL: Impossible de lire à partir du support de démarrage! Le système est arrêté.". Aucune suggestion? Merci de votre aide!
Arch Linux Tux
15

Je suis venu à ce poste il y a quelques jours. Je ne veux 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 ... moi chmodet chownle usb.vmdkdisque, et j'ai donc pu le connecter à une machine virtuelle, mais cela n'a tout simplement pas fonctionné.

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 (la mienne /dev/sdbtourne sous Sabayon Linux);
  2. Créez un .vmdkdisque en convertissant le périphérique brut (c.-à-d. La clé USB) en un disque VirtualBox

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Vous avez maintenant un usb.vmdkdisque créé à partir de votre clé USB amorçable. J'ai aussi essayé ddla clé USB à un fichier image et créer le .vmdkdisque à partir du fichier image. Cela fonctionne, ainsi que les .vdidisques 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. Il ne vous reste plus qu'à connecter le usb.vmdkdisque à une machine virtuelle. Mais il doit être attaché à un contrôleur IDE . J'ai essayé SATAsans succès.

Exemple de machine virtuelle avec un <code> usb.vmdk </ code> amorçable attaché à un contrôleur IDE

À ce stade, vous êtes OK.

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

Prendre plaisir!

Marcio H Zuchini
la source
Est-ce que cela fonctionne avec USB 3.0 (cf. commentaires ici askubuntu.com/questions/693719/… )?
Noisette à propos de natty
Je viens de vérifier et vous avez essentiellement copié votre clé USB, sans utiliser la clé USB originale de cette façon.
Fedcomp
11

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 requise en premier lieu).

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.

David Faure
la source
Cette réponse devrait être au sommet.
McMutton
Je suis d'accord :-) Mais cela nécessite encore plus de votes;
David Faure
La chose ici est que si vous avez une partition avec une image de démarrage d'environ 40 Go, elle générera un fichier de cette taille Sp
Sposmen
Oui, mais toutes les autres solutions le font aussi, n'est-ce pas?
David Faure
1
@DavidFaure La réponse originale à propos de l'utilisation de "VBoxManage internalcommands createrawvmdk ..." crée simplement quelque chose qui pourrait être considéré comme équivalent à un raccourci vers la clé USB que vous avez connectée au système au moment de l'exécution de la commande ci-dessus. Donc, vous ne vous retrouvez pas avec une image potentiellement énorme de la clé USB, comme mentionné par user33845
ConceptRat 10/10
5

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.
Madhurjya Dasgupta
la source
2

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 de toutes les autorisations pour tous les disques.

Alors voici ce que je dois travailler:

Découvrez ce qu'est la clé USB. Dans les instructions suivantes c'est sdc.

  • 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

Wayne Sallee
la source
La permission de jouer ici est un très mauvais conseil. Tout d'abord, vous le faites en tant qu'utilisateur root, vous n'avez donc pas besoin de modifier les autorisations pour que ces commandes fonctionnent. Deuxièmement, il est préférable d’ajouter l’utilisateur approprié au groupe de disques afin que cela ne soit même pas nécessaire.
Evan Teran
@ Evan Teran L'avez-vous même essayé? Et oui l'utilisateur fait partie du groupe de disques. C'est la méthode que j'utilise encore aujourd'hui avec mon propre système d'exploitation Linux. Wayne Sallee [email protected]
Wayne Sallee
Je n'ai pas dit que ça ne marcherait pas, j'ai dit que ce n'était pas un bon conseil. Quels que soient les groupes d'utilisateurs, si vous exécutez les commandes en tant que root, vous ne devriez même pas avoir besoin de perdre du temps avec les autorisations, car l'accès root existe quand même. Aussi, créer des fichiers et des dossiers avec 777 et 666 est une mauvaise pratique, vous ne devriez pas rendre les choses lisibles ou inscriptibles à moins que cela ne soit nécessaire.
Evan Teran
@ Evan Teran Ce n'est pas un bon conseil d'exécuter un programme en tant que root, il n'est pas nécessaire qu'il soit root. La clé USB n’est que pour un petit bout de temps et elle n’est pas sur un serveur. C'est une question de savoir où vous voulez mettre le risque. Je choisis de mettre le risque sur la clé USB plutôt que sur le système. [email protected]
Wayne Sallee
Correction: je n'ai pas placé mon utilisateur dans le groupe de disques. [email protected]
Wayne Sallee
1

Si votre lecteur USB est un lecteur de démarrage EFI, Plop Boot Manager ne fonctionnera pas car il ne prend pas en charge le démarrage EFI. Dans ce cas, ce qui a fonctionné pour moi, c’est d’utiliser le gestionnaire de démarrage rEFInd ( http://www.rodsbooks.com/refind/ ).

  1. Téléchargez isof amorçable de rEFInd à l' adresse http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download et décompressez-le.

  2. Ouvrez les paramètres de la machine virtuelle dans VirtualBox et joignez le fichier ISO du CD de rEFInd.

  3. Assurez-vous que l'option "Activer EFI (OS spéciaux uniquement)" dans les paramètres de la machine virtuelle de l'onglet "Système" est activée.

  4. Démarrez la machine virtuelle et vous devriez voir le menu de démarrage rEFInd:

menu retour

  1. Connectez votre clé USB à VirtualBox.

  2. Appuyez sur backspace pour actualiser le menu ou attendez quelques secondes et le lecteur devrait apparaître dans le menu.

  3. Sélectionnez votre clé USB et appuyez sur Entrée et votre clé USB devrait commencer à démarrer.

Leszek Szary
la source