为什么VirtualBox找不到名为Windows_7的注册计算机?

为什么VirtualBox找不到名为Windows_7的注册计算机?,virtualbox,Virtualbox,我正在尝试使用VBoxManage setextradata更改虚拟机的TCP/UDP 每当我键入命令时: sudo VBoxManage setextradata Windows_7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestEmule_TCP/Protocol" TCP sudo VBoxManage setextradata Windows_7“VBoxInternal/Devices/pcnet/0/LUN#0/Config/gues

我正在尝试使用VBoxManage setextradata更改虚拟机的TCP/UDP

每当我键入命令时:

sudo VBoxManage setextradata Windows_7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestEmule_TCP/Protocol" TCP 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} VirtualBox命令行管理界面版本2.1.4 (C) 2005-2009太阳微系统公司。 版权所有。 [!]在第3688行调用a->virtualBox->FindMachine(Bstr(a->argv[0]),machine.asOutParam()失败! [!]主RC=VBOX\u E\u对象未找到(0x80BB0001)-与提供的参数对应的对象不存在 [!]完整错误信息显示:true,基本错误信息显示:true [!]结果代码=未找到VBOX_E_对象(0x80BB0001)-与提供的参数对应的对象不存在 [!]Text=找不到名为“Windows_7”的注册计算机 [!]Component=VirtualBox,接口:IVirtualBox,{339abca2-f47a-4302-87f5-7bc324e6bbde} [!]被调用方=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} $cd/Users/marco/Library/VirtualBox/Machines/windows7 $ls 日志Windows_7.xml Windows 7.xml.1.5-macosx.bak $sudo vboxmanage registervm Windows_7.xml VirtualBox命令行管理界面版本2.1.4 (C) 2005-2009太阳微系统公司。 版权所有。 [!]在第762行调用a->virtualBox->OpenMachine(Bstr(a->argv[0]),machine.asOutParam()失败! [!]主RC=NS\U错误\U故障(0x80004005)-操作失败 [!]完整错误信息显示:true,基本错误信息显示:true [!]结果代码=NS\U错误\U故障(0x80004005)-操作失败 [!]Text=无法锁定设置文件“/var/root/Library/VirtualBox/Windows_7.xml”(找不到VERR_文件) [!]组件=机器,接口:IMachine,{ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!]Callee=IVirtualBox,{339abca2-f47a-4302-87f5-7bc324e6bbde}由于您使用的是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

这不是一个直接的答案,只是为了让其他搜索它的人知道:

在Mac OS X上,您可以告诉VirtualBox从另一个用户的主目录加载虚拟机,前提是文件权限允许,或者您正在以根用户身份使用
sudo
(例如,如果您必须访问端口80上主机的web服务器)

方法是适当设置
VBOX\u USER\u 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 &
sudo VBOX\u USER\u HOME=/Users/your\u USER\u id/Library/VirtualBox nohup\
VBoxHeadless-s“IE10-Win7”/dev/null&

每当我使用
sudo
启动
VBoxSDL
时,我都会收到类似的错误消息:

Error: machine with the given name not found!
Check if this VM has been corrupted and is now inaccessible.
与的答案类似,我使用如下小脚本为Ubuntu解决了这个问题:

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

您可以在需要以
root
身份启动
VM
时使用它解决方案\u 1

缺少虚拟技术可能是原因。对于英特尔系统,他们有英特尔VT-x(对于AMD,他们有AMD-V),因此请确保它已启用。您可以在引导屏幕中启用它,进入查看系统配置选项卡中的BIOS设置并启用虚拟技术

解决方案2

打开Windows的终端或cmd(以管理员身份运行),然后运行
SC START VBOXDRV
。如果它说服务已经在运行,那么请尝试
SC STOP VBOXDRV
,然后
SC START VBOXDRV

!!只有窗户

如果您不在管理员帐户上,并且试图在管理员cmd窗口中修改您的VM,请键入以下命令:

cd“C:\Program Files\Oracle\VirtualBox”

VBOXManageRegisterVM“C:\Users\Your Name Here\VirtualBox VMs\Your VM Name Here\Your VM Name Here.vbox”


现在运行您的虚拟盒修改命令或您正在执行的任何其他操作,它应该可以工作

我看不出这是一个编程问题。即使我也能看出这不是一个编程问题,我也看不出有希望成为编程问题:)真的吗?我正在运行Windows,但这很容易知道。@Daniel Rosenstark在Windows上,这也会发生-如果您使用runas(可能还有cygwin上的sudo)。谢谢!我从来没有想到问题出在sudo上。@phihag,当我们在这里时,难道没有办法运行sudo并保留当前用户吗?sudo-s-H还是什么?确认我在Windows上运行cmd.exe时遇到了这个问题,并使用@phihag的“以管理员身份运行”