Virtualization · 3 min read · Feb 06, 2026
VBoxHeadless - Запуск виртуальных машин с VirtualBox 3.1.x на безголовом сервере Mandriva 2010.0
VBoxHeadless - Запуск виртуальных машин с VirtualBox 3.1.x на безголовом сервере Mandriva 2010.0
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
Этот гид объясняет, как вы можете запускать виртуальные машины с помощью Sun VirtualBox 3.1.x на безголовом сервере Mandriva 2010.0. Обычно вы используете графический интерфейс VirtualBox для управления вашими виртуальными машинами, но сервер не имеет графической среды. К счастью, VirtualBox поставляется с инструментом под названием VBoxHeadless, который позволяет вам подключаться к виртуальным машинам через удаленное подключение к рабочему столу, так что нет необходимости в графическом интерфейсе VirtualBox.
Я не даю никаких гарантий, что это сработает для вас!
1 Предварительная заметка
Я протестировал это на сервере Mandriva 2010.0 (хост-система) с IP-адресом 192.168.0.100, где я вошел как обычный пользователь (имя пользователя администратор в этом примере), а не как root.
Если у вас есть только учетная запись root, но нет обычной учетной записи пользователя, создайте одну следующим образом (пользователь администратор, группа администратор)…
# groupadd administrator
# useradd -d /home/administrator -m -g administrator -s /bin/bash administrator… создайте пароль для нового пользователя…
# passwd administrator… и войдите как этот пользователь.
2 Установка VirtualBox
Чтобы установить VirtualBox 3.1.x на нашем сервере Mandriva 2010.0, нам нужны права root, поэтому мы выполняем
$ suЗатем мы устанавливаем зависимости для VirtualBox 3.1.x следующим образом:
# urpmi wget flex gcc gcc-c++ kernel-devel kernel-headers dkmsДалее мы выбираем правильный пакет VirtualBox с http://www.virtualbox.org/wiki/Linux_Downloads; выберите пакет i386 или AMD64 (в зависимости от вашей архитектуры) для Mandriva 2009.1 / 2010.0 (вы можете узнать свою архитектуру, выполнив
# uname -mВывод на моей тестовой системе:
[root@server1 administrator]# uname -m
x86_64
[root@server1 administrator]#что означает, что я должен выбрать пакет AMD64.
)…
… и загрузите его следующим образом:
# cd /tmp
# wget http://download.virtualbox.org/virtualbox/3.1.4/VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpmВозможно, что пакет будет сохранен как .rpm?xxx вместо просто .rpm. Чтобы проверить это, выполните
# ls -l[root@server1 tmp]# ls -l
total 39276
-rw-r--r-- 1 root root 40216327 2010-02-12 23:03 VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpm?e=1268058956&h=2e09ee7de5b4dc8427cde168836915dc
[root@server1 tmp]#Как видите, мой пакет называется VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpm?e=1268058956&h=2e09ee7de5b4dc8427cde168836915dc. Поэтому я переименовываю его:
# mv VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpm\?e\=1268058956\&h\=2e09ee7de5b4dc8427cde168836915dc VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpm(Вы можете использовать клавишу TAB, чтобы позволить оболочке автоматически завершить имя файла.)
После этого мы устанавливаем VirtualBox 3.1.x следующим образом:
# urpmi VirtualBox-3.1-3.1.4_57640_mdv2009.1-1.x86_64.rpmТеперь мы должны добавить пользователя, который будет запускать VirtualBox (администратор в этом примере), в группу vboxusers:
# /usr/sbin/usermod -G vboxusers administratorVirtualBox теперь установлен и готов к использованию.
Введите
# exitчтобы выйти из учетной записи root и снова стать обычным пользователем (администратором).
3 Использование VirtualBox в командной строке
3.1 Создание ВМ
Чтобы создать ВМ в командной строке, мы можем использовать команду VBoxManage. Смотрите
$ VBoxManage --helpдля списка доступных переключателей и (высоко рекомендуется!) посмотрите на http://www.virtualbox.org/manual/UserManual.html#vboxmanage.
Теперь я создам ВМ Ubuntu 9.10 Server с 256MB памяти и 10GB жестким диском из образа iso Ubuntu 9.10 Server (который я сохранил в /home/administrator/ubuntu-9.10-server-amd64.iso):
$ VBoxManage createvm --name "Ubuntu 9.10 Server" --register
$ VBoxManage modifyvm "Ubuntu 9.10 Server" --memory 256 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_9_10_Server.vdi --size 10000 --register
$ VBoxManage storagectl "Ubuntu 9.10 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_9_10_Server.vdi
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/ubuntu-9.10-server-amd64.iso3.2 Импорт существующей ВМ
Предположим, у вас есть ВМ под названием examplevm, которую вы хотите повторно использовать на этом хосте. На старом хосте у вас должен быть каталог Machines/examplevm в каталоге VirtualBox; Machines/examplevm должен содержать файл examplevm.xml. Скопируйте каталог examplevm (включая файл examplevm.xml) в ваш новый каталог Machines (если ваше имя пользователя администратор, это /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 9.10 Server"(Замените Ubuntu 9.10 Server на имя вашей ВМ.)
VBoxHeadless запустит ВМ и сервер VRDP (VirtualBox Remote Desktop Protocol), который позволяет вам видеть вывод ВМ удаленно на другом компьютере.
Чтобы остановить ВМ, выполните
$ VBoxManage controlvm "Ubuntu 9.10 Server" poweroffЧтобы приостановить ВМ, выполните
$ VBoxManage controlvm "Ubuntu 9.10 Server" pauseЧтобы сбросить ВМ, выполните
$ VBoxManage controlvm "Ubuntu 9.10 Server" resetЧтобы узнать больше о VBoxHeadless, посмотрите на
$ VBoxHeadless --helpGet new posts in your inbox
No spam. Unsubscribe anytime.