2009-02-19 16 views
17

Sto provando a cambiare TCP/UDP di una macchina virtuale utilizzando VetestoGestione setextradata.Perché VirtualBox non può trovare una macchina registrata denominata Windows_7?

Ogni volta che digitare il comando:

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

ottengo il seguente errore:

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}

Il virtual-machine è stato creato utilizzando GUI. Qualche idea?

$ 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

Non vedo come questa sia una domanda di programmazione. – GEOCHET

+0

Anche io posso vedere che questa non è una domanda di programmazione, e non vedo alcuna speranza di farne una, sia :) –

risposta

41

Non riesce perché si sta utilizzando sudo. VirtualBox è progettato per essere eseguito da qualsiasi utente (nel gruppo vboxusers) e sudo esegue il comando come utente root la cui configurazione di VirtualBox è vuota.

È possibile verificare che digitando:

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

davvero? Sto usando Windows, ma questo è utile sapere. –

+1

@Daniel Rosenstark Su Windows, questo succederebbe anche - se hai usato runas (e probabilmente sudo su cygwin). – phihag

+0

Grazie! Non avrei mai pensato che il problema fosse sudo. – collimarco

1

Non è una risposta diretta, ma solo per mettere fuori là per altre persone alla ricerca di esso:

Su Mac OS X, si può indicare a VirtualBox di caricare le VM dalla home directory di un altro utente, a condizione che le autorizzazioni del file lo consentano oppure se si sta utilizzando VirtualBox come utente root utilizzando sudo (ad esempio, se è necessario accedere al server Web dell'host sulla porta 80).

Il modo per fare ciò è impostare VBOX_USER_HOME in modo appropriato, ad es.

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox 

Se si desidera eseguire VBoxHeadless sotto root, utilizzare:

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

ho avuto un messaggio di errore simile, ogni volta che ho usato sudo iniziare VBoxSDL:

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

e simile a Risposta ypocat, l'ho risolto per Ubuntu usando un piccolo script come questo:

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

Si può usare ogni volta che è necessario per iniziare la VM come root.

0

SOLUTION_1:

mancante tecnologia virtuale potrebbe essere il motivo. Per i sistemi Intel hanno Intel VT-x (per AMD hanno AMD-V), quindi assicurati che sia abilitato. È possibile attivare nella schermata di avvio andare a BIOS Setup in quello sguardo per scheda Configurazione sistema e consentire virtuale Tecnologia

snapshot.

SOLUTION_2:

Aprire terminale o cmd (Esegui come amministratore) per di Windows, ed eseguire SC START VBOXDRV. Se viene indicato che il servizio è già in esecuzione, provare a SC STOP VBOXDRV e quindi a SC START VBOXDRV.

Problemi correlati