VirtualBox · 3 min read · Dec 02, 2025

VBoxHeadless - Запуск виртуальных машин с VirtualBox 4.2 на безголовом сервере Ubuntu 12.10

VBoxHeadless - Запуск виртуальных машин с VirtualBox 4.2 на безголовом сервере Ubuntu 12.10

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

Этот гид объясняет, как вы можете запускать виртуальные машины с VirtualBox 4.2 на безголовом сервере Ubuntu 12.10. Обычно вы используете графический интерфейс VirtualBox для управления вашими виртуальными машинами, но сервер не имеет графической среды. К счастью, VirtualBox поставляется с инструментом под названием VBoxHeadless, который позволяет вам подключаться к виртуальным машинам через удаленное подключение к рабочему столу, так что нет необходимости в графическом интерфейсе VirtualBox.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я протестировал это на сервере Ubuntu 12.10 (хост-система) с IP-адресом 192.168.0.100, где я вошел как обычный пользователь (имя пользователя administrator в этом примере), а не как root.

2 Установка VirtualBox

Чтобы установить VirtualBox 4.2 на наш сервер Ubuntu 12.10, мы открываем /etc/apt/sources.list…

sudo vi /etc/apt/sources.list

… и добавляем следующую строку:

| [...] deb http://download.virtualbox.org/virtualbox/debian quantal contrib |

Затем мы загружаем публичный ключ VirtualBox…

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

… и обновляем нашу базу данных пакетов:

sudo apt-get update

После этого мы устанавливаем VirtualBox 4.2 следующим образом:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.2 dkms

(Пакет dkms гарантирует, что модули ядра хоста VirtualBox правильно обновляются, если версия ядра Linux изменяется.)

Начиная с версии 4.0, VirtualBox ввел так называемые “расширения” и вынес некоторые функции, такие как поддержка удаленного подключения к рабочему столу (VRDP), которые были частью пакетов VirtualBox до версии 4.0, в эти расширения. Поскольку нам нужны удаленные подключения к рабочему столу для управления нашими виртуальными машинами, нам нужно установить соответствующий пакет расширения сейчас. Перейдите на http://www.virtualbox.org/wiki/Downloads, и вы найдете ссылку на следующее расширение:

VirtualBox 4.2.4 Oracle VM VirtualBox Extension Pack  
Поддержка USB 2.0 устройств, VirtualBox RDP и PXE загрузка для карт Intel.

Скачайте и установите пакет расширения следующим образом:

cd /tmp  
wget http://download.virtualbox.org/virtualbox/4.2.4/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack  
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack

(Убедитесь, что вы скачали последнюю версию с веб-сайта VirtualBox.)

(Убедитесь, что вы выполняете последнюю команду с sudo - sudo VBoxManage extpack install … - потому что в противном случае вы получите ошибку, подобную этой:

administrator@server1:/tmp$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack  
0%...  
Состояние прогресса: NS_ERROR_FAILURE  
VBoxManage: ошибка: Не удалось установить "/tmp/Oracle_VM_VirtualBox_Extension_Pack-4.2.4-81684.vbox-extpack": Установщик завершился с кодом выхода 127: Ошибка создания текстового агента аутентификации: Ошибка открытия текущего управляющего терминала для процесса (`/dev/tty'): Нет такого устройства или адреса  
administrator@server1:/tmp$

)

Теперь мы должны добавить пользователя, который будет запускать VirtualBox (administrator в этом примере), в группу vboxusers:

sudo adduser administrator vboxusers

VirtualBox теперь установлен и готов к использованию.

3 Использование VirtualBox через командную строку

3.1 Создание ВМ

Чтобы создать ВМ через командную строку, мы можем использовать команду VBoxManage. Смотрите

VBoxManage --help

для списка доступных параметров и (всем настоятельно рекомендую!) посмотрите на http://www.virtualbox.org/manual/ch08.html.

Теперь я создам ВМ Ubuntu 12.10 Server с 512 МБ памяти и 10 ГБ жестким диском из образа iso Ubuntu 12.10 Server (который я сохранил в /home/ubuntu-12.10-server-amd64.iso):

VBoxManage createvm --name "Ubuntu 12.10 Server" --register  
VBoxManage modifyvm "Ubuntu 12.10 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0  
VBoxManage createhd --filename Ubuntu_12_10_Server.vdi --size 10000  
VBoxManage storagectl "Ubuntu 12.10 Server" --name "IDE Controller" --add ide  
VBoxManage storageattach "Ubuntu 12.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_12_10_Server.vdi  
VBoxManage storageattach "Ubuntu 12.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-12.10-server-amd64.iso

3.2 Импорт существующей ВМ

Предположим, у вас есть ВМ под названием examplevm, которую вы хотите повторно использовать на этом хосте. На старом хосте у вас должна быть директория Machines/examplevm в директории VirtualBox; Machines/examplevm должна содержать файл examplevm.xml. Скопируйте директорию examplevm (включая файл examplevm.xml) в вашу новую директорию Machines (если ваше имя пользователя administrator, это /home/administrator/.VirtualBox/Machines - результат должен быть /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).

Кроме того, скопируйте файл examplevm.vdi из старой директории VDI в новую (например, /home/administrator/.VirtualBox/VDI/examplevm.vdi).

После этого вы должны зарегистрировать импортированную ВМ:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Запуск ВМ с помощью VBoxHeadless

Независимо от того, создаете ли вы новую ВМ или импортируете старую, вы можете запустить ее с помощью команды:

VBoxHeadless --startvm "Ubuntu 12.10 Server"

(Замените Ubuntu 12.10 Server на имя вашей ВМ.)

VBoxHeadless запустит ВМ и сервер VRDP (Протокол удаленного рабочего стола VirtualBox), который позволяет вам видеть вывод ВМ удаленно на другом компьютере.

Чтобы остановить ВМ, выполните

VBoxManage controlvm "Ubuntu 12.10 Server" poweroff

Чтобы приостановить ВМ, выполните

VBoxManage controlvm "Ubuntu 12.10 Server" pause

Чтобы сбросить ВМ, выполните

VBoxManage controlvm "Ubuntu 12.10 Server" reset

Чтобы узнать больше о VBoxHeadless, посмотрите на

VBoxHeadless --help

и на http://www.virtualbox.org/manual/ch07.html#vboxheadless.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.