Vboxmanage windows

Виртуальные машины. Как сделать компьютер в компьютере

Vboxmanage windows

В одном обычном компьютере можно создать сразу несколько виртуальных, чтобы познакомиться с возможностями Linux или другими экзотическими ОС, запустить очень старую и сегодня неподдерживаемую программу, пройти заново игру детства на современном железе. Или же запустить Windows Vista внутри Windows 7 внутри Windows 8 внутри Windows 10. Просто потому, что захотелось.

Виртуальная машина — это эмулятор компьютера в самом широком смысле. Это почти как эмулятор игровой приставки или Android-устройства, только настраивается гораздо гибче.

Например, на эмуляторе Sony PlayStation не получится запустить игру под Nintendo GameBoy. А эмулятор DOSbox — это очень условный, специализированный виртуальный компьютер с эмуляцией определенного списка старого оборудования и со встроенной системой DOS, так что запустить там Windows 10 не получится.

Виртуальная машина же — это эмулятор персонального компьютера с практически любым железом. И на этот компьютер можно устанавливать любую операционную систему и программы, которые нужны.

В деловых процессах виртуальные машины используются активно — там это нужно. Центры обработки данных, облачные вычисления, виртуальные серверы, разграничение доступа и все такое.

На одном и том же железе может работать отдельный файловый архив, отдельный веб-сервер, отдельный сервер авторизации — и все на разных системах, полностью изолированных друг от друга.

Но зачем нужна технология виртуальных машин обычному домашнему пользователю?

Вот простой пример: у вас есть компьютер и на нем, скорее всего, установлена операционная система Windows. Для изучения программирования вам требуется linux, но вы не хотите экспериментировать со своим компьютером, разбивать личный диск на несколько разделов и рисковать потерей данных. Виртуальная машина позволит работать в другой системе, при этом родная Windows никак не пострадает.

Или, например, есть очень важная и нужная программа, которая запускается только под WindowsXP конкретной версии и сборки. Причем эта программа откажется запускаться, если оперативной памяти больше 128 мегабайт.

Можно отпилить часть микросхем от современного модуля на 16 гигабайт, но что-то вам подсказывает, что так делать не нужно.

А вот виртуальная машина поможет запустить капризный софт, эмулируя компьютер с нужным объемом памяти.

А вот, допустим, игра двадцатилетней давности, которую вы нашли на антресолях и пытаетесь установить в приступе ностальгии. Игра отказывается верить в существование восьмиядерного процессора и вылетает с ошибкой «так не бывает». Виртуальная машина с нужными характеристиками поможет вспомнить былые времена и запустить игру.

Часто виртуальная машина используется в качестве «песочницы» — маленькой игровой площадки для программы, которая вызывает у вас подозрения.

Чтобы не рисковать, вы запускаете сомнительную программу внутри виртуальной машины, а не на настоящем компьютере: софт честно делает свою работу, потом шифрует все файлы и требует денег, например.

Но в виртуальной системе, в той самой «песочнице» не было никаких ценных данных, поэтому вы можете спокойно удалить виртуальную машину с наглой программой внутри. Здорово же!

Наконец, приверженцы техники Apple или убежденные Linux-пользователи тоже могут использовать виртуальную машину, чтобы запустить какой-то специфический софт, который работает только под Windows.

Как видите, даже для домашнего пользования виртуальные машины могут пригодиться. Поэтому разберемся с основными характеристиками и научимся создавать компьютер в компьютере.

Гость (guest, гест, гостевая система, таргет) — это виртуальный компьютер, один или несколько, который запускается на хосте.

Хост — это основной компьютер, на котором запускаются виртуальные машины. Производительность хоста должна быть достаточной, чтобы тянуть и собственную систему, и гостевую. Для запуска одной виртуальной машины вполне достаточно возможностей любого современного компьютера.

Но для нормальной работы нескольких систем одновременно лучше иметь не меньше шестнадцати гигабайт оперативной памяти, а образы компьютеров создавать на скоростном SSD-накопителе.

