VirtualBox

редактировать
Приложение виртуализации x86 с открытым исходным кодом
VirtualBox
Логотип VirtualBox с 2010 г. Логотип VirtualBox с 2010 года
Запуск FreeBSD с Oracle VM VirtualBox в Windows 10 Запуск FreeBSD с Oracle VM VirtualBox на Windows 10
Исходный автор (-ы) Innotek
Разработчик (-ы) Oracle Corporation
Первоначальный выпуск17 января 2007 г.; 13 лет назад (17.01.2007)
Стабильный выпуск 6.1.16 / 16 октября 2020 г.; 18 дней назад (2020-10-16)
Репозиторий Измените это в Викиданных
Написано наC, C ++, сборка x86, Python
Операционная система Windows, macOS, Linux и Solaris
Только платформа x86-64 (версия 5.x и более ранние работают на IA-32 )
Тип гипервизор
Лицензия Базовый пакет (USB поддержка только для USB 1.1 ): Стандартная общественная лицензия GNU версия 2 (необязательно CDDL для большинства файлов исходного дистрибутива), " Extension Pack »(включая поддержку USB 3.0 ): PUEL
Websitewww.virtualbox.org Измените это в Викиданных

Oracle VM VirtualBox (ранее Sun VirtualBox, Sun xVM VirtualBox и Innotek VirtualBox ) - это бесплатный с открытым исходным кодом гипервизор для виртуализации x86, разработанный Oracle Corporation. Созданный Innotek, он был приобретен Sun Microsystems в 2008 году, который, в свою очередь, был приобретен Oracle в 2010 году.

VirtualBox может быть установлен в Windows, macOS, Linux, Solaris и OpenSolaris. Также есть порты на FreeBSD и Genode. Он поддерживает создание и управление гостевыми виртуальными машинами под управлением Windows, Linux, BSD, OS / 2, Solaris, Haiku и OSx86, а также ограниченная виртуализация гостевых ОС macOS на оборудовании Apple. Для некоторых гостевых операционных систем доступен пакет драйверов устройств и системных приложений «Гостевые дополнения», который обычно улучшает производительность, особенно графику.

Содержание

  • 1 История
  • 2 Лицензирование
  • 3 Эмуляция среда
    • 3.1 Программная виртуализация
      • 3.1.1 Версия 6.0 и более ранние
    • 3.2 Аппаратная виртуализация
    • 3.3 Виртуализация устройств
  • 4 Набор функций
    • 4.1 Ограничения
    • 4.2 Расширение VirtualBox Пакет
  • 5 Поддержка ОС хоста
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

История

Логотип VirtualBox OSE, 2007–2010

VirtualBox впервые был предложен Innotek GmbH из Weinstadt, Германия по лицензии на проприетарное программное обеспечение, что делает одну версию продукта доступной бесплатно для личного или ознакомительного использования в соответствии с VirtualBox Personal Лицензия на использование и оценку (PUEL). В январе 2007 года, по рекомендации LiSoG, Innotek GmbH выпустила VirtualBox Open Source Edition (OSE) как бесплатное программное обеспечение с открытым исходным кодом в соответствии с требованиями GNU. Стандартная общественная лицензия (GPL), версия 2.

Innotek GmbH также внесла свой вклад в разработку поддержки OS / 2 и Linux в виртуализации и OS / 2 порта для продуктов от Connectix, которые позже были приобретены Microsoft. В частности, Innotek разработала код «дополнений» для Windows Virtual PC и Microsoft Virtual Server, который обеспечивает различные взаимодействия хост-гостевой ОС, такие как общие буферы обмена или динамические изменение размера окна просмотра.

Sun Microsystems приобрела Innotek в феврале 2008 года.

Oracle Corporation приобрела Sun в январе 2010 года и переименовала продукт в «Oracle VM VirtualBox».

В декабре 2019 года VirtualBox начал поддерживать только аппаратную виртуализацию, отказавшись от поддержки на основе программного обеспеченияone.

Лицензирование

