Virtualization · 4 min read · Dec 01, 2025

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

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

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

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

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

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

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

Если у вас есть только учетная запись root, но нет обычной учетной записи пользователя, создайте одну следующим образом (пользователь admin, группа admin)…

# groupadd admin  
# useradd -d /home/admin -m -g admin -s /bin/bash admin

… создайте пароль для нового пользователя…

# passwd admin

… и войдите как этот пользователь.

2 Установка VirtualBox

Чтобы установить VirtualBox 4.2 на наш сервер OpenSUSE 12.2, нам нужны права root, поэтому мы выполняем

$ su

Сначала мы должны выяснить, какой ядро мы установили:

# uname -a
server1:/home/admin # uname -a  
Linux server1 3.4.6-2.10-desktop #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197) x86_64 x86_64 x86_64 GNU/Linux  
server1:/home/admin #

Как вы видите, у меня установлен пакет kernel-desktop - если у вас установлен пакет kernel-server, замените desktop на server в следующей команде.

Мы устанавливаем зависимости для VirtualBox 4.2 следующим образом (установив пакет kernel-desktop / kernel-server снова, мы убедимся, что у нас установлена последняя версия):

# zypper install kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc make

Если ядро обновляется, вам будет предложено перезагрузить систему - в этом случае выполните:

# reboot

Снова войдите как обычный пользователь, а затем станьте root:

$ su

Далее загрузите и зарегистрируйте публичный ключ rpm VirtualBox:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc  
# rpm --import oracle_vbox.asc

Теперь мы включаем репозиторий VirtualBox OpenSUSE на нашей системе (файла репозитория для OpenSUSE 12.2 нет, потому что файл репозитория для 11.4 работает и на 12.2):

# cd /etc/zypp/repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repo

Теперь мы можем просто установить VirtualBox 4.1 следующим образом:

# zypper install VirtualBox-4.2

После этого убедитесь, что модуль ядра vboxdrv загружен:

# modprobe vboxdrv

Следующая команда гарантирует, что модуль ядра vboxdrv будет загружаться автоматически при каждой загрузке системы:

# insserv vboxdrv

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

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

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

# cd /tmp  
# wget http://download.virtualbox.org/virtualbox/4.2.0/Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack  
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.0-80737.vbox-extpack

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

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

# /usr/sbin/usermod -G vboxusers admin

(Вам, возможно, придется выйти и снова войти, чтобы это изменение вступило в силу.)

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

Введите

# exit

чтобы выйти из учетной записи root и снова стать обычным пользователем (admin).

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

3.1 Создание ВМ

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

$ VBoxManage --help

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

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

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

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

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

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

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

$ VBoxManage registervm Machines/examplevm/examplevm.xml

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

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

$ VBoxHeadless --startvm "Ubuntu 12.04 Server"

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

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

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

$ VBoxManage controlvm "Ubuntu 12.04 Server" poweroff

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

$ VBoxManage controlvm "Ubuntu 12.04 Server" pause

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

$ VBoxManage controlvm "Ubuntu 12.04 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.