Вопрос или проблема
Я пытаюсь запустить Cuckoo sandbox на своем Ubuntu 18.04 и заставил работать песочницы ВМ в безголовом режиме. Я хочу видеть STDOUT, когда программа выполняется, для этого я подумал, что включу режим GUI в virtualbox. Я включил режим GUI, отредактировав параметр mode в virtualbox.conf.
Затем я получаю следующую ошибку:
VBoxManage: error: The virtual machine '192.168.56.1011' has terminated unexpectedly during startup with exit code 1 (0x1)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
Я получаю ту же ошибку, когда пытаюсь запустить ВМ с использованием команды VBoxManage отдельно (без использования Cuckoo). Я видел, что эта ошибка была размещена многими людьми в Интернете, но предложенные решения не работали (кажется, что есть много причин, по которым эта ошибка может возникнуть).
Отдельная команда VBoxManage, которую я использовал:
VBoxManage startvm 192.168.56.1011 --type gui
Информация о системе: ОС: Ubuntu 18.04
$ uname -a
Linux 4.15.0-210-generic #221-Ubuntu SMP Tue Apr 18 08:32:52 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ VBoxManage --version
5.2.44r139111
Что я пробовал до сих пор:
- Установка пакетов dkms и virtualbox-ext-pack и выполнение
sudo /sbin/vboxconfig
- Убедиться, что у меня есть
~/.config/VirtualBox/VirtualBox.xml
и он не пустой - Предложения, указанные в VBoxManage is unable to start vm code NS_ERROR_FAILURE ubuntu 16.04
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения по решению этой проблемы. Заранее спасибо.
Я боролся с этой ошибкой в Ubuntu 22.04, пока не нашел ошибку за “NS_ERROR_FAILURE (0x80004005), компонент MachineWrap, интерфейс IMachine”. Я попробовал запустить свою машину в консоли, используя vboxheadless:
$ vboxheadless -s "Your VM name"
VBoxHeadless: Error -610 in supR3HardenedMainInitRuntime!
VBoxHeadless: dlopen("/usr/lib/virtualbox/VBoxRT.so",) failed: <NULL>
VBoxHeadless: Tip! It may help to reinstall VirtualBox.
Поскольку переустановка не работала ранее, я искал новую ошибку и нашел этот пост https://forums.virtualbox.org/viewtopic.php?t=88900
Изменение владельца указанных ниже папок решило мою проблему. Не знаю как, но папки принадлежали моему пользователю Linux вместо root.
sudo chown root:root /usr
sudo chown root:root /usr/lib
sudo chown root:root /usr/lib/virtualbox
VBoxManage modifyvm “vmname” –defaultfrontend headless
Это решило проблему для меня. Моя ВМ не удавалось запустить с этой ошибкой из командной строки, но работала из gui или с использованием vboxheadless.
Ответ или решение
Ошибка VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
является достаточно распространенной при работе с виртуальными машинами VirtualBox и может возникать из-за различных причин. Рассмотрим возможную теорию, примеры возникновения и практическое приложение для решения проблемы.
Теория
Ошибка NS_ERROR_FAILURE (0x80004005) в VirtualBox чаще всего указывает на общие проблемы запуска виртуальной машины. Она может быть вызвана некорректными настройками конфигурации, проблемами с правами доступа или несовместимостью версий программного обеспечения. Зачастую такие ошибки появляются вследствие обновлений системы или приложения без соответствующих обновлений зависимостей.
Пример
В приведенной ситуации пользователь сталкивается с данной ошибкой при запуске виртуальной машины в графическом режиме на Ubuntu 18.04. При этом VM успешно работает в безголовом режиме. Пользователь также попробовал несколько стандартных решений, включая переустановку моделей ядра и дополнительного пакета (dkms и virtualbox-ext-pack), а также проверку конфигурационного файла VirtualBox.xml.
Также, как упоминается в другом примере, возникает проблема с запуском через vboxheadless
, указывающая на сложности с загрузкой библиотек (VBoxRT.so
). Было обнаружено, что проблема решается изменением прав доступа к определённым системным папкам.
Применение
Для решения подобной проблемы рекомендуется следовать следующим шагам:
-
Проверка прав доступа: Убедитесь, что каталоги
/usr
,/usr/lib
, и/usr/lib/virtualbox
принадлежат пользователю root. Это можно сделать с помощью команд:sudo chown root:root /usr sudo chown root:root /usr/lib sudo chown root:root /usr/lib/virtualbox
-
Проверка совместимости версий: Убедитесь, что используемая версия VirtualBox совместима с версией вашей операционной системы. При необходимости установите более новые версии VirtualBox или обновите системные библиотеки.
-
Пересобирание модуля ядра VirtualBox: Если проблема связана с модулями ядра, попробуйте пересобрать их с помощью команды:
sudo /sbin/vboxconfig
-
Запись логов: Просмотрите логи VirtualBox для выявления более детальной информации о проблеме. Логи находятся в каталоге
~/.config/VirtualBox
и могут содержать подсказки о специфических ошибках. -
Переустановка VirtualBox: Как крайний метод, попробуйте полностью удалить и заново установить VirtualBox. Это может решить проблемы с повреждёнными или несовместимыми установочными файлами.
Следуя данным шагам, вы сможете устранить большинство причин, вызывающих ошибку NS_ERROR_FAILURE именно в вашем случае. Обязательно перепроверьте все изменения и сохраните резервные копии важных данных перед внесением серьёзных изменений в систему.