Pourquoi pourrait VirtualBox pas trouver une machine enregistrée nommée windows_7?

StackOverflow https://stackoverflow.com/questions/565680

  •  05-09-2019
  •  | 
  •  

Question

Je suis en train de changer TCP / UDP d'une machine virtuelle en utilisant VBoxManage setextradata.

Chaque fois que je tape la commande:

sudo VBoxManage setextradata Windows_7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestEmule_TCP/Protocol" TCP

Je reçois l'erreur suivante:

VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->FindMachine(Bstr(a->argv[0]), machine.asOutParam()) at line 3688!
[!] Primary RC  = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - Object corresponding to the supplied arguments does not exist
[!] Full error info present: true , basic error info present: true 
[!] Result Code = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - Object corresponding to the supplied arguments does not exist
[!] Text        = Could not find a registered machine named 'Windows_7'
[!] Component   = VirtualBox, Interface: IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
[!] Callee      = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}

La machine virtuelle a été créée en utilisant l'interface graphique. Toute idée?

$ cd /Users/marco/Library/VirtualBox/Machines/Windows_7
$ ls
Logs                Windows_7.xml
Windows 7.xml.1.5-macosx.bak
$ sudo vboxmanage registervm Windows_7.xml
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->OpenMachine(Bstr(a->argv[0]), machine.asOutParam()) at line 762!
[!] Primary RC  = NS_ERROR_FAILURE (0x80004005) - Operation failed
[!] Full error info present: true , basic error info present: true 
[!] Result Code = NS_ERROR_FAILURE (0x80004005) - Operation failed
[!] Text        = Could not lock the settings file '/var/root/Library/VirtualBox/Windows_7.xml' (VERR_FILE_NOT_FOUND)
[!] Component   = Machine, Interface: IMachine, {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!] Callee      = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
Était-ce utile?

La solution

Il échoue parce que vous utilisez sudo. VirtualBox est conçu pour être exécuté par un utilisateur quelconque (dans le groupe vboxusers) et sudo exécute la commande en tant que super-utilisateur dont la configuration VirtualBox est vide.

Vous pouvez vérifier en tapant:

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

Autres conseils

Pas une réponse directe, mais juste de le mettre là-bas pour d'autres personnes à la recherche pour elle:

Mac OS X , vous pouvez dire VirtualBox charger des machines virtuelles à partir du répertoire d'un autre utilisateur, à condition que les autorisations de fichiers permettent, ou si vous utilisez VirtualBox en tant qu'utilisateur root à l'aide sudo (par exemple si vous devez absolument accéder au serveur Web de votre hôte sur le port 80).

La façon de le faire est de mettre VBOX_USER_HOME appropriée, par exemple.

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox

Si vous voulez exécuter VBoxHeadless sous la racine, utilisez:

sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox nohup \
   VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &

J'ai eu un message d'erreur semblable, chaque fois que je sudo pour commencer VBoxSDL:

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

similaire à ypocat réponse de , je l'ai résolu pour Ubuntu à l'aide d'un petit script comme ceci:

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

Vous pouvez l'utiliser chaque fois que vous devez commencer votre VM comme root.

SOLUTION_1 :

manque la technologie virtuelle pourrait être la raison. Pour les systèmes Intel, ils ont Intel VT-x (pour AMD ils ont AMD-V), alors assurez-vous qu'il est activé. Vous pouvez l'activer dans l'écran de démarrage allez à BIOS dans ce regard pour la configuration du système et activer Virtual Technology

.

SOLUTION_2 :

Ouvrir le terminal ou cmd (Exécuter en tant qu'administrateur) pour de Windows , et exécuter SC START VBOXDRV. Si elle dit que le service est en cours d'exécution puis essayez SC STOP VBOXDRV puis SC START VBOXDRV.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top