我正在尝试使用VBoxManage setextradata更改虚拟机的TCP / UDP。
每当我输入命令时:
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}
它失败是因为你使用的是sudo。 VirtualBox设计为由任何用户(在vboxusers
组中)运行,sudo以VirtualBox配置为空的root用户身份运行命令。
你可以输入以下内容来检查:
sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs
不是直接的答案,而只是为了其他人搜索它而把它放在那里:
在Mac OS X上,您可以告诉VirtualBox从其他用户的主目录加载VM,前提是文件权限允许,或者如果您使用sudo
以root用户身份运行VirtualBox(例如,如果您必须访问主机的Web服务器)港口80)。
这样做的方法是适当地设置VBOX_USER_HOME
,例如
VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox
如果要在root下运行VBoxHeadless
,请使用:
sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox nohup \
VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &
每当我使用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
只要你需要启动VM
作为root
,你就可以使用它。