Archive | Virtualization RSS for this section

VirtualBox: console & headless

Создание/управление гостевыми машинами из командной строки.

Запуск гостевых виртуальных машин без отображения консоли.

Подключение к ВМ по VRDE (VirtualBox Remote Display Protocol).

Пару слов о том, за чем это нужно. Иногда вбить пару команд в консоли быстрее, чем щелкать мышей. К тому же, сервер VirtualBox`а в силу обстоятельств может быть развернут на системе без “иксов” (X-Window). Мне эти команды пригодились, когда мне понадобилось поднять стенд для pentest`а LAMP, но это уже тема для отдельной заметки.

Список команд, которые я приведу ниже родом из VirtualBox User Guide. В конце заметки я буду на него ссылаться. Заметка отличается от документации тем, что я собрал список готовых к употреблению команд, которыми можно создать, запустить гостевую машину и подкорректировать ее параметры.  

Важно!

Я привожу синтаксис команд для Windows версии. В Linux все также, кроме слешей в пути к образам

Создание виртуальной машины

VBoxManage createvm –name “lion” –groups “/pentest” –ostype “Debian” –register
VBoxManage modifyvm “lion” –cpus 2 –memory 512 –vram 16 –acpi on –ioapic on –clipboard disabled –vrde on –vrdeport 888 –boot1 dvd –nic1 nat –nic2 intnet
VBoxManage createhd –filename D:\work\vm\pentest\lion\lion.vdi –size 7168
VBoxManage storagectl “lion” –name “IDE” –add ide –controller PIIX4 –bootable on –hostiocache on
VBoxManage storageattach “lion” –storagectl “IDE” –port 0 –device 0 –type hdd –medium D:\work\vm\pentest\lion\lion.vdi
VboxManage storageattach “lion” –storagectl “IDE” –port 1 –device 0 –type dvddrive –medium D:\work\iso_nix\debian-7.1.0-i386-netinst.iso

> разбор команд и параметров:
1. создаем ВМ с указанным именем в заданной группе, указываем тип ОС (список поддерживаемых получаем VBoxManage list ostypes), регистрируем ВМ;
2. выделяем системе ресурсы: 2 ядра, 512 Мб ОЗУ, 16 МБ видеопамяти,  включаем ACPI и I/O APIC,  отключаем буффер обмена, включаем протокол удаленного рабочего стола, задаем порт, далем привод загрузочным, добавляем две сетевухи 1-я NAT, 2-я внутрення сеть;
3. создаем виртуальный жесткий диск (динамического объема) по указаному пути;
4. добавляем к машине контроллер жесткого диска;
5. подключаем к контроллеру созданный ранее виртуальный жесткий диск;
6. подключаем к кнотроллеру образ с дистрибутивом ОС;

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Запуск ВМ без окна, установка гостевых утилит, доводка “напильником”

VBoxManage -q startvm “lion” –type headless
VBoxManage controlvm “lion” poweroff
VboxManage storageattach “lion” –storagectl “IDE” –port 1 –device 0 –type dvddrive –medium emptydrive
VboxManage storageattach “lion” –storagectl “IDE” –port 1 –device 0 –type dvddrive –medium C:\Q\VirtualBox\VBoxGuestAdditions.iso
VBoxManage modifyvm “lion” –boot1 disk

 

> разбор команд и параметров:
1. запускаем указанную ВМ без вывода окна (список зарегистрированных ВМ получаем VBoxManage list vms);
Важный момент, подключаемся к ВМ с помощью стандартного RDP клиента
Пуск\Выполнить\mstsc -v:10.10.10.200:7070, где
10.10.10.200 – IP хоста
7070 – номер порта, который мы назнпачили VRDE
Если же вместо IP адреса указываем localhos то порт нужно указывать в квадратных скобках
mstsc -v:localhost[:7070]
2. останавливаем машину после завершения установки ОС;
3. отключаем примонтированный образ;
4. монтируем образ с гостевыми утилитами;
5. меняем приоритет загрузки, ставим первым жесткий диск

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Создание “шар” между гостевой ВМ и хостом
VBoxManage sharedfolder add “lion” –name “work” –hostpath “D:\work\1” –automount
VBoxManage sharedfolder add “lion” –name “work” –hostpath “D:\work\2” –automount –readonly

> разбор команд и параметров:
1. примонтировать указанный каталог хоста с возможностью записи
2. примонтировать указанный каталог хоста в readonly

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Остальные команды

VBoxManage list vms
VBoxManage showvminfo “name”
VBoxManage –q startvm name –type headless [or in GUI start + Shift]
VBoxManage -q controlvm “name” reset / poweroff / savestate / discardstate / adoptstate -file.sav
VBoxManage -q snapshot take “name” / restore name
VBoxHeadless -startvm “name” –vrde=off
VBoxSDL –startvm “name”

> разбор команд и параметров:
1. отобразить список зарегистрированных ВМ
2. отобразить параметры выбранной ВМ
3. запуск ВМ без окна из коммандной строки или в GUI с зажатой клавишей <Shift>
4. перезагрузка/ выключение/ сохранение состояния/ отмена сохраненного состояния/ использование ранеесозданого “сейва”
5. создание “снимка” ВМ/ восстановление из ранеесозданного снимка
6. запуск ВМ с отключенным VirtualBox Remote Desktop Extension
7. запуск ВМ в режиме упрощенного GUI

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Список использованной литературы:

Онлайн документация по VirtualBox, 8-й параграф

Юзергайд по VirtualBox (PDF)

На этом все. Спасибо за внимание.