Ядро пакет является, начиная с версии 4 в декабре 2010 года, бесплатное программное обеспечение под Стандартной общественной лицензией GNU версии 2 (GPLv2). Отдельный пакет расширений VirtualBox Oracle VM VirtualBox, обеспечивающий поддержку устройств USB 2.0 и 3.0, протокол удаленного рабочего стола (RDP), шифрование диска, NVMe и Preboot Execution Environment (PXE) boot находится под проприетарной лицензией, которая называется Personal Use and Evaluation License (PUEL), которая разрешает использование программного обеспечения для личного использования, использования в образовательных целях или для оценки, бесплатно. Начиная с версии 5.1.30 VirtualBox, Oracle определяет личное использование как установку программного обеспечения на одном главном компьютере в некоммерческих целях.

До версии 4 существовало два разных пакета программного обеспечения VirtualBox. Полный пакет предлагался бесплатно по PUEL, а лицензии на другое коммерческое развертывание можно было приобрести у Oracle. Второй пакет под названием VirtualBox Open Source Edition (OSE) был выпущен под GPLv2. При этом были удалены те же проприетарные компоненты, недоступные по GPLv2.

Сборка BIOS для VirtualBox, начиная с версии 4.2, требует использования компилятора Open Watcom, для которого Общественная лицензия Sybase Open Watcom одобрена как «Открытый исходный код» Open Source Initiative, но не как «бесплатная» Free Software Foundation или в соответствии с Рекомендации по бесплатному программному обеспечению Debian.

Хотя VirtualBox имеет экспериментальную поддержку для гостей macOS, лицензионное соглашение с конечным пользователем macOS не разрешает операционной системе работать на оборудовании сторонних производителей, и это обеспечивается в рамках операционной системы посредством вызовов Apple System Management Controller (SMC) на всех машинах Apple, который проверяет подлинность оборудования.

Эмулированная среда

Файл: Ubuntu14.04.5 LiveCD с VirtualBox5.2.22deb на Ubuntu18.04 English.webm Play media Running Ubuntu Live CD в VirtualBox в Ubuntu

Пользователи VirtualBox могут загружать несколько гостевых ОС на одном хосте, работая: система (ОС хоста). Каждого гостя можно запускать, приостанавливать и останавливать независимо на своей собственной виртуальной машине (ВМ). Пользователь может независимо настраивать каждую виртуальную машину и запускать ее в соответствии с выбором программной виртуализации или аппаратной виртуализации, если базовое оборудование хоста поддерживает это. Хост-ОС, гостевые ОС и приложения могут взаимодействовать друг с другом с помощью ряда механизмов, включая общий буфер обмена и виртуализированное сетевое средство. Гостевые виртуальные машины также могут напрямую взаимодействовать друг с другом, если настроены для этого.

Программная виртуализация

Эта функция была удалена, начиная с VirtualBox 6.1.

Версии 6.0 и ранее

В отсутствие аппаратной виртуализации VirtualBox использует стандартный подход программной виртуализации. Этот режим поддерживает 32-разрядные гостевые ОС, которые работают в кольцах 0 и 3 архитектуры Intel ring.

  • Система перенастраивает код гостевой ОС, который обычно выполняется в кольце 0, для выполнения в кольце 1 на аппаратном обеспечении хоста. Поскольку этот код содержит множество привилегированных инструкций, которые не могут выполняться изначально в кольце 1, VirtualBox использует диспетчер сканирования и анализа кода (CSAM) для рекурсивного сканирования кода кольца 0 перед его первым выполнением для выявления проблемных инструкций, а затем вызывает диспетчер исправлений (PATM) для выполнения ремонта на месте. Это заменяет инструкцию переходом к безопасному для виртуальной машины фрагменту скомпилированного кода в памяти гипервизора.
  • Код гостевого режима пользователя, работающий в кольце 3, обычно выполняется непосредственно на аппаратном обеспечении хоста в кольце 3.

