1

У меня есть виртуальная машина с сервером Ubuntu на моем компьютере с Windows, я могу без проблем запустить VirtualBox на своем компьютере с Windows, а затем я могу подключиться по SSH к вновь созданному серверу. Однако я пытаюсь подключить SSH к моей машине с Windows (у меня установлен SSH-сервер) и запустить VirtualBox, выполнив следующие команды:

cd C:/Program Files/oracle/virtualbox
virtualbox --vm <virtual machine ID>

Идентификатор компьютера, который я использую, совпадает с идентификатором, использованным при создании ярлыка с помощью диспетчера компьютеров VirtualBox.

Когда я делаю это, GUI для VM не появляется. Проверка вкладки «Процессы диспетчера задач». Я могу видеть процесс VirtualBox только в том случае, если я нажму «Показать всех пользователей», однако показанный процесс выполняется под тем же именем пользователя, что и моя учетная запись.

Попытка установить SSH-соединение с новым сервером не работает. И выполнение ping-сканирования моей сети с помощью nmap не показывает никаких новых хостов.

Я хотел бы добавить, что использование тех же команд, что и выше, прямо в командной строке Windows запускает виртуальную машину без проблем.

РЕДАКТИРОВАТЬ

Я следовал инструкциям и изменил virtualbox к VBoxHeadless --startvm 8b2db 9b3-5907-431f-b25c-44ea9cade05d

Выполнение этого через ssh дает мне ошибку:

Invalid machine name or UUID!

однако UUID такой же, как тот, который использовался в моем ярлыке на моем рабочем столе, и просто двойной щелчок по файлу .bat работает нормально.

Я подозреваю, что проблема может быть вызвана тем, что мой ssh-сервер работает в административном контексте. Я использую "bitvise ssh сервер"

Дальнейшая проверка показала, что в командной строке Windows я могу VBoxMange list vms как обычного пользователя, так и в качестве администратора. Однако запуск его в cygwin не дает результатов, а запуск через ssh, будь то в терминале cygwin или в командной строке, ничего не возвращает.

2 ответа2

2

Что ж, если это сработало для вас, почему бы не сделать это ответом. (:

Решение использовать VirtualBox без графического интерфейса VBoxHeadless . Хотя есть и более удобные варианты, например phpVirtualBox.

VBoxHeadless работает совместно с VBoxManage чтобы обеспечить полный интерфейс для функций VirtualBox. Для запуска виртуальных машин они должны быть зарегистрированы. Зарегистрированные виртуальные машины могут быть перечислены в VBoxManage list vms .

0
  1. Проверьте, находится ли папка: C:\Windows\System32\config\systemprofile.VirtualBox существует. Если эта папка наследует только логи - удалите всю папку или переместите ее на новую позицию

  2. Теперь свяжите правильную папку с этой позицией из командной строки (да, это возможно с помощью ntfs):

    mklink /j C:\Windows\System32\config\systemprofile.VirtualBox C:\Users\ Администратор.VirtualBox

(замените Администратора именем учетной записи, на которой вы запускаете ваши виртуальные машины)


Оболочка ssh использует папку C:\Windows\System32\config\systemprofile.VirtualBox как его папка virtualbox, в то время как обычный логин администратора использует C:\Users\Administrator.VirtualBox. Если вы в порядке с управлением виртуальными машинами через командную строку, вы можете просто переместить файлы из C:\Users\Administrator.VirtualBox для C:\Windows\System32\config\systemprofile.VirtualBox и игнорируйте ссылку выше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .