28

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

每当我输入命令时:

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

我收到以下错误:

VirtualBox 命令行管理界面版本 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
版权所有。

[!] 在第 3688 行调用 a->virtualBox->FindMachine(Bstr(a->argv[0]), machine.asOutParam()) 失败!
[!] Primary RC = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - 对应于提供的参数的对象不存在
[!] 存在完整错误信息:true,存在基本错误信息:true
[!] 结果代码 = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - 对应于提供的参数的对象不存在
[!] Text = 找不到名为“Windows_7”的已注册机器
[!] 组件 = VirtualBox,接口:IVirtualBox,{339abca2-f47a-4302-87f5-7bc324e6bbde}
[!] 被调用者 = IVirtualBox,{339abca2-f47a-4302-87f5-7bc324e6bbde}

虚拟机是使用 GUI 创建的。任何的想法?

$ cd /Users/marco/Library/VirtualBox/Machines/Windows_7
$ ls
记录 Windows_7.xml
Windows 7.xml.1.5-macosx.bak
$ sudo vboxmanage registervm Windows_7.xml
VirtualBox 命令行管理界面版本 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
版权所有。

[!] 在第 762 行调用 a->virtualBox->OpenMachine(Bstr(a->argv[0]), machine.asOutParam()) 失败!
[!] Primary RC = NS_ERROR_FAILURE (0x80004005) - 操作失败
[!] 存在完整错误信息:true,存在基本错误信息:true
[!] 结果代码 = NS_ERROR_FAILURE (0x80004005) - 操作失败
[!] Text = 无法锁定设置文件 '/var/root/Library/VirtualBox/Windows_7.xml' (VERR_FILE_NOT_FOUND)
[!] 组件 = 机器,接口:IMachine,{ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!] 被调用者 = IVirtualBox,{339abca2-f47a-4302-87f5-7bc324e6bbde}
4

7 回答 7

67

它失败了,因为您使用的是 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
于 2009-02-19T15:45:22.750 回答
3

不是直接的答案,只是为了让其他人搜索它:

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

这样做的方法是VBOX_USER_HOME适当地设置,例如

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox

如果要VBoxHeadless在 root 下运行,请使用:

sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox nohup \
   VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &
于 2014-03-03T15:42:17.223 回答
3

!!仅限视窗!!

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

cd "C:\Program Files\Oracle\VirtualBox"

VboxManage registervm "C:\Users\Your Name Here\VirtualBox VMs\Your VM name here\Your VM name here.vbox"

现在运行您的虚拟框修改命令或您正在做的其他任何事情,它应该可以工作!

于 2020-10-27T16:39:59.733 回答
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

您可以在需要启动VMas时使用它root

于 2014-07-29T10:02:05.067 回答
0

SOLUTION_1

缺少虚拟技术可能是原因。对于 Intel 系统,它们具有 Intel VT-x(对于 AMD,它们具有 AMD-V),因此请确保已启用它。您可以在启动屏幕中启用它,进入BIOS 设置,在其中查找系统配置选项卡并启用虚拟技术

快照.

解决方案_2

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

于 2016-04-13T21:47:38.940 回答
0

除了其他命令之外, RealScar解决方案还帮助了我,它也可以在 Ubuntu 20.04 中使用。

我最初遇到了问题(VirtualBox 无法找到已注册的机器)。打字后我没有得到任何结果sudo VBoxManage -nologo list vms,所以我手动注册了现有的机器打字sudo vboxmanage registervm /home/user/VirtualBox\ VMs/machinenamefolder/machinename.vbox。效果很好。

注意:我正在创建 Cuckoo 恶意软件沙盒分析。

于 2021-11-01T20:33:00.000 回答
-1

如果有人在 ubuntu 中删除了配置文件并且无法从 vbox gui 或终端打开虚拟机,只需打开虚拟机文件夹并使用 virtualbox 打开文件(“机器名”.vbox),它将被注册

于 2021-10-26T07:05:36.317 回答