В обоих случаях VirtualBox использует CSAM и PATM для проверки и исправления ошибочных инструкций всякий раз, когда возникает ошибка. VirtualBox также содержит динамический рекомпилятор, основанный на QEMU, для полной перекомпиляции любого кода реального режима или защищенного режима (например, кода BIOS, Гостевая ОС DOS или запуск любой операционной системы).

Используя эти методы, VirtualBox может достичь производительности, сопоставимой с производительностью VMware.

Аппаратная виртуализация

VirtualBox поддерживает оба Intel VT-x и AMD AMD-V виртуализация с аппаратной поддержкой. Используя эти возможности, VirtualBox может запускать каждую гостевую виртуальную машину в ее собственном отдельном адресном пространстве; код гостевой ОС в кольце 0 выполняется на узле в кольце 0 в некорневом режиме VMX, а не в кольце 1.

Начиная с версии 6.1, VirtualBox поддерживает только этот метод. До этого VirtualBox специально поддерживал некоторых гостевых систем (включая 64-битных гостей, гостевых SMP и некоторые проприетарные ОС) только на хостах с аппаратной виртуализацией.

виртуализацией устройств

Система имитирует жесткие диски в одном из трех форматы образов дисков:

  1. VDI : этот формат представляет собой образ виртуального диска для VirtualBox и хранит данные в файлах с расширением имени файла «.vdi» .
  2. VMDK : это открытый формат используется продуктами VMware, такими как VMware Workstation и VMware Player. Он хранит данные в одном или нескольких файлах с расширениями файлов ".vmdk". На одном виртуальном жестком диске может находиться несколько файлов.
  3. VHD : этот формат используется Windows Virtual PC и Hyper-V и является родным формат виртуального диска в операционной системе Microsoft Windows, начиная с Windows 7 и Windows Server 2008 R2. Данные в этом формате хранятся в одном файле с расширением имени файла «.vhd».

Таким образом, виртуальная машина VirtualBox может использовать диски, ранее созданные в VMware или Microsoft Virtual PC, а также в собственном собственном формате. VirtualBox также может подключаться к целям iSCSI и к необработанным разделам на хосте, используя их в качестве виртуальных жестких дисков. VirtualBox эмулирует контроллеры IDE (контроллеры PIIX4 и ICH6), SCSI, SATA (контроллер ICH8M) и SAS, к которым могут подключаться жесткие диски. прилагается.

VirtualBox поддерживает Open Virtualization Format (OVF), начиная с версии 2.2.0 (апрель 2009 г.).

Оба ISO-образа и подключенные к хосту физические устройства могут быть смонтированы как приводы CD / DVD. Например, образ DVD с дистрибутивом Linux можно загрузить и использовать непосредственно в VirtualBox.

По умолчанию VirtualBox обеспечивает поддержку графики через настраиваемую виртуальную видеокарту, совместимую с VESA. Гостевые дополнения для гостей Windows, Linux, Solaris, OpenSolaris или OS / 2 включают специальный видеодрайвер, который увеличивает производительность видео и включает дополнительные функции, такие как автоматическая настройка разрешения гостя при изменении размера окна виртуальной машины или композиции рабочего стола с помощью виртуализированного WDDM драйверы.

Для сетевого адаптера Ethernet VirtualBox виртуализирует эти карты сетевого интерфейса :

  • AMD PCnet PCI II (Am79C970A)
  • AMD PCnet-Fast III (Am79C973)
  • Intel Pro / 1000 MT Desktop (82540EM)
  • Сервер Intel Pro / 1000 MT (82545EM)
  • Сервер Intel Pro / 1000 T (82543GC)
  • Паравиртуализированный сетевой адаптер (virtio-net)

Эмулированные сетевые карты позволяют запускать большинство гостевых ОС без необходимости поиска и установки драйверов для сетевого оборудования, поскольку они поставляются как часть гостевой ОС. Также доступен специальный паравиртуализированный сетевой адаптер, который улучшает производительность сети, устраняя необходимость согласования определенного аппаратного интерфейса, но требует специальной поддержки драйверов в гостевой системе. (Многие дистрибутивы Linux поставляются с этим драйвером.) По умолчанию VirtualBox использует NAT, через которое интернет-программное обеспечение для конечных пользователей, таких как Firefox или ssh может работать. Мостовая сеть через сетевой адаптер хоста или виртуальные сети между гостями также могут быть настроены. Одновременно можно подключить до 36 сетевых адаптеров, но только четыре можно настроить через графический интерфейс.

