Виртуальная машина VirtualBox
Виртуальная машина VirtualBox
VirtualBox — программный продукт виртуализации для операционных систем. Иногда бывают ситуации, когда без операционной системы Windows не обойтись. Можно попробовать использовать wine и запустить то приложение, которое нужно. Но не все из них работают или работают некорректно.
Возможности VirtualBox
Начиная с 4-ой версии Oracle xVM VirtualBox существует в единственной редакции, распространяемой под лицензией GNU GPL с открытыми исходными кодами.
Некоторые дополнительные функции выделены в отдельный пакет Oracle VM VirtualBox Extension Pack, среди которых:
Пакет Oracle VM VirtualBox Extension Pack распространяется под лицензией PUEL, т.е. его можно использовать бесплатно для личных (некоммерческих) целей.
На данный момент VirtualBox включает в себя следующие возможности:
Установка VirtualBox
Из репозиториев ubuntu
Для установки необходимо в терминале набрать следующую команду либо нажать специальную кнопку:
Для продолжения операции у Вас будет запрошен пароль, введите Ваш пароль и ждите пока закончится загрузка и установка приложения.
Из репозиториев Oracle
Версию VirtualBox можно установить с официального репозитория Oracle. На нём находятся более новые версии.
Для добавления репозитория нужно воспользоваться терминалом.
Необходимо добавить официальный репозиторий VirtualBox в файл /etc/apt/sources.list . Для этого выполните команду:
Добавим и зарегистрируем в системе ключ репозитория с помощью команды в терминал:
Вы должны увидеть примерно следующий текст в Источниках приложений в „Аутентификации”:
Обновите список пакетов:
Устанавливаем пакет для модулей ядра таких как vboxdrv и vboxnetflt:
Для установки VirtualBox введите:
Если нужна более старая версия: замените virtualbox-6.0 на virtualbox-5.2 для установки версии VirtualBox 5.2
После того как VirtualBox установится, вам нужно добавить вашего пользователя в группу vboxusers. Для этого выполните команду в терминале:
Для применения изменений необходимо завершить сеанс и повторить вход в систему, либо перезагрузиться.
Работа с VirtualBox
Процесс установки гостевой системы на платформе VirtualBox весьма прост и не требует от пользователя дополнительных усилий. При создании виртуальной машины необходимо выбрать:
Дальнейший процесс установки происходит так же, как и в других платформах виртуализации. Более подробно установка гостевой системы описывается в данной статье.
Дополнения гостевой ОС
После того, как гостевая операционная система будет установлена, необходимо установить дополнения гостевой операционной системы в целях оптимизации гостевой системы и улучшения ее взаимодействия с хостовой операционной системой.
Для Windows
Просто выберите в меню гостевой операционной системы Устройства→Установить дополнение гостевой ОС. Спустя некоторое время в гостевой Windows должен появится диаллог запуска программы. Если этого не произошло — зайдите в CD-ROM и запустите ее вручную.
Во время установки могут появится предупреждения о несовместимости драйверов. Везде соглашайтесь с установкой. После того как программа установится — перегрузите гостевую ОС. После этого появится нормальное разрешение экрана и другие возможности.
Для Ubuntu
Используя диск Guest Additions
Прежде чем начать установку дополнений гостевой операционной системы, нужно выполнить несколько простых действий.
Используя пакетный менеджер
Расшаривание директорий
Иногда хочется использовать файлы реальной машины из виртуальной. В этом нам поможет сервис «Общие папки». Он позволяет расшаривать директории между виртуальной и реальной ОС.
Нажимаем правой кнопкой мыши по нужной виртуальной машине, выбираем Свойства → Общие папки .
Также, можно проделать тоже самое и из уже запущенной виртуальной машины.
А для остальных версий:
Для Windows
Кликнув правой клавишей мыши по значку «Мой компьютер», выбираем пункт «Подключить сетевой диск».
Затем выбирайте диск, который будет использоваться для расшаренной папки. В качестве пути к сетевому диску вам нужно указать следующее:
имя_папки — то самое имя, которые Вы дали расшаренной директории.
Для Ubuntu
В свойствах расшаренной директории в настройках virtualbox поставить опцию «Автоподключение» и в виртуальной ubuntu добавить пользователя в группу vboxsf командой
Общая папка будет монтироваться при загрузке гостевой ОС и иметь адрес /media/sf_имя
Работа с USB устройствами
Если вы хотите использовать USB устройства в гостевой системе, то делаем несколько простых шагов:
После того, как вы нажмете на устройство — VirtualBox без предупреждений заберет ресурс и отдаст его гостевой операционной системе. Так что будьте аккуратны с сохранением данных на устройстве, прежде чем отдать его гостевой ОС. Если вы выберите этот пункт еще раз — устройство также без предупреждений отключиться из гостевой cистемы.
Работа с USB 2.0 устройствами
Начиная с версии 4.0, для работы с USB 2.0 устройствами необходимо установить VirtualBox Extension Pack , который можно найти на официальной странице загрузки.
После загрузки, просто запустите его и он автоматически установится.
Убираем меню и строку состояния машины
Иногда более удобно работать с виртуальной машиной в режиме обычного окна (например, чтобы иметь удобный доступ к другим приложениям). В таком случае меню и строка состояния машины занимают рабочее пространство, которое могло бы быть использовано с пользой. Для того, чтобы отключить меню и строку состояния виртуальной машины, воспользуйтесь командой:
Чтобы включить меню и строку состояния:
Создание RAW диска
Для ускорения работы виртуальной системы с диском иногда имеет смысл разрешить ей доступ к реальным разделам дисков основной системы. Чтобы виртуальная система имела возможность работать с диском практически напрямую, необходимо заранее создать так называемый RAW диск.
По сути RAW диск не что иное, как небольшой конфигурационный файл, указывающий на соответствующий раздел физического диска или весь диск целиком. Нетрудно догадаться, что соответствующий раздел или диск не должны использоваться основной системой для хранения своих данных.
Если таких разделов в вашей системе нет, их можно создать например с помощью утилиты GParted, поджав один или несколько существующих разделов.
Стоит отметить, что создание RAW диска недоступно через графический интерфейс. Придется запускать команды в консоли.
Первое, что надо сделать — определиться какой раздел или диск мы отдадим на растерзание виртуальным системам:
Например, мы решили выделить раздел sda6. Как видно выше, по умолчанию все разделы принадлежат исключительно суперпользователю. Соответственно для пользователя, под которым будет запускаться виртуальная система (в нашем случае stc) нужно прописать права доступа к нужному разделу. Для этого под правами суперпользователя создаем файл /etc/udev/rules.d/99-vbox-disk-rights.rules, например, так:
и в него пишем следующую строчку
Если доступ нужен любому пользователю, имеющему право запускать виртуальные машины, проще прописать доступ всей группе vboxusers:
Если вы хотите передать виртуальным системам несколько разделов, то повторите эту строчку для каждого из них, заменяя имя раздела (или диска).
Перегружаем систему и проверяем:
Теперь все готово к созданию диска. Вводим команду (без sudo):
Все, диск создан.
Теперь при создании виртуальной машины, вместо создания нового виртуального диска, выберите «Использовать существующий», справа от поля ввода нажмите кнопку «Выбрать образ» и укажите путь до созданного vmdk файла (в нашем случае /home/stc/.VirtualBox/HardDisks/sda.vmdk).
Стоит уточнить, что выделенные таким образом в виртуальный RAW диск разделы, будет рассматриваться гостевой системой как отдельные диски, поэтому основная система к нему обращаться не сможет (в каждом разделе будет вся структура диска, с MBR и своей разбивкой на разделы). Именно поэтому при создании таких разделов, не стоит их форматировать и монтировать к основной системе.
Сохранение и восстановление RAW дисков
В отличие от обычных образов дисков, которые сохраняются и копируются как обычные файлы основной системы, RAW диск — это реальный раздел на диске, который основная система видит как неформатированный. Поэтому для его сохранения используем команду dd и архиватор, умеющий работать с потоками. Могут подойти bzip2 или 7-zip (7za).
Для создания образа диска надо ввести команду
Не забываем подставлять вместо sda6 имя своего раздела!
Степень сжатия особой роли играть не должна. В примерах у bzip2 стоит максимальное сжатие, а у 7za — слабое. Гораздо больше на качество сжатия будет влиять процедура предварительного удаления лишних данных с виртуального диска и заполнение свободного места определенным символом (обычно нулевым). Сделать это можно специализированными процедурами в соответствующей гостевой системе типа Disk Wiper (windows) или BleachBit (ubuntu).
Для восстановления раздела подойдет команда
Здесь стоит обратить внимание на пару тонкостей.
Во-первых, команда dd достаточно медленная и на копирование, например, 20 GiB диска может уйти около 4 часов. Примерно такое же время потребуется и на восстановление.
Во-вторых, восстанавливать образ можно и не в тот же раздел, что был источником. Для этого настоятельно рекомендуется записать точный размер диска, подглядев его, например, в дисковой утилите. В частности размер того же 20 GiB диска был 21 475 885 056 байт. При создании нового раздела для восстановления следует учитывать, что он должен быть как минимум не меньше оригинала. Лучше, если у вас получится создать раздел ровно такого же размера, как и оригинальный.
И еще: сохранять и восстанавливать образы стоит после того, как доступ к разделу будет предоставлен соответствующему пользователю или группе (см. выше).
Как упростить разработку с помощью виртуализации
Человек, работая за компьютером, постоянно запускает разные программы. У программистов количество приложений, необходимых для работы, может исчисляться десятками. Более того, иногда приходится запускать программы, которые работают только в другой операционной системе, отличной от той, в которой работает программист.
В качестве примера можно привести проекты на Хекслете, где в рамках задания студенту нужно записать, что происходит в терминале. Эта задача становится трудновыполнимой, если ваша основная система — Windows. Программа, которая записывает терминал — asciinema, работает только в Linux. Как можно решить эту проблему? И почему нельзя просто взять и запустить программу из одной ОС в другой операционной системе?
Начнём с того, что программы, которые мы пишем, не взаимодействуют напрямую с железом. Например, когда мы вводим символы на клавиатуре, их сначала обрабатывает специальный драйвер, встроенный в операционную систему, и только потом они попадают в поле ввода и отображаются. В данном случае обработка настолько быстрая, что мы даже не задумываемся о ней. То же самое в отображении: мы запускаем множество разных процессов, просто двигая курсор мыши. Одна из главных задач операционных систем — предоставить возможность программам взаимодействовать с железом компьютера, и в разных операционных системах для этого используются разные функции.
Операционные системы — одни из самых сложных программ, если не самые сложные. Они разрабатывались разными людьми и в разное время. Логично, что подходы к работе с устройствами в них кардинально отличаются. Это одна из основных причин, почему нельзя просто скопировать программу в другую операционную систему и запустить её там. В качестве примера, не связанного с железом, можно сказать, что графические оболочки разных ОС тоже полностью отличаются. Например, в Linux нет понятий «Кнопка пуск» или «трей». В некоторых реализациях отсутствуют даже привычные нам всем окна.
Но всё же у разработчиков часто возникает потребность запуска программ, работающих только в одной ОС, и эта проблема имеет решение.
Самый очевидный способ — купить второй компьютер, но это дорогое удовольствие. Второй вариант — поставить Linux рядом со своей основной операционной системой. Такая установка может завершиться неудачей, так как операционные системы, как правило, не ожидают, что рядом с ними будет работать другая похожая программа. Но если всё получилось, во время старта компьютера вы сможете выбрать ОС для загрузки. Существует также и третий путь — виртуализация, о ней и поговорим.
Узнайте больше об операционных системах У нас есть курс по операционным системам. Зарегистрированные пользователи могут пройти его бесплатно. Другие бесплатные курсы можно найти по ссылке.
Что такое виртуализация
Виртуализация позволяет запускать в текущей операционной системе программы, созданные для другой операционной системы. Это возможно благодаря виртуальной машине, которая работает внутри текущей операционной системы. На виртуальную машину устанавливается любая нужная в данный момент ОС. Стоит сказать, что виртуальных машин может быть много, каждая из них при этом выглядит как отдельный компьютер со своими характеристиками.
VMware Workstation, QEMU и VirtualBox. А ко второму типу относится, например, автономный гипервизор VMware ESX.
Какие существуют виды виртуализации
Виртуализацию делят на три вида в зависимости от подхода к её реализации.
Программная виртуализация
Этот вид также подразделяется на несколько подвидов. В статье мы не будем подробно рассматривать каждый из них, так как в настоящее время программная виртуализация используется не так широко. Виртуальные машины на её основе значительно менее производительные по сравнению с другими видами виртуализации. Если интересно с чем это связано, подробнее можно почитать в Википедии.
Аппаратная виртуализация
Для её работы требуется поддержка со стороны процессора. Наибольшее распространение получили технологии Intel-VT и AMD-V, в настоящее время большинство процессоров для домашних компьютеров поддерживают одну из них. Аппаратная виртуализация не получила бы такого широкого распространения, если бы не преимущества, которые обеспечивает данный подход. Эти преимущества описаны ниже.
Первое преимущество: при аппаратной виртуализации виртуальные машины управляются гипервизором напрямую, в отличие от программной виртуализации, где, например, решение о выделении памяти для виртуальной машины сначала принимает операционная система хоста, и только после подтверждения гипервизор может предоставить ей ресурсы. Благодаря этому производительность гостевых ОС значительно повышается и достигает эффективности, сравнимой с реальным компьютером с такой же конфигурацией.
Второе преимущество: так как конфигурация виртуальной машины полностью эмулируется гипервизором, установщик операционной системы не нужно модифицировать. Выбираем нужные устройства в настройках, подключаем любой стандартный установочный образ нужной операционной системы и запускаем виртуальную машину. Более того, если у вас ещё сохранился процессор с 32-битной архитектурой, с помощью аппаратной виртуализации можно настроить виртуальную машину с 64-битным процессором и установить соответствующую ОС. Независимость от платформы хоста открывает поистине бесконечные возможности для экспериментов.
Контейнеризация или контейнерная виртуализация
Это виртуализация на уровне операционной системы. Если аппаратная виртуализация полностью эмулирует оборудование и позволяет запускать любые ОС, внутри контейнера можно запустить только аналогичную хосту операционную систему. Преимуществом этого подхода является скорость, с которой создаётся контейнер — секунды, тогда как для запуска виртуальной машины счёт времени идёт на минуты. Так происходит потому, что полноценной виртуальной машине нужно сначала инициализировать всё оборудование, запустить эмуляцию и только после этого начать загружать операционную систему. При контейнеризации ОС по факту уже работает. Остаётся только создать замкнутую среду — тот самый контейнер, в котором будет запущен ещё один экземпляр операционной системы.
Контейнер представляет собой всего лишь один процесс, внутри которого выполняется операционная система. Она существует в своём собственном мире, со своей сетью, своим диском, своей файловой системой и так далее. Эту виртуализацию применяют на уровне сервисов, составляющих части программного продукта. Наиболее известные проекты: OpenVZ, Docker, LXC.Так как Docker очень широко применятся в разработке, у нас есть подробный гайд о том, что это такое, как с ним работать и какие он даёт преимущества — Как и для чего использовать Docker.
Дополнительные возможности виртуализации
В начале 2000-x компания VMWare быстро захватила корпоративный рынок, выпустив гипервизор ESX Server и создав тем самым конкурентную среду. Начиная с этого момента технологии виртуализации стали стремительно развиваться. Огромное количество предприятий начали использовать виртуализацию для решения разных задач.
Резервное копирование
Виртуальная машина по сути представляет из себя набор файлов конфигурации и жесткого диска, а оперативную память тоже можно сохранить в виде файла. Учитывая эти особенности и возможность «заморозить» работу виртуальной машины, стало возможным делать бэкапы виртуальных серверов целиком. Потом, в случае поломки сервера, можно восстановить его из резервной копии. При этом не важно, будет он работать физически на этом же железе или новом, главное, чтобы был установлен нужный гипервизор. Помните, что аппаратная виртуализация даёт независимость от хост-платформы?
Возможность «заморозить» (поставить на паузу) работу виртуальной машины можно использовать для быстрого переключения между окружениями. Допустим, вы разрабатываете приложение для Windows. У вас открыто окно соответствующего редактора, запущены вспомогательные процессы и так далее. Но в тоже время вам нужно работать над другим проектом с совершенно другим окружением и в другой операционной системе.
Работая в виртуальной среде, можно поставить виртуальную машину на паузу и поработать над другим проектом. А когда нужно будет вернуться к первому, достаточно просто оживить виртуальную машину и продолжить работу с того места, на котором вы остановились. Так сохраняется контекст и экономится время, так как всё нужное, вплоть до интерфейса окон, уже настроено и правильно расположено на экране.
Быстрое создание среды для разработки
Современные веб-проекты требуют установки и настройки большого количества инструментария, библиотек и их зависимостей, серверов баз данных и так далее. Контейнеризация позволяет свести множество действий к запуску пары команд в терминале.
Виртуализация серверов
Так как на одном физическом сервере может располагаться множество виртуальных машин, на которых запущены другие серверы, расходы на их содержание значительно упали. В данный момент можно очень дешево арендовать ресурсы такого виртуального сервера VPS. На таких серверах, например, часто хостятся сайты.
Эмуляция Windows XP на Windows 7, 8, 10: пошаговая инструкция
Чтобы произошла эмуляция Windows XP на Windows 7 , нужно будет установить дополнительный софт, создающий виртуальную машину — Windows Virtual PC. На Windows 8 или Windows 10 эмуляция Windows XP возможна благодаря встроенной технологии в эти ОС — Hyper-V.
Но и в том , и в том случае придется устанавливать виртуальную машину, на которой будет установлена старая, добрая Windows XP. А чтобы ее установить, у вас заранее должен быть уже скачан ISO-образ этой операционной системы.
Эмулятор Windows XP на Виндовс 10 или 8
Итак, на этих операционных системах нам нужно будет воспользоваться технологией Hyper-V, которая по умолчанию отключена, но именно она позволяет создавать виртуальные машины, на которых можно устанавливать любые операционные системы, в том числе и Windows XP.
Создание виртуальной машины
Первым делом нужно включить технологию Hyper-V в «Компонентах Windows», для этого нужно найти в настройках системы «Включение и отключение компонентов Windows» и поставить «галочку» возле пункта «Платформа Hyper-V».
После включения этой платформы нужно будет согласиться на перезагрузку системы, чтобы все изменения вступили в силу.
После того как компьютер «перезагрузится», в меню «Пуск» нужно будет отыскать наш «Hyper-V» и запустить его.
После запуска этого приложения, внутри него нужно буде т создать виртуальную машину. Для этого перейдите во вкладку «Действия» и найдите там пункт «Создать»-«Виртуальная машина».
Вам откроется окно настройки вашей виртуальной машины. Там нужно будет придумать имя, допустим «XP для работы». Пото м выбрать «Поколение», для установки Windows XP нужно выбрать «Поколение 1». Далее нужн о у казать количество памяти, обычно это не меньше 2ГБ. И тут же необходимо создать виртуальный жесткий диск, обычно его размер 30-50 Гб. Потом жмем «Далее» и попадаем в «Параметры установки».
И тут вам нужно будет указать путь, где расположен ISO-образ, который следует установить на новую виртуальную машину. В вашем случае это будет ISO-образ Windows XP. После всех этих манипуляций нажать на кнопку «Готово».
Запуск виртуальной машины и установка Windows XP
Открыть диспетчер Hyper-V и найти там нашу виртуальную машину.
Нажать на нашу виртуальную машину правой кнопкой мыши и выбрать там пункт «Подключить».
После этого нажать на кнопку «Пуск». Так как при создании виртуальной машины му уже прописали путь до нашего ISO-образа Windows XP, то установка этой операционной системы начнется в автоматическом режиме.
Все что вам остается — это следить за процессом установки и нажать несколько раз клавишу «Enter», указать часовой пояс, время и дату и т. д. В общем будет происходить обычный процесс установки операционной системы.
Пройдет какое-то время, Windows XP установится и с ней можно будет полноценно работать.
Использование Windows XP
Запускаете свой компьютер.
Находите диспетчер Hyper-V.
В нем находите нужную виртуальную машину, в вашем случае с Windows XP.
Нажимаете на нее правым кликом и выбираете пункт «Подключить». Так мы делали при установке ОС.
После этого вам в отдельном окне, как обычная программа запустится ваша Windows XP, которой можно пользоваться как полноценной операционной системой: ней будет собственное меню «Пуск», собственные инструменты для работы, можно будет запускать любимые игры и программы и т. д.
Заключение
Эмулятор Windows XP будет работать на всех более современных версиях «Винды». Как запустить эмуляцию на Windows 10 и 8 мы описали выше — это делается при помощи технологии Hyper-V. На Windows 7 нужно будет скачать дополнительный софт для создания виртуальных машин, например VirtualBox, Windows Virtual PC и др. Суть от этого не меняется: вначале создается виртуальная машина и уже в ней устанавливается Windows XP.
Но нужно учитывать, что эмулятор Windows XP все равно не дает полноценных возможностей этой операционной системы. Эмуляция спасает, когда нужно выполнять какие-то простые действия или нужен запуск простых программ/игр, для некоторого старого софта придется устанавливать полноценную Windows XP на полноценное устройство, чтобы им воспользоваться, потому что по-другому не получится.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
VirtualBox
VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации для операционных систем Microsoft Windows , Linux , FreeBSD, macOS, Solaris/OpenSolaris, ReactOS, DOS и других.
Установка VirtualBox
Про установку VirtualBox вы можете прочитать в статье
NAT Network
Создать новую NAT Network можно следующим образом
File → Preferences → Network → +
Чтобы попасть в Preferences нажмите CTRL + G
Перейдите в Network
Нажмите на плюс справа. Virtualbox создаст сеть с именем NatNetwork
Нажимая на плюс можно создать другие сети. Они будут называться NatNetwork1, NatNetwork2 …
Добавить Adapter
Чтобы добавить адаптер к существующей виртуальной машине сперва нужно выполнить Power Off.
Затем откройте Settings → Network → Выберите адаптер, например Adapter 3 → Поставьте галочку в боксе Enable Network Adapter
Теперь можно настроить Adapter
Экспорт и импорт виртуальных машин
Чтобы перенести виртуальную машину с одного компьютера на другой достаточно зайти в
File → Export Appliance… (Ctrl+E)
Сохранить .ova файл, перенести его на другой компьютер, выполнить
File → Import Appliance… (Ctrl+E)
И выбрать нужный .ova файл.
Типы сетевых подключений
Каждый сетевой адаптер может быть сконфигурирован для работы в одном из следующих режимов:
- Not attached: In this mode, Oracle VM VirtualBox reports to the guest that a network card is present, but that there is no connection. This is as if no Ethernet cable was plugged into the card. Using this mode, it is possible to pull the virtual Ethernet cable and disrupt the connection, which can be useful to inform a guest operating system that no network connection is available and enforce a reconfiguration.
- Network Address Translation (NAT): Если всё что вам нужно — сёрфить в Web, загружать файлы и читать электронную почту, то этого режима, стоящего по умолчанию должно хватить и следущую часть статьи вы можете пропустить.
- UDP Tunnel: Used to interconnect virtual machines running on different hosts directly, easily, and transparently, over an existing network infrastructure.
- VDE (Virtual Distributed Ethernet) networking: Used to connect to a Virtual Distributed Ethernet switch on a Linux or a FreeBSD host. At the moment this option requires compilation of Oracle VM VirtualBox from sources, as the Oracle packages do not include it.
В таблице вы можете найти обзор самых важных сетевых режимов
История
Программа была создана компанией Innotek с использованием исходного кода Qemu. Первая публично доступная версия VirtualBox появилась 15 января 2007 года.
В феврале 2008 года Innotek был приобретён компанией Sun Microsystems, модель распространения VirtualBox при этом не изменилась. В январе 2010 года Sun Microsystems была поглощена корпорацией Oracle, модель распространения осталась прежней.
Ключевые возможности
- Кроссплатформенность
- Модульность
- Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых операционных систем (только в проприетарной версии)
- Поддержка 64-битных гостевых систем (начиная с версии 2.0), даже на 32-битных хост-системах (начиная с версии 2.1, для этого обязательна поддержка технологии виртуализации процессором)
- Поддержка SMP на стороне гостевой системы (начиная с версии 3.0, для этого обязательна поддержка технологии виртуализации процессором)
- Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)
- Экспериментальная поддержка аппаратного 3D-ускорения (OpenGL, DirectX 8/9 (с использованием кода wine) (только в 32-битных Windows 2000, XP, Vista, 7 и 8, для гостевых DOS / Windows 3.x / 95 / 98 / ME поддержка аппаратного 3D-ускорения не предусмотрена)
- Поддержка образов жёстких дисков VMDK (VMware) и VHD (Microsoft Virtual PC), включая snapshots (начиная с версии 2.1)
- Поддержка iSCSI (только в проприетарной версии)
- Поддержка виртуализации аудиоустройств (эмуляция AC97 или SoundBlaster 16 или Intel HD Audio на выбор)
- Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
- Поддержка цепочки сохраненных состояний виртуальной машины (snapshots), к которым может быть произведён откат из любого состояния гостевой системы
- Поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами (для гостевых систем Windows NT 4.0 и новее, Linux и Solaris)[21]
- Поддержка интеграции рабочих столов (seamless mode) хостовой и гостевой операционной системой
- Поддержка формата OVF/OVA
- Есть возможность выбора языка интерфейса (поддерживается и русскоязычный интерфейс)
- Базовая версия полностью открыта по лицензии GNU GPL, соответственно нет ограничений в использовании
Вложенная виртуализация
(Nested Virtualization)
Вложенная виртуализация относится к способности запускать виртуальную машину внутри другой, при этом эта общая концепция расширяется до произвольной глубины.
Другими словами, вложенная виртуализация относится к запуску одного или нескольких гипервизоров внутри другого гипервизора. Природа вложенной гостевой виртуальной машины не обязательно должна быть однородной с ее основной виртуальной машиной; например, виртуализация приложений может быть развернута в виртуальной машине, созданной с помощью аппаратной виртуализации.
Вложенная виртуализация становится все более необходимой по мере того, как широко распространенные операционные системы получают встроенные функции гипервизора, которые в виртуализированной среде могут использоваться только в том случае, если окружающий гипервизор поддерживает вложенную виртуализацию; например, Windows 7 способна запускать приложения Windows XP внутри встроенной виртуальной машины. Кроме того, перенос уже существующих виртуализированных сред в облако в соответствии с подходом «Инфраструктура как услуга» (IaaS) намного сложнее, если целевая платформа IaaS не поддерживает вложенную виртуализацию.
Способ реализации вложенной виртуализации на конкретной компьютерной архитектуре зависит от поддерживаемых возможностей аппаратной виртуализации. Если конкретная архитектура не обеспечивает аппаратную поддержку, необходимую для вложенной виртуализации, для ее включения используются различные программные методы.
Со временем все больше архитектур получают необходимую аппаратную поддержку; например, с момента появления микроархитектуры Haswell (анонсированной в 2013 году) Intel начала включать затенение VMCS в качестве технологии, ускоряющей вложенную виртуализацию
Включить вложенную виртуализацию
Через VirtualBox Manager (главное окно графического пользовательского интерфейса) это делается в настройкой машины
Settings → System → Processor → Enable Nested VT-x/AMD-V
Хотя в названии присутствует AMD была обещана поддержка в том числе и Intel
Если в настройках опция Enable Nested VT-x/AMD-V неактивна воспользуйтесь VBoxManage
VirtualBox: как запустить виртуальную машину внутри другой виртуальной машины (вложенная виртуализация)
Функция вложенной виртуализации – Nested VT-x/AMD-v позволяет запускать виртуальные машины внутри других виртуальных машин. То есть используя вложенную виртуализацию можно установить тот же Virtualbox на уже имеющуюся виртуальную машину и запускать другие виртуальные машины уже внутри неё.
Начиная с версии 6.1, VirtualBox поддерживает функцию вложенной виртуализации на хост-системах с процессорами AMD и Intel (убедитесь, что у вас установлена последняя версия Virtualbox).
Для процессоров Intel вложенная виртуализация недоступна из графического интерфейса программы (опция «Включить Nested VT-x/AMD-v» недоступна в настройках Virtualbox), но её можно включить посредством командной строки. Далее и рассмотрим как это сделать.
Как включить вложенную виртуализацию Nested VT-x с помощью командной строки
- Запускаем командную строку от имени администратора;
- Далее необходимо перейти в папку, где установлен VirtualBox (по умолчанию это директория Program FilesOracleVirtualBox) – поэтому в командной строке вводим: cd C:Program FilesOracleVirtualBox
- Затем выводим список всех имеющихся виртуальных систем, используя следующую команду: VBoxManage.exe list vms
- Активируем функцию вложенной виртуализации командой: VBoxManage.exe modifyvm “название виртуальной системы” –nested-hw-virt on
В нашем примере вложенная виртуализация была подключена для виртуальной Windows 10.
Теперь, если мы перейдём в настройки VirtualBox (Настроить → Система → Процессор), то увидим, что опция «Включить Nested VT-x/AMD-v» теперь активна,
а значит и вложенная виртуализация теперь работает и следовательно данная виртуальная машина будет действовать как гипервизор, что позволит запускать другие виртуальные машины внутри неё.