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 vboxusersVirtualBox теперь установлен и готов к использованию.
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.iso3.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.xml3.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.
Get new posts in your inbox
No spam. Unsubscribe anytime.