Для звуковой карты VirtualBox виртуализирует устройства Intel HD Audio, Intel ICH AC'97 и SoundBlaster 16.

Контроллер USB 1.1 эмулируется таким образом, что любые USB-устройства привязанный к хосту можно увидеть в гостях. Проприетарный пакет расширений добавляет контроллеры USB 2.0 или USB 3.0, и, если VirtualBox действует как сервер RDP, он также может использовать USB-устройства на удаленном клиенте RDP, как если бы они были подключены к хосту, хотя только если клиент поддерживает этот VirtualBox. -специфическое расширение (Oracle предоставляет клиентов для Solaris, Linux и Sun Ray тонких клиентов, которые могут это делать, и обещает поддержку других платформ в будущих версиях).

Набор функций

  • Моментальные снимки
  • Бесшовный режим - возможность запускать виртуализированные приложения вместе с обычными настольными приложениями
  • Общий буфер обмена
  • Общие папки
  • Специальные драйверы и утилиты для облегчения переключения между системы
  • Командная строка взаимодействие (в дополнение к графическому интерфейсу)
  • Public API (Java, Python, SOAP, XPCOM ) для управления конфигурацией и выполнением ВМ
  • Вложенное пейджинг для AMD-V и Intel VT (только для процессоры, поддерживающие SLAT и с включенным SLAT)
  • Ограниченная поддержка ускорения 3D-графики (включая OpenGL до (но не включая) 3.0 и Direct3D 9.0c через преобразование Direct3D в OpenGL Wine )
  • Поддержка SMP (до 32 виртуальных процессоров на виртуальную машину), начиная с версии 3.0
  • Телепортация (также известная как Live Migration )
  • ускорение вывода 2D-видео (не путать с ускорением декодирования видео), поскольку версия 3.1
  • EFI поддерживается начиная с версии 3.1 (гостевые системы Windows 7 не поддерживаются)
Функции эмуляции хранилища
Поддержка хранилища
  • Доступ к необработанному жесткому диску - позволяет разделам физического жесткого диска в хост-системе появляться в гостевой системе
  • VMware Диск виртуальной машины (VMDK ) поддержка формата - позволяет обмениваться образами дисков с VMware
  • Microsoft VHD с поддержкой
  • QEMU qed и qcow дисками
  • Диски формата HDD (только версия 2; версии 3 и 4 не поддерживаются), используемые продуктами виртуализации Parallels
Начиная с версии 3.2
  • Поддержка гостевых серверов Mac OS X - экспериментальная
  • Раздуваемая память (недоступно на хостах Solaris)
  • RAM дедупликация (Page Fusion) для гостевых систем Windows на 64-битных хостах
  • горячее подключение ЦП для Linux (горячее добавление и горячее удаление) и некоторых гостевых систем Windows (горячее добавление только)
  • Удаление снимков во время работы виртуальной машины
  • гостевые настройки с несколькими мониторами в графическом интерфейсе для гостевых систем Windows
  • LSI Logic Эмуляция контроллера SAS
  • Протокол удаленного рабочего стола (RDP), ускорение видео с помощью платного расширения
  • Запуск и управление гостевыми приложениями с хоста - для автоматического развертывания программного обеспечения
