Установка и настройка VirtualBox без GUI на Getnoo
app-emulation/virtualbox-bin-3.*
В этой статье рассмотрим установку VirtualBox-bin без поддержки GUI (Headless) и создание ВМ с Windows XP
В чем отличия от VirtualBox-OSE
Установка
Принемаем лицензию
VirtualBox Personal Use and Evaluation License (PUEL)
echo app-emulation/virtualbox-bin PUEL >> /etc/portage/package.license
Отключаем установку графического интерфейса, т.к. на сервере нету и не будет X'ов
echo app-emulation/virtualbox-bin headless >> /etc/portage/package.use
Установка
emerge virtualbox-bin -av
Добавление модулей в автозагрузку
echo "vboxdrv" >> /etc/modules.autoload.d/kernel-2.6 echo "vboxnetflt" >> /etc/modules.autoload.d/kernel-2.6 echo "vboxnetadp" >> /etc/modules.autoload.d/kernel-2.6
Пробуем загрузить модули
depmod -a modprobe vboxdrv modprobe vboxnetflt modprobe vboxnetadp
FATAL: Module vboxdrv not found.
Вероятная ситуация - модули скомпилировались не для текущего рабочего ядра, ссылка /usr/src/linux указывает на исходники другого ядра
gentoo ~ # qlist virtualbox-modules /lib/modules/2.6.30-gentoo-r8/misc/vboxnetflt.ko /lib/modules/2.6.30-gentoo-r8/misc/vboxnetadp.ko /lib/modules/2.6.30-gentoo-r8/misc/vboxdrv.ko
uname -a
ls -l /lib/modules/`uname -r`/ | grep build
Исправляем ссылку и переустанавливаем модули
emerge app-emulation/virtualbox-modules -av1
Что бы дать возможность пользователям создавать и запускать виртуальные машины - их необходимо добавить в группу vboxusers
Настройка
Документация по VBoxManage и На Русском хороший перевод
Создание диска
Создание диска, размер указывается Мб
VBoxManage createhd --filename diskxp.vdi --size 300000 --register
Удаление: удаляется только информация о регистрации диска, но сам файл не удаляется.
Диск нельзя удалить если он подключен к одной из ВМ
VBoxManage closemedium disk diskxp.vdi
Спустя некоторое время размер образа диска может превышать в несколько раз реальный размер содержимого
Очистка образа диска:
- Необходимо затереть свободное пространство нулями в ВМ. Для Windows скачиваем SDelete и выполняем
sdelete -c
- Удаление пустых блоков в образе диска
VBoxManage modifyhd diskxp.vdi --compact
Создание ВМ
Смотрим список известных поддерживаемых гостевых ОС
VBoxManage list ostypes
Регистрируем ВМ
VBoxManage createvm --name testxp --ostype WindowsXP --register
Удаление (сперва нужно отсоединить все диски принадлежащие этой ВМ, если они есть)
VBoxManage unregistervm testxp --delete
Настройка параметров ВМ
Разобьем все настройки поэтапно
Система
VBoxManage modifyvm testxp --memory 512 --boot1 dvd --boot2 disk --acpi on --hwvirtex on
--memory <memorysize> | Размер оперативной памяти (Мб) |
--boot<1-4> none|floppy|dvd|disk|net | Порядок загрузки |
--acpi on|off | Поддержка ACPI |
--ioapic on|off | Поддержка IO APIC |
--cpus <cpucount> | Количество ЦПУ |
--pae on|off | Поддержка PAE (Physical Address Extension) |
--hwvirtex on|off | Поддержка аппаратной виртуализации Intel VT-x и AMD-V |
--nestedpaging on|off | Расширение Nested Paging позволяет управлять памятью хоста, что позволяет усилить производительность, если процессор поддерживает AMD-V или Intel EPT(VT-x) |
Видео
VBoxManage modifyvm testxp --vram 64 --accelerate3d on
--vram <vramsize> | Размер видео памяти (Мб) |
--accelerate3d on|off | Аппаратное 3D ускорение для гостевой ОС |
VRDP
VirtualBox Remote Desktop Protocol
VBoxManage modifyvm testxp --vrdp on --vrdpauthtype null --vrdpmulticon off
--vrdp on|off | Поддержка VRDP |
--vrdpport default|<ports> | Порт, по умолчанию стандартный 3389. Допускается указывать несколько портов например –vrdpport 5000,5010-5012 |
--vrdpauthtype null|external|guest | Метод аутентификации |
--vrdpmulticon on|off | Поддержка множественных подключений |
Floppy
VBoxManage modifyvm testxp --floppy disabled
--floppy disabled|empty|<uuid>|<filename>|host:<drive> | Поддержка floppy дисковода |
Жесткие диски
VBoxManage modifyvm testxp --hda diskxp.vdi
--hd<a|b|d> none|<uuid>|<filename> | Подключение к IDE портам: primary master/slave, secondary slave. Для CD/DVD привода зарезервирован secondary master |
--sata on|off | Поддержка SATA |
--sataportcount <1-30> | Количество портов SATA |
--sataport<1-30> none|<uuid>|<filename> | Подключение к SATA портам |
--sataideemulation<1-4> <1-30> | Указывает какие порты SATA будут работать в режиме эмуляции IDE |
DVD привод
Подключим диск из привода
VBoxManage modifyvm testxp --dvd host:/dev/cdrom
--dvd none|<uuid>|<filename>|host:<drive> | |
--dvdpassthrough on|off | Поддержка записи DVD !experemental |
VBoxManage list hostdvds
Сеть
Настроим одну сетевую карту в режиме NAT
VBoxManage modifyvm testxp --nic1 nat --macaddress1 auto --cableconnected1 on
--nic<1-N> none|null|nat|bridged|intnet|hostonly | Настройка сетевых карт |
--nictype<1-N> Am79C970A|Am79C973|82540EM|82543GC|82545EM|virtio | Позволяет выбрать модель аппаратного устройства |
--cableconnected<1-N> on|off | Подключить или отключить 'кабель' от сетевого устройства |
--macaddress<1-N> auto|<mac> | Позволяет установить MAC адрес для виртуальной сетевой карты |
--bridgeadapter<1-N> none|<devicename> | Если для виртуальной сетевой карты установлен режим bridged, указывает какой сетевой интерфейс на реальной машине будет использовать ВМ |
--hostonlyadapter<1-N> none|<devicename> | Если для виртуальной сетевой карты установлен режим hostonly, указывает какой сетевой интерфейс на реальной машине будет использовать ВМ |
--intnet<1-N> network | Если для виртуальной сетевой карты установлен режим intnet, указывает имя внутренней сети |
Аудио
Я не буду подключать аудио устройство, т.к. по RDP звук и так будет передаваться
Информация о настройках ВМ
VBoxManage showvminfo testxp
Запуск ВМ
Запуск
VBoxManage startvm testxp --type vrdp
Так же запуск командой
VBoxHeadless --startvm testxp
оказалась полезна, так как она выводит ошибки на терминал
Установка Windows
Установка GuestAdditions
Что-бы установить драйвера в Windows нужно подключить образ диска с GuestAdditions входящий в комплект установки (или скачать нужную версию)
VBoxManage controlvm testxp dvdattach /opt/VirtualBox/additions/VBoxGuestAdditions.iso
Эта команда позволит сменить устройство DVD не останавливая ВМ (не изменит конфигурацию).
Выключение/Перезагрузка
Например выключить через acpi, как самый гуманный вариант, но не всегда работает.
VBoxManage controlvm testxp acpipowerbutton
acpipowerbutton | Выключить через acpi (кнопка power на системнике) |
poweroff | Выключить быстро и сердито (вынуть штепсель из розетки) |
reset | Перезагрузка (кнопка reset на системнике) |
pause | Временно остановить работу ВМ |
resume | Продолжить работу машины (после команды pause) |
Выключить или перезагрузить ВМ можно конечно же из самой виртуальной ОС.
Заключительные настройки
Сделаем проброс порта 5555 для подключения к RDP Windows.
# Сперва выключить ВМ VBoxManage setextradata testxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/rdpforward/Protocol" TCP VBoxManage setextradata testxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/rdpforward/GuestPort" 3389 VBoxManage setextradata testxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/rdpforward/HostPort" 5555
Поскольку при настройке сети я не стал указывать модель виртуально сетевой карты, то используется по умолчанию
AMD PCNet FAST III (Am79C973, the default)
Для AMD: /VBoxInternal/Devicess/pcnet
Для Intel: /VBoxInternal/Devicess/e1000
Проверяем
Отключаем VRDP
VBoxManage modifyvm testxp --vrdp off
Обновление ядра
После обновления ядра пересобрать модули
emerge app-emulation/virtualbox-modules -1av depmod -a
Обсуждение
Если не работает VRDP в VBbox-4, не зависит от дистра то вероятнее всего не установлено расширение
VirtualBox Extension Pack
установка
Об этом можно не дочитать или не знать.
Доброго времени суток, и спасибо за материал!) У меня к Вам вопрос. Где можно найти файл отвечающий за настройку объема видеопамяти. У меня видеопамяти 1 гигабайт и выделить хочу под ВМ 512 мегабайт. Через графику больше 256 не дает поставить. Мой дистрибутив - Кubuntu 11.10, ВМ - VirtualBox 4.1.8. P.S.: На форуме Кubuntu, в ветке "Наконец-то в VirtualBox из коробки стала поддерживаться технология Direct3D", есть вариант ответа, но файла указанного там я не нашел у себя.