Comment attacher un disque dur virtuel à l'aide de VBoxManage?

19

Quelle est la meilleure méthode pour définir le disque dur virtuel (VDI) du contrôleur principal pour une machine virtuelle existante?

La syntaxe change-t-elle si le VDI est vraiment un disque de différenciation enfant d'un autre disque parent? Avez-vous besoin d'attacher le VDI parent puis le VDI enfant d'une manière ou d'une autre?

Situation:

J'ai une machine virtuelle existante - je veux remplacer le disque dur qu'il utilise pour démarrer - par un autre disque dur virtuel normal ou éventuellement un disque de différenciation. Cela peut-il être fait avec VBoxManage?

Adam
la source

Réponses:

4

Je crois que cela devrait le faire pour un disque dur virtuel.

VBoxManage modifyvm winxp-web-dev --hda "/home/vbox/.VirtualBox/HardDisks/my_new_disk.vdi"

(C'est comme ça que je fais quand je crée des vm à partir de la console)

Jontas
la source
Je pense que ce n'est pas une façon valable de le faire. Pendant que j'essaye votre suggestion, je reçois une VBoxManage: error: Unknown option: -hdaerreur.
Sencer H.
2
Devrait y avoir des doubles inconvénients. (A travaillé le 4.1.6)
Jontas
25

Assez vieille question mais voici comment je le fais:

VBoxManage storageattach my-vm-name \
                         --storagectl "SATA Controller" \
                         --device 0 \
                         --port 0 \
                         --type hdd \
                         --medium /path/to/my-new.vdi

Cela suppose que vous souhaitez remplacer l'ancien disque. Si vous souhaitez simplement ajouter un autre disque, utilisez un autre port, par exemple 1 si vous n'avez qu'un seul disque (sur le port 0). Veuillez noter que vous pouvez également ajouter des disques (ou des images cd / dvd) à "IDE Controller".

calas
la source
1

Je veux juste ajouter à @calas avec une VM gérée par vagrant (exécutée dans le dossier VM et remplacer sandbox_default_par le préfixe de votre nom de VM):

VBoxManage storageattach `VBoxManage list vms | grep \"sandbox_default_ | awk '{print $2;}'` --storagectl SATA --port 0 --type hdd --medium box-disk1.vmdk
Martin Tapp
la source
0

Je ne sais pas si vous pouvez le faire via VBoxManage, je l'ai toujours changé via l'interface graphique après avoir utilisé CloneHD, vous répondez peut-être dans le manuel VBoxManage

M. Shoubs
la source
0

Vous devez d'abord ajouter de contoller sur votre machine vm:

vboxmanage storagectl YourVMNameOrID --name "SATA Controller" --add sata --controller IntelAHCI --portcount 1 --bootable on

puis attachez l'image du disque dur virtuel au contrôleur de stockage:

vboxmanage storageattach YourVMNameOrID --storagectl "SATA Controller" --device 0 --port 0 --type hdd --medium YourVirtualHardDiskImage.vdi 
rüff0
la source