По очевидным причинам, у вас не получится создать виртуальную машину с характеристиками выше, чем у самого хоста — если на основном компьютере всего 8 гигабайт оперативной памяти, то создать таргет с 16 ГБ не выйдет.

Гипервизор — специализированная программа для создания виртуальных машин и управления ими. Для домашнего пользования есть бесплатные программы-гипервизоры с минимальным количеством настроек и функций.

В бизнес-сфере используются более продвинутые решения, а некоторые гипервизоры и вовсе устанавливаются вместо операционной системы, чтобы сразу несколько мощных компьютеров можно было объединить в большой виртуальный хост. Это называется «консолидация серверов».

Дорогое удовольствие, как по затратам на железо, так и на гипервизор.

Образ — термин достаточно известный, обозначает файл с полной цифровой копией какого-либо носителя внутри. Обычно применяется в отношении оптических дисков, но в нашем случае в образе может храниться и дискета, и виртуальный жесткий диск.

Чтобы начать знакомство с виртуальной машиной потребуется установить гипервизор. Таковых существует множество: платных и не очень, для тонкой настройки всего и вся или базового «нажал — заработало».

Virtualbox — один из наиболее популярных гипервизоров, потому что бесплатный, доступен под Windows, Mac OS и Linux, активно развивается и поддерживается сообществом разработчиков и энтузиастов.

Скачать VirtualBox можно с официального сайта, но учтите, он на английском.

Начиная с шестой версии в VirtualBox убрали поддержку 32-битных хост-систем, но пятая версия до сих пор доступна для скачивания. В любом случае, можно скачать обе версии. Для более комфортной работы потребуется еще и набор расширений — ExtensionPack.

Устанавливается VirtualBox довольно просто, достаточно последовательно соглашаться со всеми предложениями. Перед установкой появится большое предупреждение о том, что компьютер будет отключен от сети, на время установки виртуальных сетевых карт — это нормально. А в ходе установки появится несколько подтверждающих окон — это устанавливается эмулятор USB, сетевых карт и других устройств.

Ну а после установки появится основное окно гипервизора на родном русском языке.

Первым же делом желательно установить пакет расширений — он добавляет поддержку USB 2.0, подключение по протоколу RDP, поддержку накопителей с NVMe и прочие полезные вещи. В стандартной установке все эти возможности отсутствуют из-за различных лицензий: сам гипервизор бесплатный во все стороны, а расширения бесплатны только для личного пользования и ознакомления.

Чтобы установить расширения достаточно запустить файл Extensionpack дабл-кликом, но делать это нужно после установки самого Virtualbox — потому что установщик расширений запускается внутри гипервизора.

Гипервизор создает файл образа жесткого диска, резервирует определенное количество оперативной памяти и занимает процессорное время — это необходимо для работы «контейнера», в котором будет работать виртуальная машина.

Изнутри же «контейнер» выглядит как полноценный компьютер с жестким диском, оптическим приводом, дисководом, сетевой картой, видеоадаптером, звуковой картой и прочим оборудованием. Причем заменить видеокарту обычно нельзя — она эмулируется как встроенная в материнскую плату.

А вот в оптический привод можно либо загрузить образ из файла, либо использовать существующий привод хоста.

Процессор виртуализируется как минимум одним ядром. Для старых систем лучше не использовать многоядерность — не поймут, испугаются и будут глючить. А новым больше двух ядер нужно выдавать только при реальной необходимости.

Подключенные к хосту USB-устройства можно пробросить внутрь виртуальной машины. Достаточно выбрать для конкретной машины нужный пункт из меню «Устройства — USB».

При этом, например, флэшка исчезнет из списка накопителей в хост-системе и станет видна в виртуальной машине.

Также можно поступить с любым другим USB-устройством, но не забудьте сначала установить Extensionpack, иначе скорость USB 1.1 вас огорчит.

Чтобы файлы на основной системе были доступны в виртуальной ОС можно воспользоваться общими папками: они монтируются как сетевые пути, но удобнее автоматически их монтировать как сетевой диск — он будет подключаться при загрузке системы. Подробности разберем на этапе настройки.

