web-dev-qa-db-fra.com

Pourquoi VirtualBox n’a-t-il pas pu trouver une machine enregistrée appelée Windows_7?

J'essaie de modifier le protocole TCP/UDP d'une machine virtuelle à l'aide de VBoxManage setextradata.

Chaque fois que je tape la commande:

Sudo VBoxManage setextradata Windows_7 "VBoxInternal/Périphériques/pcnet/0/LUN # 0/Configuration/guestEmule_TCP/Protocole" TCP

Je reçois l'erreur suivante:

Interface de gestion de ligne de commande de VirtualBox version 2.1.4 
 (C) 2005-2009 Sun Microsystems, Inc. 
 Tous droits réservés. 
 
 [!] ÉCHEC appelant un -> virtualBox-> FindMachine (Bstr (a-> argv [0]), machine.asOutParam ()) à la ligne 3688! 
 [!] RC principal = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - Objet correspondant aux arguments fournis n'existe pas 
 [!] Info d'erreur complète présente: true, information d'erreur de base présente: true 
 [!] Code de résultat = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - L'objet correspondant aux arguments fournis n'existe pas 
 [!] Text = Impossible de trouver une machine enregistrée nommée 'Windows_7' 
 [!] Composant = VirtualBox, Interface: IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde} 
 [!] Callee = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}

La machine virtuelle a été créée à l'aide de l'interface graphique. Une idée?

$ cd /Users/marco/Library/VirtualBox/Machines/Windows_7
$ ls 
 enregistre Windows_7.xml 
 Windows 7.xml.1.5-macosx.bak 
. $ Sudo vboxmanage registervm Windows_7.xml 
 Interface de gestion de ligne de commande VirtualBox version 2.1.4 
 (C) 2005-2009 Sun Microsystems, Inc. 
 Tous droits réservés. 
 
 [!] FAILED appelant a-> virtualBox-> OpenMachine (Bstr (a-> argv [0]), machine.asOutParam ()) à la ligne 762! 
 [!] RC primaire = NS_ERROR_FAILURE (0x80004005) - Échec de l'opération 
 [!] Information d'erreur complète présente: true, information d'erreur de base présente: true 
 [!] Code de résultat = NS_ERROR_FAILURE (0x80004005) - Opération échouée 
 [!] Text = Impossible de verrouiller le fichier de paramètres '/var/root/Library/VirtualBox/Windows_7.xml' (VERR_FILE_NOT_FOUND) 
 [!] Composant = Machine, Interface: Interface, IMachine, {ea6fb7ea-1993 -4642-b113-f29eb39e0df0} 
 [!] Callee = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
19
collimarco

Cela échoue parce que vous utilisez Sudo. VirtualBox est conçu pour être exécuté par n’importe quel utilisateur (dans le groupe vboxusers), et Sudo exécute la commande en tant qu’utilisateur racine dont la configuration VirtualBox est vide.

Vous pouvez vérifier cela en tapant:

Sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs
50
phihag

Pas une réponse directe, mais juste pour le mettre à la disposition des autres personnes qui le cherchent:

Sous Mac OS X , vous pouvez indiquer à VirtualBox de charger les ordinateurs virtuels à partir du répertoire de base d'un autre utilisateur, à condition que les autorisations de fichiers le permettent, ou si vous exécutez VirtualBox en tant qu'utilisateur root à l'aide de Sudo (par exemple, si vous devez absolument accéder à vos fichiers). Serveur Web de l'hôte sur le port 80). 

Pour ce faire, définissez VBOX_USER_HOME de manière appropriée, par exemple.

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox

Si vous voulez exécuter VBoxHeadless sous root, utilisez:

Sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox Nohup \
   VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &
1
youurayy

SOLUTION_1 :

La technologie virtuelle manquante pourrait en être la raison. Pour les systèmes Intel, ils ont Intel VT-x (pour AMD, ils ont AMD-V), assurez-vous qu'il est activé. Vous pouvez l'activer dans l'écran de démarrage, allez à BIOS Setup dans lequel recherchez Configuration système tab et activez Technologie virtuelle

 snapshot .

SOLUTION_2

Ouvrez terminal ou cmd (Exécuter en tant qu'administrateur) pour Windows, et exécutez SC START VBOXDRV. S'il indique que le service est déjà en cours d'exécution, essayez alors SC STOP VBOXDRV, puis SC START VBOXDRV.

0
Udit_1

J'ai eu un message d'erreur similaire, chaque fois que j'ai utilisé Sudo pour démarrer VBoxSDL:

Error: machine with the given name not found!
Check if this VM has been corrupted and is now inaccessible.

Et semblable à la réponse de ypocat , je l'ai résolue pour Ubuntu en utilisant un petit script comme celui-ci:

#!/bin/bash
export VBOX_USER_HOME=/home/username/.config/VirtualBox
VBoxSDL --startvm nameOfVM

Vous pouvez l’utiliser chaque fois que vous devez démarrer votre VM en tant que root.

0
rivar