Virtualization · 4 min read · Dec 02, 2025

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

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

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

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

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

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

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

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

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

# passwd admin

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

2 Установка VirtualBox

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

$ su

Убедитесь, что ваш ядро обновлено:

yum install kernel

Если ядро обновляется, вам нужно перезагрузить…

reboot

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

su 

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

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms 

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

Теперь мы включаем репозиторий VirtualBox Fedora на нашей системе:

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

# yum install VirtualBox-4.2

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

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

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

(Убедитесь, что вы скачали последнюю версию с веб-сайта 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.

Перед тем как создать виртуальную машину, нам нужно выяснить, как называется основное сетевое устройство на Fedora:

$ ifconfig

[admin@server1 ~]$ ifconfig
lo: flags=73 mtu 16436
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 6 bytes 624 (624.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 624 (624.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

p2p1: flags=4163 mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::a00:27ff:fe08:1269 prefixlen 64 scopeid 0x20
ether 08:00:27:08:12:69 txqueuelen 1000 (Ethernet)
RX packets 78911 bytes 113684403 (108.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42260 bytes 3541430 (3.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[admin@server1 ~]$

Как видите, он называется p2p1 в этом случае - пожалуйста, имейте это в виду.

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

$ VBoxManage createvm --name "Ubuntu 12.10 Server" --register

В следующей команде мы должны указать правильный сетевой интерфейс (p2p1 в моем случае):

$ VBoxManage modifyvm "Ubuntu 12.10 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 p2p1

$ 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 (если ваше имя пользователя 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.10 Server"

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

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

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

 $ 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.