Создать новую виртуальную машину в VirtualBox поможет встроенный мастер настройки. Достаточно ввести название виртуального компьютера, а гипервизор на его основе попытается определить нужную операционную систему и выдаст рекомендуемые параметры. Если название слишком оригинальное, то потребуется указать тип гостевой операционной системы вручную.

Несмотря на то, что в списке поддерживаемых систем есть даже Windows 3.1, лучше всего виртуализируются относительно свежие системы, начиная хотя бы с Windows 2000. С win9x немного сложнее: сначала нужно загрузить DOS из образа дискеты, а уже потом запускать установщик — в те времена загрузочные CD не делали, потому что оптические носители только-только появлялись.

Следующим шагом будет выбор объема оперативной памяти и виртуального жесткого диска — если нет специальных требований, то автоматически предложенные значения можно не менять.

После создания виртуальной машины необходимо открыть ее настройки и подключить образ загрузочного компакт-диска на вкладке «носители». И теперь можно запускать виртуальный компьютер.

Установка системы у многих пользователей не вызовет лишних вопросов, поэтому подробно описывать этот процесс не будем. А последующая установка драйверов — другое дело. В VirtualBox есть специальный «диск с драйверами», который называется «Дополнения гостевой ОС» — его можно подключить через пункт меню.

Дополнения — это диск с драйверами, который загружается в виртуальный привод оптических дисков. В Windows-системах достаточно запустить файл autorun с диска, а под Linux — соответствующий скрипт.

выгода от установки гостевых драйверов — возможность произвольно менять размеры окна виртуальной машины, а разрешение экрана автоматически подстроится.

А, ну и цвета станут повеселее: не 16 базовых, а 32 миллиона оттенков.

Виртуальная машина с настройками «по умолчанию» получает доступ в интернет, но не имеет никакой связи с основным компьютером. А иногда эта связь нужна…

В настройках можно включить двусторонний буфер обмена. Он, правда, работает только с текстовой информацией, но упрощает ввод интернет-адресов и консольных команд. Для приема-передачи файлов можно настроить сетевые папки. Любая папка на хосте может быть подключена в виде сетевой папки в гостевой системе.

Дополнительно можно выдать права гостевой системе на запись в эту папку и автоматически подключать папку в качестве диска при загрузке системы.

Так, например, папка Downloads на хост-системе может быть доступна из гостевой системы через сетевое окружение по адресу //vboxsvr/Downloads или автоматически подключаться как сетевой диск.

Для экспериментов с Linux-системами и виртуальными серверами часто требуется доступ из хоста к веб-серверу, который запускается на гостевой ОС.

Для этого нужно переключить режим сетевой карты с «NAT» на «виртуальный адаптер хоста» или же «Virtualbox Host-only Ethernet Adapter».

В последнем случае у гостевой системы не будет личного доступа в интернет, но она сможет общаться с основным компьютером. Так, например, с хоста можно постучаться на файловый сервер, который работает на виртуальной машине.

В данном случае это специализированный linux-дистрибутив openmediavault для создания сетевого хранилища, который запущен в виртуальной машине с типом сетевого адаптера «только хост».

проблема — отсутствие вменяемой поддержки видеоадаптера и 3D-ускорения. На обычной хост-системе вы можете пользоваться новейшей видеокартой, но все ее преимущества в виртуальной машине будут недоступны. Впрочем, старые игры не особо требовательны к видео — в большинстве случаев справится и встроенный видеоадаптер процессора.

Второй момент — поддержка современного интернета старыми системами. Открыть любой сайт в системе, которая устарела лет на 10–20, может быть проблематично. Либо страница загрузится не полностью, либо не загрузится вовсе.

Виртуальные машины позволят вам изучить экзотические ОС на современном компьютере. Помимо множества современных Linux-дистрибутивов, это может быть:

  • ReactOS — система с открытым кодом, которая пытается быть совместимой с WinXP
  • BeOS (нынче HaikuOS) — самая дружелюбная к пользователю система из 90х
  • OS/2 — нерушимая и надежная система от IBM, которая использовалась в 90х
  • MacOSX — самая капризная в плане виртуализации система, которая хорошо работает только на компьютерах от Apple.

