Mon VM dans la virtualbox ne peut pas démarrer en raison de cette erreur. Je ne souhaite pas le détruire et le réinstaller, mais comment le récupérer?
Une erreur s'est produite lors de l'exécution de VBoxManage
, une CLI utilisée par Vagrant pour contrôler VirtualBox. La commande et stderr sont illustrés ci-dessous.
Command: ["modifyvm", "319fcce3-e8ff-4b6f-a641-3aee1df6543f", "--natpf1", "delete", "ssh"]
Stderr: VBoxManage: error: The machine 'centos64_c6402_1454036461345_59755' is already locked for a session (or being unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee nsISupports
VBoxManage: error: Context: "LockMachine(a->session, LockType_Write)" at line 493 of file VBoxManageModifyVM.cpp
Exécuter ceci sur la ligne de commande a déverrouillé la VM:
vboxmanage startvm <vm-uuid> --type emergencystop
Où <vm-uuid>
est le numéro indiqué dans le message d'erreur: Command: ["modifyvm", "<vm-uuid>" [...]
. Après cela, j'ai pu contrôler le VM (démarrer, arrêter, etc.). Utilisation de Virtualbox 4.1 sur Ubuntu.
Ayant le même problème, j'ai constaté qu'il y avait un processus en cours d'exécution verrouillant la machine virtuelle:
501 79419 79323 0 2:18PM ?? 0:39.75 /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless --comment default --startvm 1d438a2e-68d7-4ba2-bef9-4ea162913c1b --vrde config
Assurez-vous de ne pas avoir un processus bloqué pour essayer de démarrer la machine virtuelle:
ps -ef | grep -i "vbox"
Pour moi, je devais tuer le processus VboxHeadless.exe dans le gestionnaire de tâches. Je devais également m'assurer que l'invite CMD était ouverte en mode administratif.
Dans le gestionnaire de tâches Windows, j'ai mis fin à toutes les tâches liées à Virtual Box (vous pouvez voir qu'elles commencent par un V dans le gestionnaire de tâches tel que Vbox Headless.exe, etc.). Une fois que j'ai fait cela, j'ai pu faire disparaître cette erreur (les solutions ci-dessus 'vboxmanage startvm ... etc ...' ici ne fonctionnaient pas pour moi).
J'ai trouvé cette réponse de @Gonzalez très intéressante
vboxmanage startvm <vm-uuid> --type emergencystop
Le seul problème étant qu'il ferme l'instance actuelle de ma machine virtuelle, au lieu d'utiliser modifyvm
, vous pouvez utiliser controlvm
si la machine virtuelle en cours est en cours d'exécution.
Par exemple:
VBoxManage modifyvm <vm_name> --natpf1 "guestssh,tcp,,22,,2222"
VBoxManage modifyvm <vm_name> --natpf1 delete "guestssh"
Devenir:
VBoxManage controlvm <vm_name> natpf1 "guestssh,tcp,,22,,2222"
VBoxManage controlvm <vm_name> natpf1 delete "guestssh"
Documentation complète ici https://www.virtualbox.org/manual/ch08.html#vboxmanage-controlvm
Si vous avez une fenêtre de paramètres ouverte pour cette zone dans l'interface graphique de VirtualBox, vous pouvez rencontrer cette erreur. Fermez simplement la fenêtre de configuration et réessayez.
Sudo pkill -9 VBox
tue tout ce qui tourne autour de vbox
J'ai rencontré le même message d'erreur aujourd'hui:
>me@myhost:~$ ps -ef | grep -i "vbox"
me 3064 1 0 08:51 ? 00:00:00 /usr/lib/virtualbox/VBoxXPCOMIPCD
me 3089 1 0 08:51 ? 00:00:00 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
me 3126 3089 27 08:51 ? 00:00:39 /usr/lib/virtualbox/VBoxHeadless --comment RHEL5 64-bit desktop --startvm e5c598d8-1234-4003-a7c1-b9d8af15dfe7 --vrde config
me 3861 3415 0 08:53 pts/1 00:00:00 grep --color=auto -i vbox*
La réponse de Gergely le résout parfaitement. Il s'est avéré que j'ai une crontab définie au redémarrage pour démarrer la machine virtuelle, ce qui a lancé le processus trois VBox illustré ci-dessus
me@myhost:~$ crontab -l
@reboot me /usr/bin/vboxmanage startvm "RHEL5 64-bit desktop" --type headless
La seule option qui a fonctionné pour moi a été de tuer tous les processus correspondant à ps axl | grep -i vbox.
Dans mon cas, la cause apparente était un adaptateur USB Ethernet qui avait été retiré après la suspension de la machine. Dans mon cas,
vboxmanage startvm <vm-uuid> --type emergencystop
n'a pas aidé. Au lieu de cela, j'ai reçu le message déroutant que
VBoxManage: error: The machine 'xyzzy' is not locked by a session
La véritable erreur a été révélée en exécutant
vboxmanage startvm <vm-uuid> --type gui
qui est revenu
VBoxManage: error: Nonexistent Host networking interface, name 'en9: USBPlug' (VERR_INTERNAL_ERROR)
Changer la configuration du réseau en une autre carte réseau a résolu le problème.