Начиная с версии 4.0
  • Разделение PUEL / OSE было отказано в пользу базового продукта с открытым исходным кодом и пакета расширений с закрытым исходным кодом, который можно установить поверх базового продукта. В рамках этого изменения дополнительные компоненты VirtualBox были сделаны с открытым исходным кодом (установщики, документация, драйверы устройств)
  • Intel аудиокодек HD эмуляция
  • Intel ICH9 набор микросхем эмуляция
  • Новая схема хранения виртуальной машины, в которой все данные виртуальной машины хранятся в одной папке для повышения переносимости виртуальной машины
  • Несколько улучшений пользовательского интерфейса, включая новый вид с предварительным просмотром виртуальной машины и режимом масштабирования
  • На 32-битных хостах каждая виртуальная машина может использовать более 1,5 ГБ ОЗУ
  • В дополнение к OVF поддерживается однофайловый формат OVA
  • Использование ЦП и пропускная способность ввода-вывода могут быть ограничены для каждой виртуальной машины
  • Поддержка образов Apple DMG (DVD)
  • гостевые настройки с несколькими мониторами для гостевых систем Linux / Solaris (ранее только для Windows)
  • Изменение размера образа диска в форматах Oracle, VDI (образ диска VirtualBox) и Microsoft, VHD (жесткий диск виртуального ПК)
Начиная с версии 4.1
  • Поддержка Windows Aero (экспериментальная)
  • Клонирование виртуальной машины
Начиная с версии 4.2
  • Группы виртуальных машин - позволяет управлять группой виртуальных машин как единым целым (включать и выключать их, делать снимки и т. Д.)
  • Некоторые настройки ВМ могут быть изменены во время выполнения ВМ
  • Поддержка до 36 сетевых карт в случае набора микросхем ICH9
  • Поддержка ограничения пропускной способности сетевого ввода-вывода
  • Может автоматически запускать виртуальные машины при запуске хост-системы (кроме Windows хосты)
Начиная с версии 4.3
  • Поддержка видеозахвата виртуальной машины
  • Поддержка сенсорных устройств хоста (GUI передает события касания хоста гостю) / USB-виртуализация таких устройств
Начиная с версии 5.0
  • Поддержка паравиртуализации для гостевых систем Windows и Linux для повышения точности учета времени и производительности Контроллер
  • USB3 на основе аппаратной реализации Intel. Он поддерживается любой версией Windows, начиная с Windows 8, любым ядром Linux, начиная с 2.6.31 и Mac OS X начиная с версии 10.7.4.
  • Двунаправленное перетаскивание поддержка гостевых систем Windows, Linux и Solaris
  • шифрование образа диска ВМ с помощью платного расширения
  • Масштабирование вывода ВМ и HiDPI отображает поддержку
  • Горячее подключение дисков SATA с использованием GUI
  • USB-трафик с захватом
  • ВМ могут быть отключены от сеанса GUI и работать в фоновом режиме
  • AVX, AVX-2, AES -NI, Инструкции SSE 4.1 / 4.2 (если поддерживаются центральным процессором)
Начиная с версии 6.0
  • Поддержка экспорта виртуальных машин в Oracle Cloud
  • Файл менеджер, который позволяет управлять гостевой файловой системой и копировать файлы с / на нее
  • Драйвер VMSVGA GPU для хостов Linux
  • Поддержка настройки динамиков объемного звучания
  • Поддержка аппаратной поддержки вложенная виртуализация на процессорах AMD
Начиная с версии 6.1
  • Поддержка i перенос виртуальных машин из Oracle Cloud
  • Добавлена ​​поддержка вложенной виртуализации для процессоров Intel (она уже была доступна для процессоров AMD), начиная с Intel Core i5 Broadwell
  • Экспериментальная поддержка файлов передача с помощью перетаскивания только для хоста и гостей Windows (по умолчанию отключено, необходимо включить с помощью VBoxManage)
  • Поддержка virtio-scsi для жестких дисков и оптических приводов, включая поддержку загрузки
  • Поддержка хостов с количеством процессоров до 1024
  • Поддержка DXVA (аппаратное ускорение декодирования видео) для гостевых систем Windows
  • Поддержка NVRAM для EFI, что улучшает совместимость со многими гостевыми ОС
  • Программная клавиатура для ввода любых клавиш на гостевом компьютере
  • Мониторинг использования гостевого ЦП
  • Прекращена поддержка программной виртуализации ЦП - теперь требуется ЦП с поддержкой аппаратной виртуализации
  • Прекращена поддержка сквозной передачи PCI для хостов Linux

