2009-02-19 79 views
17

我正在尝试使用VBoxManage setextradata更改虚拟机的TCP/UDP。为什么VirtualBox找不到名为Windows_7的注册机器?

每当我键入命令:

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

我得到以下错误:

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}

虚拟机一直使用GUI创建。任何想法?

$ 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

我不明白这是一个编程问题。 – GEOCHET 2009-02-19 15:02:57

+0

即使我可以看到,这不是一个编程问题,而且我也没有希望使它成为一个:) – 2009-02-19 15:48:56

回答

41

由于您使用的是sudo而失败。 VirtualBox设计为由任何用户(在vboxusers组中)运行,并且sudo以VirtualBox配置为空的根用户身份运行该命令。

您可以检查通过键入:

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

没有直接回答,只是把它在那里为别人寻找它:

的Mac OS X,你可以告诉VirtualBox从其他用户的主目录加载虚拟机,前提是文件权限允许,或者以root用户身份使用sudo(例如,如果您绝对必须通过端口80访问主机的Web服务器)运行VirtualBox。

要做到这一点的方法是适当地设置VBOX_USER_HOME,例如,

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox 

如果你想运行在根VBoxHeadless,使用方法:

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

我有一个类似的错误消息,每当我用sudo开始VBoxSDL

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

而且类似ypocat的回答,我解决了它的Ubuntu使用这样一个小脚本:

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

每当你需要启动​​为root你可以使用它。

0

SOLUTION_1

缺少虚拟技术可能是原因。对于英特尔系统他们有英特尔VT-x(对于AMD他们有AMD-V),所以请确保它已启用。您可以启用它在开机画面去BIOS设置在找系统配置选项卡并启用虚拟技术

snapshot

SOLUTION_2

打开终端或CMD为(如运行管理员)视窗,并运行SC START VBOXDRV。如果它表示该服务已在运行,请尝试SC STOP VBOXDRV,然后尝试SC START VBOXDRV

相关问题