2009-02-19 9 views
17

Ich versuche TCP/UDP einer virtuellen Maschine mit VBoxManage setextradata zu ändern.Warum konnte VirtualBox keinen registrierten Computer namens Windows_7 finden?

Jedes Mal, wenn ich den Befehl geben:

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

ich die folgende Fehlermeldung erhalten:

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}

Die virtuelle Maschine unter Verwendung von GUI erstellt wurde. Irgendeine Idee?

$ 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}
+2

Ich sehe nicht, wie das eine Programmierfrage ist. – GEOCHET

+0

Auch ich kann sehen, dass dies keine Programmierfrage ist, und ich sehe keine Hoffnung dafür, es auch zu machen :) –

Antwort

41

Es schlägt fehl, weil Sie Sudo verwenden. VirtualBox ist so konzipiert, dass es von jedem Benutzer (in der Gruppe vboxusers) ausgeführt werden kann, und sudo führt den Befehl als Root-Benutzer aus, dessen VirtualBox-Konfiguration leer ist.

können Sie prüfen, ob durch die Eingabe:

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

wirklich? Ich betreibe Windows, aber das ist praktisch zu wissen. –

+1

@Daniel Rosenstark Unter Windows würde das auch passieren - wenn du runas benutzt (Und wahrscheinlich sudo auf cygwin). – phihag

+0

Danke! Ich hätte nie gedacht, dass das Problem Sudo ist. – collimarco

1

keine direkte Antwort, aber nur um es dort für sie die Suche nach anderen Menschen löschen:

Auf Mac OS X, können Sie Informieren Sie VirtualBox, um VMs aus dem Home-Verzeichnis eines anderen Benutzers zu laden, sofern die Dateiberechtigungen dies zulassen, oder wenn Sie VirtualBox als Root-Benutzer mit sudo ausführen (z. B. wenn Sie unbedingt auf den Web-Server Ihres Hosts an Port 80 zugreifen müssen).

Der Weg dies zu tun ist, VBOX_USER_HOME in geeigneter Weise einzustellen, z.B.

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox 

Wenn Sie VBoxHeadless unter root ausführen möchten, verwenden Sie:

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

hatte ich eine ähnliche Fehlermeldung, wenn ich sudo verwendet VBoxSDL zu starten:

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

Und ähnlich wie ypocat 's Antwort, löste ich es für Ubuntu mit einem kleinen Skript wie folgt:

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

Sie können es verwenden, wenn Sie Ihre VM als root beginnen müssen.

0

SOLUTION_1:

Virtual Technology fehlt könnte der Grund sein. Für Intel-Systeme haben sie Intel VT-x (für AMD haben sie AMD-V), also stellen Sie sicher, dass es aktiviert ist. Sie können es in der Boot-Bildschirm BIOS-Setup in diesem Blick für Systemkonfiguration Registerkarte und aktivieren Virtual Technology

snapshot gehen können.

SOLUTION_2:

Öffnen Sie das Terminal oder cmd (Ausführen als Administrator) für Windows- und SC START VBOXDRV laufen. Wenn der Dienst bereits ausgeführt wird, versuchen Sie es mit SC STOP VBOXDRV und dann mit SC START VBOXDRV.

Verwandte Themen