Также можно установить старую версию Windows и попробовать покорить современный интернет. Во времена технологии Active Desktop в windows98 интернет был очень другим.

В конце концов, виртуальная машина позволит экспериментировать с сомнительными программами, запуская их в изолированной песочнице. Virtualbox, как и многие другие бесплатные гипервизоры, это лишь инструмент, а как использовать виртуальную машину – решайте сами.

Источник: https://club.dns-shop.ru/blog/t-328-prilojeniya/37837-virtualnyie-mashinyi-kak-sdelat-komputer-v-komputere/

Записки программиста

Vboxmanage windows

Такие решения, как LXC и KVM, не всегда удобны, потому что они работают только под Linux. Используя их, вы не можете передать виртуалки пользователям каких-нибудь MacOS или Windows.

По этой причине, а также потому что на практике у меня еще не возникало необходимости запускать больше пяти ВМ одновременно, я все еще предпочитаю VirtualBox. Им можно управлять из консоли при помощи Vagrant, но Vagrant всегда делал чуть-чуть не то, что мне на самом деле было нужно.

Например, я хочу, чтобы по дэфолту все виртуалки всегда были в одной NAT-сети, без какой-либо правки Vagrantfile’ов. Все это сподвигло меня к изучению «родных» утилит VirtualBox, в частности, vboxmanage.

Давайте же посмотрим, как все, что вы когда-либо можете захотеть от виртуалок, делается с помощью vboxmanage.

Просмотреть настройки VirtualBox:

vboxmanage list systemproperties

Изменение настроек, например, пути до каталога, гда хранятся виртуалки:

vboxmanage setproperty machinefolder /home/eax/virtualbox

Список поддерживаемых типов виртуалок:

vboxmanage list ostypes
vboxmanage list ostypes | egrep ID

Создаем новую виртуалку:

vboxmanage createvm –name ubuntu1604 –ostype Ubuntu_64 –register

Меняем параметры ВМ — указываем количество памяти и тд:

vboxmanage modifyvm ubuntu1604 –cpus 1 –memory 512 –audio none \
  –usb off –acpi on –boot1 dvd –nic1 nat

Создаем жесткий диск размером 10 Гб (место по дэфолту не преаллоцируется):

vboxmanage createhd \
  –filename /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi \
  –size 10000

Цепляем созданный жесткий диск к виртуалке:

vboxmanage storagectl ubuntu1604 –name ide-controller –add ide
vboxmanage storageattach ubuntu1604 –storagectl ide-controller \
  –port 0 –device 0 –type hdd \
  –medium /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi

Цепляем к ВМ ISO-образ, с которого будет происходить установка системы:

vboxmanage storageattach ubuntu1604 –storagectl ide-controller \
  –port 0 –device 1 –type dvddrive \
  –medium /home/eax/data/iso/ubuntu-16.04.1-server-amd64.iso

Включаем доступ к ВМ по VNC:

vboxmanage modifyvm ubuntu1604 –vrde on
vboxmanage modifyvm ubuntu1604 –vrdeaddress 127.0.0.1
vboxmanage modifyvm ubuntu1604 –vrdeport 3001
vboxmanage modifyvm ubuntu1604 –vrdeproperty VNCPassword=”secret”

Я лично для подключения использую TigerVNC (форк TightVNC):

Чтобы каждый раз не вводить пароль, можно сказать:

… и всегда использовать этот файл:

vncviewer localhost:3001 PasswordFile=/home/eax/temp/vnc.password

Посмотреть свойства виртуальной машины (узнать номер порта VNC):

vboxmanage showvminfo ubuntu1604  | grep VRDE

Запустить виртуалку:

# если на десктопеvboxmanage startvm ubuntu1604

# если все это крутится на сервере и собираемся подрубаться по VNC

vboxmanage startvm –type headless ubuntu1604

