Почему VirtualBox не может найти зарегистрированный компьютер с именем Windows_7? - PullRequest
19 голосов
/ 19 февраля 2009

Я пытаюсь изменить TCP / UDP виртуальной машины с помощью VBoxManage setextradata.

Всякий раз, когда я набираю команду:

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}

Виртуальная машина была создана с использованием графического интерфейса. Есть идеи?

$ 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}

Ответы [ 4 ]

52 голосов
/ 19 февраля 2009

Сбой, потому что вы используете sudo. VirtualBox предназначен для запуска любым пользователем (в группе vboxusers), и sudo запускает команду как пользователь root, чья конфигурация VirtualBox пуста.

Вы можете проверить это, набрав:

sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs
2 голосов
/ 03 марта 2014

Не прямой ответ, но просто для того, чтобы найти его для других людей, ищущих его:

В Mac OS X вы можете указать VirtualBox загружать виртуальные машины из домашнего каталога другого пользователя, при условии, что разрешения для файлов позволяют это, или если вы запускаете VirtualBox в качестве пользователя root с использованием sudo (например если вам абсолютно необходим доступ к веб-серверу вашего хоста через порт 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 &
0 голосов
/ 14 апреля 2016

SOLUTION_1

Причиной может быть отсутствие виртуальной технологии. Для систем Intel у них есть Intel VT-x (для AMD у них есть AMD-V), поэтому убедитесь, что он включен. Вы можете включить его на экране загрузки, перейти к Настройка BIOS , чтобы найти вкладку Конфигурация системы и включить Виртуальные технологии

snapshot.

SOLUTION_2 :

Откройте терминал или cmd (Запуск от имени администратора) для Windows и выполните SC START VBOXDRV. Если говорится, что служба уже запущена, попробуйте SC STOP VBOXDRV, а затем SC START VBOXDRV.

0 голосов
/ 29 июля 2014

У меня было похожее сообщение об ошибке всякий раз, когда я использовал 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.

...