Virtualbox создание виртуальной машины консоль. Управление VirtualBox с помощью консоли. Сила командной строки
1.Создаем виртуальную машину с именем windows_xp
VBoxManage createvm --name windows_xp --regist er
Созданная виртуальная машина является XML файлом, который располагается в домашней директории /root/VirtualBox\ VMs/windows_xp/windows_xp.vbox
2. Далее нужно создать диск виртуальной машины
VBoxManage createhd --filename /date/VirtualBox/windows_xp.vdi --size 15000 --variant Fixe d
По умолчанию диск создается в домашней папке пользователя, мы создали диск windows_xp.vdi в диретроии /date/VirtualBox/ размером 15 гигабайт; размер фиксированный, т. е. его увеличение динамически не происходит.
3.Создаем контроллер виртуальных дисков
VBoxManage storagectl windows_xp --name "IDE Controller" --add ide --controller PIIX4
С помощью этой команды создается контроллер IDE с именем “IDE Controller”, тип контроллера – PIIX4.
4. Подключаем виртуальный диск к виртуальной машине:
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /date/VirtualBox/windows_xp.vdi
5.Подключаем виртуальный образ ос которую хотим установить
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /date/public/winxp_pro_eng_sp3.iso
6. Устанавливаем размер оперативной памяти для виртуальной машины 512мб
vboxmanage modifyvm windows_xp --memory 512
7. Устанавливаем тип системы VBoxManage modifyvm windows_xp --ostype WindowsX P
посмотреть все возможные ostype: VBoxManage list ostypes
8. Разрешаем подключаться к консоли по протоколу RDP
vboxmanage modifyvm windows_xp --vrde on
Чтобы удобней было управлять виртуалками нужно набор дополнений который включает USB 2.0 и встроенный RDP сервер. Скачиваем дополнения и устанавливаем: wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
9. Запускаем виртуальную машину
vboxheadless -s windows_xp или в фоне:
VBoxManage startvm windows_xp --type headless
чтобы запустить гостевую ОС на базовом компьютере с которым вы работаете через ssh, нужно использовать ключ –type=headless:
10. Подключаемся по RDP ip_servera и устанавливаем win_xp как обычно
11.Выключить машину можно так VBoxManage controlvm windows_xp poweroff
12.Монтируем диск VboxGuestAdditions
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
Стартуем машину и устанавливаем VboxGuestAdditions
13. Подробную информацию о конкретной виртуальной ОС можно получить командой VBoxManage showvminfo windows_xp
14. С помощью этой команды создается сетевой интерфейс NIC типа «мост»
VBoxManage modifyvm windows_xp --nic1 bridged --bridgeadapter1 eth0
15. Если диск виртуальной машины нужно клонировать, то это делается с помощью утилиты VBoxManage:
VBoxManage clonehd /путь/откуда/копируем/image1.vdi /путь/куда/копируем/image2.vdi
После этого все замечательно подключается к новой виртуальной машине.
16.Создать расшаренную папку с сервером
vboxmanage sharedfolder add "windows_xp" --name share-name --hostpath /mnt
Подключить расшаренную папку из windows_xp выполнить
\\vboxsvr\share-name
Иногда возникает необходимость запустить виртуальную машину на хосте без иксов. Я расскажу о том как это сделать, имея доступ к хостовой системе только по ssh + rdp (Remote Desktop Protocol). процесс я буду описывать для OC Ubuntu 9.10 в качестве хоста.
Начнем с установки VirtualBox.
Предварительно нужно установить пакет dkms (Dynamic Kernel Module Support Framework):
Sudo apt-get install dkms
На сайте предлагается 2 варианта: прописать источник пакетов (deb download.virtualbox.org/virtualbox/debian karmic non-free) в /etc/apt/sources.list либо скачать и установить deb-пакет. Когда я прописал источник и сделал sudo apt-get install virtualbox-3.1 у меня потянулась куча пакетов из зависимостей (в том числе и каких-то для GUI интерфейса). Поэтому лучше скачать deb-пакет. Качаем, устанавливаем:
Sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Возможно тут также потребуются зависимости (какие-то библиотеки для парсинга xml, в котором хранятся конфиги, но их значительно меньше чем в первом случае). Если установка не завершилась из-за зависимостей, можно просто сделать
Sudo apt-get -f install
При этом установятся зависимости и VirtualBox
Ок. VirtualBox поставили. Начнем создавать guest-машины.
Создаем саму машину:
VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(name - имя машины, ostype - тип системы. полный список всех типов можно узнать командой VBoxManage list ostypes)
Настраиваем
VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp on --vrdpport 3390
Тут с большего все понятно. в качестве типа сети можно указать также NAT (--nic1 nat). также включаем rdp
Создаем hdd диск для виртуальной машины:
VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register
Добавляем контроллер IDE в нашу машину
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
Цепляем на IDE0 созданный ранее hdd
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
На IDE1 цепляем установочный образ
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Говорим машине грузиться с диска
VBoxManage modifyvm ubuntu --boot1 dvd
Запускаем машину
Для того чтобы поставить базовую систему воспользуемся rdp-клиентом (у меня KDE, в стандартную поставку входит KRDC). коннектимся на хостовую машину на порт, который указали в настройках (--vrdpport 3390), ставим систему, делаем sudo apt-get install openssh-server . теперь на виртуальную машину можно попасть по ssh
Останавливаем виртуальную машину
VBoxManage controlvm ubuntu acpipowerbutton
через acpi
Или более жестко
VBoxManage controlvm ubuntu poweroff
Говорим грузится с hdd
VBoxManage modifyvm ubuntu --boot1 disk
Можно также отцепить установочный диск
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none
И снова запускаем
Nohup VBoxHeadless --startvm ubuntu &
Еще полезные команды:
VBoxManage list runningvms
просмотр всех запущенных машин
VBoxManage showvminfo ubuntu
просмотр информации о виртуальной машине
Таким образом на одной машине с минимально установленной системой можно поднимать несколько виртуальных для различных целей и экспериментов
Автор: Ken Hess
Дата публикации: January 18th, 2010
Перевод: Н.Ромоданов
Дата перевода: февраль 2010 г.
Обычные пользователи VirtualBox могут не знать о той огромной силе, что таится в интерфейсе командной строки.
Обычно спрашивают: "Зачем работать в командной строке, когда у вас есть вполне хороший графический интерфейс?" Ответ - огромные возможности командной строки. С 1995 года существует целое поколение компьютерных пользователей, которые считают, что компьютер представляет собой набор окон и графики, но, в действительности, это очень далеко от истины. Почему, 1995 год, спросите вы? С появлением Windows 95 в 1995 году была открыта новая компьютерная эра — эра графических интерфейсов. Вскоре после того рокового августа был выпущен релиз FVWM95, который был ответом Linux на интерфейс Windows 95 Explorer. Мне кажется, что в те старые добрые времена командная строка исчезла навсегда. Никто не хотел больше пользоваться DOS и перестали бояться Linux. Но командной строки все еще жива и здравствует в среде Linux. Она все еще достаточно жива в Windows. И теперь, когда Маки базируются на Unix, в них также есть много чего, что не требует графического интерфейса.
Для вас может оказаться сюрпризом, что под миловидным графическим интерфейсом VirtuaBox , с его яркой графикой, понятной страницей настройки Settings и большим количеством выпадающих списков, притаился оккультный мир командной строки. Истинная сила этого темного мира откроется только тем, кто посмеет войти в эти затхлые катакомбы. После того, как вы разберетесь с командной строкой VirtualBox, вы, возможно, решите, что графический интерфейс — это чуть больше, чем просто красивая драпировка, созданная для тех, кто в противном случае будет просто игнорировать скучный черный прямоугольник реально работающего приложения.
Сила командной строки
Черный прямоугольник, о котором я говорил, является терминальным окном. Командная строка позволяет воспользоваться всей мощью автоматического исполнения команд. Единственный способ автоматизации, который известен мне в *nix системах, это использование скриптов, написанных на Perl-е, шелл-скрипты или скрипты на каком-нибудь другом языке. А демон системного планировщика (cron) поможет вам в нужное время запустить скрипт. Эта та сила командной строки, которая благодаря возможности автоматического запуска, что требует от системных администраторов также умения писать скрипты, является их багажом умения. В каждой вакансии, в которой требуется системный администратор, будет указано, что соискатель должен уметь писать скрипты хотя бы на одном из перечисленных в вакансии интерпретируемых языков.
Что касается виртуализации, то командная строка позволит вам быстро создавать виртуальные диски, добавлять новый сетевой интерфейс, запускать виртуальные машины и создавать новые виртуальные машины, причем все это — без использования графического интерфейса. Автоматическое выполнение с помощью скриптов также позволит вам спланировать запуск и остановку виртуальных машин без вашего непосредственного вмешательства. И, если вы действительно классный специалист по скриптам, вы сможете написать скрипт, который с помощью подсказок поможет вам с самыми минимальными вмешательствами с вашей стороны создать виртуальную машину, запустить ее или установить и изменить ее. Если вам не нравится все делать вручную, вы составите список виртуальных машин, используемых постоянно, затем настроите скрипты (шаблоны) для каждого типа используемых виртуальных машин и, при необходимости, в течение нескольких секунд создадите виртуальную машину.
Давайте рассмотрим простые и элегантные функциональные возможности командной строки в VirtualBox.
Установка и основные составляющие
По ссылке VirtualBox Linux Downloads загрузите двоичный дистрибутив, предназначенный под вашу систему. Если хотите, то можете скачать исходный код. Для выбранного мною варианта (для RHEL5/CentOS5 в формате rpm) были созданы следующие директории:
- Для двоичных модулей - /usr/lib/virtualbox с сылками из /usr/bin
- Для библиотек - /usr/lib/virtualbox
- Для исходных кодов - /usr/share/virtualbox
- Для гостевых компонентов (ISO) - /usr/share/virtualbox
Если в вашем дистрибутиве нет последней версии VirtualBox (версия 3.1.2 на момент написания данной статьи), то воспользуйтесь одним из пакетов, который можно загрузить, либо загрузите исходный код.
Создание и конфигурирование виртуальной машины
Самое трудное при использовании командной строки это — знать, с чего начинать. В графическом интерфейсе нужно воспользоваться кнопкой New. Командная строка немного сложнее открывает свои тайны. Для того, чтобы создать и настроить новую виртуальную машину, вы должны открыть терминальное окно, либо воспользоваться сеансом ssh для доступа к Linux системе, на которой установлен VirtualBox, и выполнить следующую команду:
$ /usr/bin/VBoxManage createvm --name Debian5 –register
С помощью этой команды создается новая виртуальная машина с именем Debian5, которая регистрируется в VirtualBox. Созданная виртуальная машина является XML файлом, который располагается в домашнем директории ~/.VirtualBox/Machines/Debian5/Debian5.xml .
Создаем виртуальный диск для вашей виртуальной машины:
$ /usr/bin/VBoxManage createhd --filename Debian5.vdi --size 4000 --variant Fixed
Вы создали виртуальный диск с именем Debian5.vdi размером в 4 Гбайта (4000 Мбайтов); размер фиксированный, т. е. его увеличение динамически не происходит.
Виртуальный диск создается в виде файла ~/.VirtualBox/HardDisks/Debian.vdi
Создайте контроллер дисковых устройств, к которому вы подсоедините виртуальный диск и виртуальное устройство CD/DVD
$ /usr/bin/VBoxManage storagectl Debian5 --name "IDE Controller" --add ide --controller PIIX4
С помощью этой команды создается контроллер IDE с именем “IDE Controller”, тип контроллера - PIIX4.
Теперь подсоединим виртуальный диск к вашей виртуальной машине:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Debian5.vdi
Подсоединяем образ ISO той операционной системы, которую вы хотите установить:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /ISO/debian-40r3-i386-netinst.iso
Настраиваем сеть:
$ /usr/bin/VBoxManage modifyvm Debian5 --nic1 bridged --cableconnected1 on --bridgeadapter1 eth0
С помощью этой команды создается сетевой интерфейс NIC типа "мост" (bridge): кабель подключается при запуске системы Linux, адаптер - eth0.
Запускаем виртуальную машину:
$ /usr/bin/VBoxManage startvm Debian5
Если все пойдет так, как планировалось, вы увидите следующее сообщение, а затем вы увидите окно виртуальной машины, готовое для инсталляции:
Waiting for the remote session to open... Remote session has been successfully opened.
Вы видите, что создание и настройка виртуальной машины в командной строке освобождает вас от бесконечных щелканий кнопками мыши и раскрывает целый мир новых возможностей автоматизации виртуальных машин. И мы здесь не углублялись, но надеюсь, изложенное пробудит в вас любопытство и подвигнет вас на освоение той огромной силы, которой обладает командная строка.
Если вам понравилась статья, поделитесь ею с друзьями:
Иногда возникает необходимость запустить виртуальную машину на хосте без иксов. Я расскажу о том как это сделать, имея доступ к хостовой системе только по ssh + rdp (Remote Desktop Protocol). процесс я буду описывать для OC Ubuntu 9.10 в качестве хоста.
Начнем с установки VirtualBox.
Предварительно нужно установить пакет dkms (Dynamic Kernel Module Support Framework):
Sudo apt-get install dkms
На сайте предлагается 2 варианта: прописать источник пакетов (deb download.virtualbox.org/virtualbox/debian karmic non-free) в /etc/apt/sources.list либо скачать и установить deb-пакет. Когда я прописал источник и сделал sudo apt-get install virtualbox-3.1 у меня потянулась куча пакетов из зависимостей (в том числе и каких-то для GUI интерфейса). Поэтому лучше скачать deb-пакет. Качаем, устанавливаем:
Sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Возможно тут также потребуются зависимости (какие-то библиотеки для парсинга xml, в котором хранятся конфиги, но их значительно меньше чем в первом случае). Если установка не завершилась из-за зависимостей, можно просто сделать
Sudo apt-get -f install
При этом установятся зависимости и VirtualBox
Ок. VirtualBox поставили. Начнем создавать guest-машины.
Создаем саму машину:
VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(name - имя машины, ostype - тип системы. полный список всех типов можно узнать командой VBoxManage list ostypes)
Настраиваем
VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp on --vrdpport 3390
Тут с большего все понятно. в качестве типа сети можно указать также NAT (--nic1 nat). также включаем rdp
Создаем hdd диск для виртуальной машины:
VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register
Добавляем контроллер IDE в нашу машину
VBoxManage storagectl ubuntu --name "IDE Controller" --add ide
Цепляем на IDE0 созданный ранее hdd
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
На IDE1 цепляем установочный образ
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Говорим машине грузиться с диска
VBoxManage modifyvm ubuntu --boot1 dvd
Запускаем машину
Для того чтобы поставить базовую систему воспользуемся rdp-клиентом (у меня KDE, в стандартную поставку входит KRDC). коннектимся на хостовую машину на порт, который указали в настройках (--vrdpport 3390), ставим систему, делаем sudo apt-get install openssh-server . теперь на виртуальную машину можно попасть по ssh
Останавливаем виртуальную машину
VBoxManage controlvm ubuntu acpipowerbutton
через acpi
Или более жестко
VBoxManage controlvm ubuntu poweroff
Говорим грузится с hdd
VBoxManage modifyvm ubuntu --boot1 disk
Можно также отцепить установочный диск
VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --medium none
И снова запускаем
Nohup VBoxHeadless --startvm ubuntu &
Еще полезные команды:
VBoxManage list runningvms
просмотр всех запущенных машин
VBoxManage showvminfo ubuntu
просмотр информации о виртуальной машине
Таким образом на одной машине с минимально установленной системой можно поднимать несколько виртуальных для различных целей и экспериментов