Для некоторых систем установочный диск отключается от ВМ автоматически по окончанию установки. Если этого не произошло, говорим:

vboxmanage storageattach archlinux1 –storagectl ide-controller \
  –port 0 –device 1 –type dvddrive –medium emptydrive

Pause, Resume, Poweroff:

vboxmanage controlvm archlinux1 pausevboxmanage controlvm archlinux1 resume

vboxmanage controlvm archlinux1 poweroff

Проброс портов настраивается так (ВМ должна быть остановлена):

vboxmanage modifyvm ubuntu1604 –natpf1 “ssh-forwarding,tcp,,22001,,22”

После этого в виртуалку можно будет зайти по SSH таким образом:

ssh -p 22001 eax@localhost

Просмотр списка правил перенаправления портов:

vboxmanage showvminfo ubuntu1604 | grep Rule

Удаление правила:

vboxmanage modifyvm ubuntu1604 –natpf1 delete ssh-forwarding

Список всех виртуалок:

vboxmanage list vms
vboxmanage list vms –long | egrep '(Name|State)'

Список работающих виртуалок:

vboxmanage list runningvms

Переименовать ВМ (при этом переименовывается и ее каталог):

vboxmanage modifyvm ubuntu1604 –name ubuntu1

Создать полный клон ВМ:

vboxmanage clonevm ubuntu1 –name ubuntu2 –register

Список NAT-сетей:

vboxmanage natnetwork list

Создание новой сети:

vboxmanage natnetwork add –netname UbuntuNat –network 10.0.4.0/24 \
  –enable –dhcp on –ipv6 off

Редактирование сети:

vboxmanage natnetwork modify –netname UbuntuNat –ipv6 on

Удаление сети:

vboxmanage natnetwork remove –netname UbuntuNat

Подключение виртуалок к NAT-сети:

vboxmanage modifyvm ubuntu1 –nic2 natnetwork –nat-network2 UbuntuNat
vboxmanage modifyvm ubuntu2 –nic2 natnetwork –nat-network2 UbuntuNat

Важно! Скорее всего, гостевая операционная система окажется не настроена для использования второго интерфейса, если вы добавили его после установки. В Ubuntu для добавления нового интерфейса нужно отредактировать файл /etc/network/interfaces, для Arch Linux см заметку Как я устанавливал Arch Linux на свой ноутбук.

Удалить виртуалку и все ассоциированные с ней файлы, в том числе и диски:

vboxmanage unregistervm ubuntu2 –delete

Экспорт:

vboxmanage export ubuntu2 –output ubuntu2.ova

Импорт:

vboxmanage import ubuntu2.ova
# или, с переопределением имени:
vboxmanage import ubuntu2.ova –vsys 0 –vmname ubuntu2

Это, разумеется, далеко не полный список возможностей vboxmanage. Например, мы не рассмотрели использование снапшотов, соединение машин при помощи последовательного порта (например, для отладки ядра операционной системы), работу с разделяемыми каталогами, и многе другое. Подробности вы найдете в официальной документации и vboxmanage –help.

Вооруженный приведенными выше знаниями, я написал скрипт на Python под названием vm, который управляет виртуальными машинами в точности так, как мне это удобно. Поэтому я считаю, что Vagrant не нужен. А вы что скажете?

Linux, Виртуализация.

Источник: https://eax.me/vboxmanage/

Управление VirtualBox с помощью консоли

Vboxmanage windows

Виртуализация… виртуализация… Сейчас все пытаются выжать из своих аппаратных ресурсов как можно больше. Иметь несколько отдельных компьютеров с различными ОС немного накладно и не все организации пойдут на это. Но выход есть, можно использовать виртуальные машины.

И возможно, что многие используют для этих целей замечательный продукт от Sun «VirtualBox». Я уверен, что большинство для настройки используют GUI интерфейс, т.к. это очень наглядно и удобно. Но многие ли задумывались о возможности управления VirtualBox через консоль.