Ограничения

  • Ускорение 3D-графики для гостей Windows ранее, чем Wi ndows 7 был удален в версии 6.1. Это повлияло на Windows XP и Windows Vista.
  • VirtualBox имеет очень низкую скорость передачи данных на USB2 устройства и обратно.
  • Несмотря на то, что это продукт с открытым исходным кодом, некоторые из его функций доступны только в бинарной форме по коммерческой лицензии (см. «Пакет расширений VirtualBox» ниже).
  • Передача устройств USB3 не поддерживается более старыми гостевыми ОС, такими как Windows Vista и Windows XP из-за отсутствия драйверов, однако начиная с версии 5.0 VirtualBox предлагает экспериментальный Renesas uPD720201 xHCI контроллер USB3, который позволяет использовать USB3 в этих операционных систем путем изменения файлов конфигурации вручную.
  • гостевые дополнения для macOS в настоящее время недоступны.
  • гостевые дополнения для Windows 9x (Windows 95, 98 и ME ) недоступны. Это приводит к снижению производительности из-за отсутствия ускорения графики в 16-битном цветовом режиме по умолчанию (доступно внешнее стороннее программное обеспечение для включения поддержки 32-битного цветового режима, что приводит к повышению производительности).
  • EFI поддержка неполная, например Загрузка EFI для гостевой ОС Windows 7 не поддерживается. Отсутствует безопасная загрузка UEFI для гостевых ОС.
  • Поддерживаются только старые версии DirectX и OpenGL сквозной передачи (эту функцию можно включить с помощью параметра 3D-ускорение для каждого ВМ индивидуально).
  • Видеопамять ограничена 128 МиБ (256 МиБ с включенным ускорением 2D-видео) из-за технических трудностей (просто изменение GUI, чтобы позволить пользователю выделить больше видеопамяти для VM или ручное редактирование файла конфигурации для ВМ не будет работать и приведет к фатальной ошибке ).
  • . Windows 95/98 / 98SE / ME не может быть установлена ​​или работает ненадежно с современными процессорами (AMD Zen или новее) и аппаратной виртуализацией (VirtualBox 6.1 и выше). Это связано с неправильным кодированием этих ОС.

Пакет расширений VirtualBox

Для некоторых функций требуется установка пакета расширений VirtualBox с закрытым исходным кодом :

  • Поддержка виртуального управления USB 2.0 / 3.0 ller (EHCI / xHCI)
  • VirtualBox RDP : поддержка проприетарного протокола удаленного подключения, разработанного Microsoft, и Citrix Systems.
  • PXE загрузки для карт Intel.
  • Шифрование образа виртуального диска

Хотя VirtualBox является бесплатным для использования и распространяется по лицензии с открытым исходным кодом, VirtualBox Extension Pack находится под лицензией VirtualBox Personal Use and Evaluation License (PUEL). Личное использование бесплатное, но коммерческим пользователям необходимо приобрести лицензию. Oracle регулярно проверяет файлы журналов на предмет загрузки пакета расширений VirtualBox с нерезидентных IP-адресов и связывается с нелицензированными пользователями, чтобы обеспечить соблюдение требований.

Пока гостевые дополнения устанавливаются на каждой подходящей гостевой виртуальной машине, пакет расширений устанавливается на хост запущен VirtualBox.

Поддержка ОС хоста

Поддерживаемые операционные системы включают:

Начиная с версии 5 (июль 2015 г.), VirtualBox заявила, что они отказываются от поддержки хостов Windows XP, тем самым оставляя пользователям Windows Хосты XP уязвимы для недостатков предыдущих выпусков.

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом

Ссылки

Внешние ссылки

Викискладе есть носители, относящиеся к VirtualBox.
Викискладе есть носители, относящиеся к Oracle VirtualBox.
Последняя правка сделана 2021-06-18 03:34:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте