Если вы планируете сделку с его участием, мы настоятельно рекомендуем вам не совершать ее до окончания блокировки. Если пользователь уже обманул вас каким-либо образом, пожалуйста, пишите в арбитраж, чтобы мы могли решить проблему как можно скорее.
VirtualBox - одна из самых популярных систем виртуализации с открытым исходным кодом для Windows и Linux. Из-за бесплатного распространения программа завоевала огромную популярность, а разработчики добавили множество полезных возможностей. Обычные пользователи и я в том числе, привыкли пользоваться VirtualBox в графическом интерфейсе.Это просто и удобно. Однако, если вы установите VirtualBox на сервер, то там не будет графического интерфейса. Но вы можете сделать всё то же самое и даже больше с помощью команд консоли VirtualBox. Этих команд очень много. В этой статье мы рассмотрим самые полезные команды консоли VirtualBox. К концу статьи у вас будет полностью настроенная и рабочая виртуальная машина.
Основные команды VirtualBox
Управление виртуальными машинами в терминале осуществляется с помощью команды VBoxManage. Она имеет довольно простой синтаксис:
$ VBoxManage общие_опции команда опции_команды
Я не буду здесь рассматривать все опции и команды VirtualBox, рассмотрим их в процессе работы. По умолчанию все виртуальные машины находятся в директории .config/VirtualBox/Machines. Однако вы можете изменить этот путь с помощью команды setproperty. Например, /home/virtualbox/:
VBoxManage setproperty machinefolder /home/virtualbox/
1. Создание виртуальной машины
Первым делом надо создать новую виртуальную машину, с которой мы будем работать. Каждая виртуальная машина, это не что иное, как XML файл с настройками. Создание виртуальной машины VirtualBox выполняется с помощью команды VBoxManage createvm. Вот её основные опции:
Список доступных видов операционных систем можно посмотреть командой:
VBoxManage list ostypes
Давайте создадим виртуальную машину для Ubuntu и зарегистрируем её в системе:
VBoxManage createvm --name "Ubuntu1804" --ostype "Ubuntu_64" --default --register
Виртуальная машина успешно создана и добавлена.
2. Добавление существующей машины
Если вы перенесли виртуальную машину с другой системы, то можете захотеть добавить её. Это аналог пункта открыть в меню графического интерфейса. Используйте команду VBoxManage registervm, которой в качестве аргумента надо передать путь к файлу виртуальной машины:
VBoxManage registervm /home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vbox
3. Список виртуальных машин
Чтобы убедится, что всё работает вы можете захотеть посмотреть список виртуальных машин. Это можно сделать командой:
VBoxManage list vms
Или же можно посмотреть список запущенных виртуальных машин:
VBoxManage list runningvms
Чтобы увидеть более подробную информацию об виртуальных машинах используйте опцию --long:
VBoxManage list vms --long
4. Настройка хранилища машины
По умолчанию создается только конфигурация виртуальной машины. У неё нет никакого хранилища, на котором будет размещена операционная система. Сейчас мы его добавим. Сначала надо создать жесткий диск в папке рядом с файлом виртуальной машины:
VBoxManage createhd --filename "/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi" --size 10000 --format VDI
Здесь надо передать путь к файлу будущего диска и его размер в мегабайтах. Я создаю диск на 10 гигабайт. Этого должно хватить для запуска тестовой системы. Затем, с помощью команд storagectl и storageattach добавьте контролер SATA и подключите к нему этот диск:
VBoxManage storagectl "Ubuntu1804" --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage storageattach "Ubuntu1804" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi"
В параметре --medium надо передать путь к файлу диска, который вы собираетесь подключить. Если вы хотите чтобы машина загрузилась из ISO образа, то вам ещё понадобится IDE контроллер:
VBoxManage storagectl "Ubuntu1804" --name "IDE Controller" --add ide --controller PIIX4
Затем можно подключить к нему свой образ:
VBoxManage storageattach "Ubuntu1804" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ~/ubuntu.iso
5. Удаленный доступ
Так как виртуальная машина на сервере, то доступа к графическому интерфейсу нет, но нам надо получить доступ к самой машине. Для этого мы можем воспользоваться протоколом RDP. Чтобы включить удаленный доступ используйте команду:
VBoxManage modifyvm "Ubuntu1804" --vrde on
Ещё можно изменить порт RDP, на тот, который вы хотите, например, 33891:
VBoxManage modifyvm "Ubuntu1804" --vrdeport 33891
Уже сейчас мы можем получить доступ к этой машине, но давайте ещё настроим авторизацию по паролю, чтобы никто посторонний не мог получить к ней доступ если сервер доступен из интернета. Сначала установим тип авторизации external:
VBoxManage modifyvm Ubuntu1804 --vrdeauthtype external
Укажем, что надо использовать модуль авторизации VBoxAuthSimple:
VBoxManage setproperty vrdeauthlibrary VBoxAuthSimple
Осталось выбрать имя пользователя и пароль. Давайте это будет losst_user и losst_password. Создадим хэш для нашего пароля:
VBoxManage internalcommands passwordhash losst_password
Осталось связать этот хэш с именем пользователя losst_user для нашей машины:
VBoxManage setextradata "Ubuntu1804" "VBoxAuthSimple/users/losst_user" 4a26e3cde3647806539e746d4b7fa27401af9198ac0da1a5122e8851648566d2
Настройка rdp virtualbox завершена и теперь машина будет доступна по сети. К ней можно будет подключится с помощью утилиты Reminna. Осталось только запустить её.
6. Установка VirtualBox Extpack
Если вы хотите использовать удаленный доступ VirtualBox, вам нужно установить набор расширений VirtualBox для вашей версии программы. Сначала посмотрите не установлены ли у вас эти расширения:
VBoxManage list extpacks
Система сообщает, что у меня установлен один набор расширений. Нас будет интересовать строчка VRDE Module. Её значение должно быть RDP, не VNC и не что либо другое.
Чтобы установить набор расширений сначала посмотрите вашу версию VirtualBox:
VBoxManage --version
Для моей версии 5.2 наборы расширений можно найти на
VBoxManage extpack install ~/путь_к_файлу.extpack
После установки он появится в списке.
7. Настройка оборудования
Как я уже говорил, по умолчанию машине выдаются самые минимальные ресурсы, с таким количеством ресурсов смогут работать мало современных систем. Поэтому давайте дадим виртуальной машине больше оперативной памяти:
VBoxManage modifyvm "Ubuntu1804" --memory 2048
Чтобы увеличить объем видеопамяти в virtualbox выполните:
VBoxManage modifyvm "Ubuntu1804" --vram 128
Количество памяти надо указывать в мегабайтах. Чтобы изменения работали, машина должна быть выключена. Далее дадим машине два ядра процессора:
VBoxManage modifyvm "Ubuntu1804" --cpus 2
Вот, с такими параметрами уже можно работать.
8. Управление состоянием машины
Чтобы запустить виртуальную машину используйте команду startvm. Так как мы запускаем её без графики, то следует использовать опцию --type headless:
VBoxManage startvm "Ubuntu1804" --type headless
После того, как машина была запущена, вы можете открыть её с помощью reminna:
Далее, для управления запущенной машиной используется команда controlvm. Она позволяет поставить машину на паузу или остановить её. Чтобы поставить машину на паузу используйте команду pause:
VBoxManage controlvm "Ubuntu1804" pause
Для вывода машины из состояния паузы:
VBoxManage controlvm "Ubuntu1804" resume
Для полного выключения машины:
VBoxManage controlvm "Ubuntu1804" poweroff
Если вы не хотите выключать машину, можно сохранить её состояние:
VBoxManage controlvm "Ubuntu1804" savestate
Или можно послать сигнал нажатия на кнопку выключения:
VBoxManage controlvm "Ubuntu1804" acpipowerbutton
Если работа вашей машины била прервана из-за перезагрузки компьютера или выключения света может произойти ситуация, что она останется заблокированной и вы не сможете её запустить. Для решения этой проблемы используйте команду:
VBoxManage startvm "Ubuntu1804" --type emergencystop
Наша статья подходит к завершению, но это далеко не все команды консоли VirtualBox.
9. Просмотр информации о машине
Посмотреть информацию о текущем состоянии машины, а также об её оборудовании можно с помощью команды showvminfo:
VBoxManage showvminfo "Ubuntu1804"
Если вас интересует только состояние машины, можно отфильтровать вывод virtualbox cli утилитой grep:
VBoxManage showvminfo "Ubuntu1804" | grep State
Выводы
В этой статье мы рассмотрели полезные команды VirtualBox CLI, которые позволят вам полноценно управлять виртуальными машинами на сервере. Я не стал подробно рассказывать про настройку размера дисков, вы можете обо всём этом почитать в статье
Основные команды VirtualBox
Управление виртуальными машинами в терминале осуществляется с помощью команды VBoxManage. Она имеет довольно простой синтаксис:
$ VBoxManage общие_опции команда опции_команды
Я не буду здесь рассматривать все опции и команды VirtualBox, рассмотрим их в процессе работы. По умолчанию все виртуальные машины находятся в директории .config/VirtualBox/Machines. Однако вы можете изменить этот путь с помощью команды setproperty. Например, /home/virtualbox/:
VBoxManage setproperty machinefolder /home/virtualbox/
1. Создание виртуальной машины
Первым делом надо создать новую виртуальную машину, с которой мы будем работать. Каждая виртуальная машина, это не что иное, как XML файл с настройками. Создание виртуальной машины VirtualBox выполняется с помощью команды VBoxManage createvm. Вот её основные опции:
- --name - имя машины;
- --ostype - вид операционной системы;
- --register - регистрирует виртуальную машину, иначе будет просто создан XML файл с настройками.
Список доступных видов операционных систем можно посмотреть командой:
VBoxManage list ostypes
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Давайте создадим виртуальную машину для Ubuntu и зарегистрируем её в системе:
VBoxManage createvm --name "Ubuntu1804" --ostype "Ubuntu_64" --default --register
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Виртуальная машина успешно создана и добавлена.
2. Добавление существующей машины
Если вы перенесли виртуальную машину с другой системы, то можете захотеть добавить её. Это аналог пункта открыть в меню графического интерфейса. Используйте команду VBoxManage registervm, которой в качестве аргумента надо передать путь к файлу виртуальной машины:
VBoxManage registervm /home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vbox
3. Список виртуальных машин
Чтобы убедится, что всё работает вы можете захотеть посмотреть список виртуальных машин. Это можно сделать командой:
VBoxManage list vms
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Или же можно посмотреть список запущенных виртуальных машин:
VBoxManage list runningvms
Чтобы увидеть более подробную информацию об виртуальных машинах используйте опцию --long:
VBoxManage list vms --long
Для просмотра ссылки необходимо нажать
Вход или Регистрация
4. Настройка хранилища машины
По умолчанию создается только конфигурация виртуальной машины. У неё нет никакого хранилища, на котором будет размещена операционная система. Сейчас мы его добавим. Сначала надо создать жесткий диск в папке рядом с файлом виртуальной машины:
VBoxManage createhd --filename "/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi" --size 10000 --format VDI
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Здесь надо передать путь к файлу будущего диска и его размер в мегабайтах. Я создаю диск на 10 гигабайт. Этого должно хватить для запуска тестовой системы. Затем, с помощью команд storagectl и storageattach добавьте контролер SATA и подключите к нему этот диск:
VBoxManage storagectl "Ubuntu1804" --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage storageattach "Ubuntu1804" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi"
Для просмотра ссылки необходимо нажать
Вход или Регистрация
В параметре --medium надо передать путь к файлу диска, который вы собираетесь подключить. Если вы хотите чтобы машина загрузилась из ISO образа, то вам ещё понадобится IDE контроллер:
VBoxManage storagectl "Ubuntu1804" --name "IDE Controller" --add ide --controller PIIX4
Затем можно подключить к нему свой образ:
VBoxManage storageattach "Ubuntu1804" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ~/ubuntu.iso
Для просмотра ссылки необходимо нажать
Вход или Регистрация
5. Удаленный доступ
Так как виртуальная машина на сервере, то доступа к графическому интерфейсу нет, но нам надо получить доступ к самой машине. Для этого мы можем воспользоваться протоколом RDP. Чтобы включить удаленный доступ используйте команду:
VBoxManage modifyvm "Ubuntu1804" --vrde on
Ещё можно изменить порт RDP, на тот, который вы хотите, например, 33891:
VBoxManage modifyvm "Ubuntu1804" --vrdeport 33891
Уже сейчас мы можем получить доступ к этой машине, но давайте ещё настроим авторизацию по паролю, чтобы никто посторонний не мог получить к ней доступ если сервер доступен из интернета. Сначала установим тип авторизации external:
VBoxManage modifyvm Ubuntu1804 --vrdeauthtype external
Укажем, что надо использовать модуль авторизации VBoxAuthSimple:
VBoxManage setproperty vrdeauthlibrary VBoxAuthSimple
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Осталось выбрать имя пользователя и пароль. Давайте это будет losst_user и losst_password. Создадим хэш для нашего пароля:
VBoxManage internalcommands passwordhash losst_password
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Осталось связать этот хэш с именем пользователя losst_user для нашей машины:
VBoxManage setextradata "Ubuntu1804" "VBoxAuthSimple/users/losst_user" 4a26e3cde3647806539e746d4b7fa27401af9198ac0da1a5122e8851648566d2
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Настройка rdp virtualbox завершена и теперь машина будет доступна по сети. К ней можно будет подключится с помощью утилиты Reminna. Осталось только запустить её.
6. Установка VirtualBox Extpack
Если вы хотите использовать удаленный доступ VirtualBox, вам нужно установить набор расширений VirtualBox для вашей версии программы. Сначала посмотрите не установлены ли у вас эти расширения:
VBoxManage list extpacks
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Система сообщает, что у меня установлен один набор расширений. Нас будет интересовать строчка VRDE Module. Её значение должно быть RDP, не VNC и не что либо другое.
Чтобы установить набор расширений сначала посмотрите вашу версию VirtualBox:
VBoxManage --version
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Для моей версии 5.2 наборы расширений можно найти на
Для просмотра ссылки необходимо нажать
Вход или Регистрация
странице. Вы без труда найдете нужный extpack с помощью поиска. Затем загрузите его на сервер и установите командой:VBoxManage extpack install ~/путь_к_файлу.extpack
После установки он появится в списке.
7. Настройка оборудования
Как я уже говорил, по умолчанию машине выдаются самые минимальные ресурсы, с таким количеством ресурсов смогут работать мало современных систем. Поэтому давайте дадим виртуальной машине больше оперативной памяти:
VBoxManage modifyvm "Ubuntu1804" --memory 2048
Чтобы увеличить объем видеопамяти в virtualbox выполните:
VBoxManage modifyvm "Ubuntu1804" --vram 128
Количество памяти надо указывать в мегабайтах. Чтобы изменения работали, машина должна быть выключена. Далее дадим машине два ядра процессора:
VBoxManage modifyvm "Ubuntu1804" --cpus 2
Вот, с такими параметрами уже можно работать.
8. Управление состоянием машины
Чтобы запустить виртуальную машину используйте команду startvm. Так как мы запускаем её без графики, то следует использовать опцию --type headless:
VBoxManage startvm "Ubuntu1804" --type headless
Для просмотра ссылки необходимо нажать
Вход или Регистрация
После того, как машина была запущена, вы можете открыть её с помощью reminna:
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Далее, для управления запущенной машиной используется команда controlvm. Она позволяет поставить машину на паузу или остановить её. Чтобы поставить машину на паузу используйте команду pause:
VBoxManage controlvm "Ubuntu1804" pause
Для вывода машины из состояния паузы:
VBoxManage controlvm "Ubuntu1804" resume
Для полного выключения машины:
VBoxManage controlvm "Ubuntu1804" poweroff
Если вы не хотите выключать машину, можно сохранить её состояние:
VBoxManage controlvm "Ubuntu1804" savestate
Или можно послать сигнал нажатия на кнопку выключения:
VBoxManage controlvm "Ubuntu1804" acpipowerbutton
Если работа вашей машины била прервана из-за перезагрузки компьютера или выключения света может произойти ситуация, что она останется заблокированной и вы не сможете её запустить. Для решения этой проблемы используйте команду:
VBoxManage startvm "Ubuntu1804" --type emergencystop
Наша статья подходит к завершению, но это далеко не все команды консоли VirtualBox.
9. Просмотр информации о машине
Посмотреть информацию о текущем состоянии машины, а также об её оборудовании можно с помощью команды showvminfo:
VBoxManage showvminfo "Ubuntu1804"
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Если вас интересует только состояние машины, можно отфильтровать вывод virtualbox cli утилитой grep:
VBoxManage showvminfo "Ubuntu1804" | grep State
Для просмотра ссылки необходимо нажать
Вход или Регистрация
Выводы
В этой статье мы рассмотрели полезные команды VirtualBox CLI, которые позволят вам полноценно управлять виртуальными машинами на сервере. Я не стал подробно рассказывать про настройку размера дисков, вы можете обо всём этом почитать в статье
Для просмотра ссылки необходимо нажать
Вход или Регистрация
. Конечно, осталось много других интересных команд, которые не поместились в эту статью, таких как настройка автоматической установки системы, настройка сети, изменение оборудование на лету и много другое.