Была поставлена задача: На один сервер поставить две ОС (Ubuntu и Windows). При этом был работающий сервер под управлением Ubuntu 9.04 Server Edition. Поэтому было решено ставить Windows XP в качестве гостевой системы. Но возникла проблема на Ubuntu НЕ УСТАНОВЛЕНА никакая графическая среда, т.е. там есть только голая консоль.

Итак, что у нас есть:

  • Хост система: Ubuntu 9.04 Server Edition
  • VirtualBox 2.2.2
  • Гостевая система: Windows XP

Установка VirtualBox

Скачиваем с официального сайта VirtualBox пакет для Ubuntu 9.04 После того, как скачали, выполняем комманду:

dpkg -i virtualbox-2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb

VirtualBox должен установится. Если возникла проблемы при установке пакета, изучите сообщение об ошибках. Возможно у вас не установлены необходимые пакеты. В моем случае у меня не был установлен пакет libxslt1.1, что моментально было исправлено командой sudo apt-get install libxslt1.1.
Добавляем себя в группу vboxusers
sudo usermod -a -G vboxusers имя_пользователя

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

Для начала стоит отметить, что для управления виртуальными машинами через консоль используется одна команда VBoxManage (правда у неё очень много параметров). Начнем.

  1. Для начала создадим машину и сразу её зарегистрируем
    VBoxManage createvm -name имя_виртуальной_машины -register
  2. Далее необходимо создать диск для машины
    VBoxManage createhd –filename имя_диска –size размер_диска_в_мегабайтах Существует возможность выбрать тип диска VDI (VirtualBox), VMDK (VMWare), VHD (Microsoft Virtual PC).

    По умолчанию, конечно же, VDI :).

  3. Делаем дополнительные настройки нашей виртуальной машины. Укажем:
    • Тип гостевой ОС.

      Для получения списка поддерживаемых ОС выполните команду VBoxManage list ostypes

    • Размер выделяемой памяти
    • Наименование главного диска
    • Возможность использовать VRDP (VirtualBox Remote Desktop Protocol)

    VBoxManage modifyvm имя_виртуальной_машины –ostype тип_ОС –memory размер_памяти_в_мегабайтах –hda имя_диска –vrdp on

  4. Подключим образ диска, с которого будем ставить Windows XP
    • Зарегестрируем DVD с образом дистрибутива системы
      VBoxManage openmedium путь_до_образа
    • Вставим наш диск в виртуальный привод
      VBoxManage modifyvm WindowsXP –dvd путь_до_образа

  5. Посмотрим на настройки нашей машины. Убеждаемся, что все нас устраивает и…
    VBoxManage showvminfo имя_машины

… Запуск… Поехали

Чтобы запустить виртуальную машину надо выполнить

VBoxManage startvm имя_машины –type vrdp

Параметр –type vrdp нужен, чтобы подключиться к машине с помощью VRDP Все, теперь осталось подключится к нашей машине, с помощью удаленного рабочего стола. Это можно сделать с помощью стандартных утилит: для windows это mstsc, для никсовых систем rdesktop.Т.к. у нас есть только консоль, то надо воспользоваться компьютером, имеющим графический рабочий стол.

Чтобы подключится, надо указывать IP хост машины и порт для данной виртуальной машины. В моем случае, я ничего не менял и использовал порт по умолчанию (3389).

Чтобы изменить порт, выполните VBoxManage –vrdpport порт.

Если у Вас установлено несколько виртуальных машин, то для того, чтобы подключаться к каждой их них, необходимо в настройках указать различные порты, например, для первой машины 3389, для второй 3390 и т.п.

Вместо эпилога

Теперь у нас запущена виртуальная машина и мы к ней спокойно можем подключаться используя протокол VRDP. Я спокойно установил Window XP, находясь за своим рабочим компьютером. P.S. Windows XP была нужна только по одной причине. В проекте нужно было использовать MS SQL Server.

Полезные ссылки:

Документация по VBoxManage

UPD: bsdemon предложил ещё один способ. Использовать libvirt

  • virtualbox
  • виртуальная машина
  • коммандная строка
  • консоль

Хабы:

Источник: https://habr.com/ru/post/60325/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.