web-dev-qa-db-fra.com

VirtualBox: Comment puis-je ajouter (monter) un fichier image ISO à partir d'une ligne de commande?

Il y avait auparavant dans VirtualBox en ligne de commande une commande avec cette syntaxe:

VBoxManage controlvm <VM> dvdattach <filename>

Donc, attacher (insérer) un CD/DVD était aussi simple que:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Mais maintenant cette commande a disparu .
J'ai parcouru le Manuel VirtualBox et tout ce que j'ai trouvé est une commande storageattach , qui fait référence à un autre storagectl qui n'est pas assez concis (je déteste les docs sans exemples), aucun d'entre eux ne faisant référence à quelque chose comme . Fichiers ISO .
Je n'ai pas été en mesure de trouver une solution par son propre forum , du moins rien ne va plus loin que l'ambigu et explications non concises :

Une fois que vous avez le contrôleur en place avec storagectl (ou via l'interface graphique), jetez un coup d'œil à VBoxManage storageattach

Au lieu de commencer à tester les options au hasard, je préfère demander d’abord si quelqu'un a réussi à le faire et pourrait m'aider.

19

Tout d’abord, vérifiez si un lecteur de CD/DVD est installé, qu’il soit vide ou non (notez l’utilisation de la commande find pour filtrer les résultats):

1.- Y a-t-il un lecteur CD/DVDvide?

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty

Félicitations, vous avez trouvé un possible CD/DVDlecteur vide. Vous pouvez donc y attacher votre ISO, mais ...

... afin de faire face au pire scénario, montrons un autre moyen de trouver votre lecteur de CD/DVD, s'il est installé:

2.- Localisez le nom de votre VM:

C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}

3.- Lister ses contrôleurs de stockage(notez la commande find pour filtrer trop de données de sortie) (*):

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller name" /i
Storage Controller Name (0):            IDE
Storage Controller Name (1):            SATA

4.- Afficher ses périphériques connectés:

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0):            IDE

(Celui-ci est vide, il n'y a donc pas de contrôleur de périphérique, qu'il s'agisse de disques durs ou de lecteurs de CD/DVD)

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "SATA"
Storage Controller Name (1):            SATA
SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\SnapShots/{71b8bf72-dca1-4816-89ff-feba271ec262}.vmdk (UUID: 71b8bf72-dca1-4816-89ff-feba271ec262)
SATA (1, 0): Empty

SATA (0,0) a a(the) disque virtuel, et SATA (1,0) est vide(le premier chiffre entre parenthèses est appelé type, le second est device), il doit donc être le lecteur de CD/DVD.

5.- Permet à de lui associer un fichier image ISO(par exemple, Office 2013):

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(pas de résultats à l'écran signifie OK).

$ - Pour supprimer l'ISOconserver le contrôleur de lecteur de CD/DVD:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"

$ - Dans le cas où aucun contrôleur de lecteur de CD/DVD "vide" n'est installé, VirtualBox devrait en ajouter un nouveauà un contrôleur existant, en supposant que nous choisissions un port/périphérique non occupé. , par exemple pour le contrôleur SATA:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 5 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(notez que nous avons utilisé le port 5)
Et pour le IDE contrôleur:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(notez que nous avons utilisé (0,0), il s’agit du premier port et du premier périphérique)

$ - Si nous voulons supprimer(détruire) (n'importe lequel) des périphériques (exemple pour le dernier IDE un):

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"

(l'image ISO est démontée en même temps que l'exécution de cette commande).

$ - Enfin, si nous voulons créer un nouveau contrôleurau lieu d'utiliser le (s) existant (s) (exemple pour un contrôleur SATA que nous nommerons SATA3):

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata

$ - Et peut-être supprimantil plus tard:

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove

(*) Si le nom ne suffit pas (aurait pu être changé) pour déterminer quel type de contrôleurest-ce, essayez:

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller" /i
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      2

Comme nous pouvons le constater, le contrôleur nommé IDE (# 0) est un périphérique PIIX4 (IDE) et celui nommé SATA (# 1) est un IntelAhci (SATA).

REMARQUE: Les contrôleurs IDEacceptent les fichiers d’image possibles selon 4 configurations: (0,0), (0,1), (1,0) et (1,1). Choisissez celui qui n'est pas occupé. Contrôleurs SATAaccept 30. Ces paramètres peuvent être configurés dans les propriétés VM. Rappelez-vous que, dans les deux cas, le nombre commence à 0 et non pas 1.

REMARQUE 2: Certains périphériques peuvent être créés au cours de VM execution(en cours d'exécution), en fonction du système d'exploitation et du périphérique. Par exemple, les périphériques SATA peuvent être créés au moment de l'exécution pour les ordinateurs virtuels Windows 7. Quoi qu'il en soit, un fichier image ISO CD/DVD peut toujours être inséré à l'exécutionsur tout support vide. Vous pouvez vérifier l’exécution de vms en effectuant:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Merci à @ and31415 et @DanielB pour leurs commentaires et leurs informations.

8

Gérer le contrôleur IDE

Si la VM ne possède pas de contrôleur IDE, vous pouvez utiliser la commande storagectl pour en ajouter un:

VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide

Joindre un fichier image disque

Voici un exemple de syntaxe que vous pouvez utiliser pour joindre un fichier image de CD/DVD:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"

Détacher un fichier image disque

Pour détacher un fichier image, la syntaxe est similaire: il vous suffit de remplacer le chemin du fichier par "none". Le paramètre --type peut être omis:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"

Lectures complémentaires

22
and31415