home start up prev next

Глава 4. Дополнения гостевой ОС

Оглавление

Введение
Установка и настройка гостевых дополнений
Гостевые дополнения Windows
Гостевые дополнения Linux
Гостевые дополнения Solaris
Гостевые дополнения OS/2
Общие папки
Ручное подключение
Автоматическое подключение
Аппаратное ускорение графики
Аппаратное ускорение 3D (OpenGL и Direct3D 8/9)
Аппаратное ускорение 2D видео для гостей Windows
Интеграция рабочих столов
Guest properties
Guest control
Memory overcommitment
Memory ballooning
Page Fusion

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

Введение

Как уже упоминалось в разделе под названием "Немного терминологии",гостевые дополнения предназначены для установки внутри виртуальной машины после установки гостевой операционной системы . Пакет состоит из драйверов устройств и системных приложений, которые оптимизируют работу гостевой операционной системы, повышая производительность и удобство ее использования. Смотрите раздел «Поддерживаемые гостевые операционные системы" для просмотра сведений о гостевых операционных систем, для которых выпускаются дополнения VirtualBox.

Гостевые дополнения VirtualBox для всех поддерживаемых операционных систем поставляются в одном файле образа CD-ROM с именем VBoxGuestAdditions.iso . Этот файл находится в каталоге установки VirtualBox. Для установки гостевых дополнений в ВМ, вы должны смонтировать этот ISO файл как виртуальный CD-ROM и сделать установку с него.

Гостевые дополнения предоставляют следующие возможности:

Интеграция указателя мыши

Устранения ограничений поддержки мыши, описано в разделе “Захват и освобождение клавиатуры и мыши”. Вы будете имеете только один указатель мыши и вам не нужно нажимать Host клавишу для "освобождения" захваченного указателя в гостевой ОС. Эту работу выполняет специальный драйвер мыши установленный в гостевой ОС, который обеспечивает связь с "реальным" драйвером мыши вашей хост системы и согласует перемещение указателя мыши в гостевой системе.

Общие папки

Данная функция предоставляет простой способ обмена файлами между хостом и гостем. Как и для общих сетевых папок Windows, вы можете настроить VirtualBox для использования определенной директории как общей папки и VirtualBox сделает ее доступной в гостевой ОС как общую сетевую папку. Подробности в разделе “Общие папки”.

Улучшенная поддержка видео

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

Кроме того, в гостях Windows, Linux и Solaris, вы можете изменить размер окна виртуальной машины, если установлены гостевые дополнения. Разрешение экрана в гостевой будет устанавливаться автоматически (как если бы вы, вручную задали произвольное разрешение дисплея). Пожалуйста, обратитесь к разделу под названием "Изменение размера окна машины".

Наконец, если установлены дополнения, для работы с 3D и 2D графикой в гостевых приложениях будет задействовано аппаратное ускорение; см. раздел “Аппаратное ускорение графики”.

Интеграция рабочих столов

С этой функцией, отдельные окна отображаемые на рабочем столе виртуальной машины могут быть отображены на рабочем столе хоста, как если бы они были открыты на хосте. Подробнее в раздел “Seamless windows”.

Общие каналы связи гостя и хоста

Гостевые дополнения позволяют управлять и отслеживать работу гостевой системы способами, отличных от ранее упомянутых. Так называемые "guest properties" обеспечивают механизм обмена через общие каналы, имеющие строковое представление имен, между гостем и хостом, некоторые из которых имеют функции управления и мониторинга гостевых систем; см. раздел “Guest properties”.

Вы можете запускать приложения в гостевой системе с хоста; см. раздел “Guest control”.

Синхронизация времени

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

По различным причинам, время в гостевой системе может отличаться от времени на хосте. Ваша система может синхронизировать время через службу NTP и значение времени на нем может изменяться не линейно. ВМ может быть приостановлена, что приведет к остановке таймера в гостевой системе на какой то промежуток времени. При незначительном различии показаний часов хоста и гостя, служба синхронизации будет плавно регулировать показания часов, небольшим шагами, чтобы либо "догнать", либо "притормозить" часы гостевой системы. При большой разнице (например, после восстановления приостановленной ВМ), гостевое время будет изменено сразу, без постепенного регулирования.

Гостевые дополнения периодически синхронизируют время. См. раздел “Tuning the Guest Additions time synchronization parameters” для получения сведений по настройке параметров синхронизации часов.

Общий буфер обмена

С установленными дополнениями, буфер обмена гостевой ОС можно использовать совместно с ОС хоста; см. раздел “Основные настройки”.

Automated logons (credentials passing)

Для получения дополнительной информации см. раздел "Automated guest logons".

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

Начиная с версии VirtualBox 3.1, дополнения Windows и Linux автоматически проверяют необходимость своего обновления. Если на хосте работает более новая версия VirtualBox, чем гостевые дополнения, то в гостевой системе будет выведено сообщение с инструкциями по обновлению дополнений.

Для отключения проверки обновлений в ВМ, установите /VirtualBox/GuestAdd/CheckHostVersion в 0; см. раздел “Guest properties”.

Установка и настройка гостевых дополнений

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

Гостевые дополнения Windows

Гостевые дополнения Windows предназначены для установки в виртуальной машине работающей с операционной системой Windows. Поддерживаются следующие версии Windows:

  • Microsoft Windows NT 4.0 (any service pack)

  • Microsoft Windows 2000 (any service pack)

  • Microsoft Windows XP (any service pack)

  • Microsoft Windows Server 2003 (any service pack)

  • Microsoft Windows Server 2008

  • Microsoft Windows Vista (all editions)

  • Microsoft Windows 7 (all editions)

Установка

В меню виртуальной машины "Устройства", VirtualBox содержится элемент "Установить дополнения гостевой ОС", который подключает файл ISO гостевых дополнений к виртуальной машине. В гостях Windows автоматически запускается программа установки, который устанавливает гостевые дополнения.

Замечание

Для работы основного метода ускорения Direct3D в Windows, вы должны устанавливать гостевые дополнения "Безопасном режиме Safe Mode". Это не относится к экспериментальному WDDM Direct3D видео драйверу для Vista и Windows 7 гостям , см. Главу 14, Known limitations.[18]

Если вы предпочитаете подключать дополнения вручную, необходимо выполнить следующие шаги:

  1. Запустите виртуальную машину с установленной Windows.

  2. Выберите "Подключить CD/DVD-ROM" из меню виртуальной машины "Устройства" с опцией "Образ CD/DVD-ROM". Откроется менеджер виртуальных носителей, описанный в разделе , “Менеджер виртуальных носителей” .

  3. В нем, нажмите кнопку "Добавить" и найдите на вашей системе файл VBoxGuestAdditions.iso:

    • На хосте с Windows, вы можете его найти в папке куда установлен VirtualBox (обычно в C:\Program files\Oracle\VM VirtualBox ).

    • На Mac OS X, вы можете его найти в группе приложений VirtualBox. (Правый клик на иконке VirtualBox в Finder и выберите Show Package Contents . Находится в папке Contents/MacOS.)

    • На Linux хосте, вы можете найти этот файл в additions, каталога где вы установили VirtualBox (обычно /opt/VirtualBox/ ).

    • В Solaris , вы можете обнаружить этот файл в additions каталоге установки VirtualBox (normally /opt/VirtualBox ).

  4. Вернитесь в менеджер виртуальных носителей, выбрав файл ISO и нажав кнопку "Выбрать". Эти действия приведут к подключению файла ISO и он отобразится в госте Windows как CD-ROM диск.

Если функции автозапуска не отключена в вашей гостевой Windows, Windows автоматически запустит программу установки гостевых дополнений VirtualBox. Если автозапуск отключен, запустите программу VBoxWindowsAdditions.exe на диске CD/DVD в гостевой системе.

Программа добавит несколько драйверов устройств в базу драйверов Windows и вызовет мастер установки устройств.

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

После установки, перегрузите вашу гостевую ОС для активизации дополнений.

Обновление гостевых дополнений в Windows

Гостевые дополнения Windows могут быть обновлены повторным запуском программы установки, как описано выше. Данная процедура заменит предыдущие дополнения и обновит версии драйверов.

Так же, вы можете открыть Диспетчер устройств Windows и выбрать "Обновить драйвер..." для двух устройств:

  1. VirtualBox Graphics Adapter и

  2. VirtualBox System Device.

Для каждого, в мастере укажите для поиска драйвера носитель CD-ROM с гостевыми дополнениями.

Автоматизированная установка

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

VBoxWindowsAdditions.exe /S

Эта команда автоматически установит нужные файлы и драйверы для соответствующей платформы (32- или 64-bit).

Замечание

Так как драйверы WHQL до сих пор не сертифицированы, во время установки возможно появления окна с запросом об установке драйверов, в зависимости от версии гостевой Windows.

Для получения большей информации об автоматизированной установки, используйте командную строку:

VBoxWindowsAdditions.exe /?

Ручная распаковка файлов

Если вы предпочитаете устанавливать файлы и драйвера вручную, вы можете извлечь файлы из архива установки, выполнив:

VBoxWindowsAdditions.exe /extract

Чтобы извлечь файлы гостевых дополнений для отличной от текущей, работающей платформы гостя Windows (например 64-bit файлы на 32-bit системе), вы можете запустить нужный вам установщик ( VBoxWindowsAdditions-x86.exe или VBoxWindowsAdditions-amd64.exe ) с параметром /extract.

Гостевые дополнения Linux

Подобно гостевым дополнениям Windows, гостевые дополнения VirtualBox для Linux являются набором драйверов устройств и системных программ которые можно установлены в гостевой операционной системе.

Следующие дистрибутивы Linux официально поддерживаются:

  • Fedora с версии Fedora Core 4;

  • Redhat Enterprise Linux от версии 3;

  • SUSE и openSUSE Linux с версии 9;

  • Ubuntu с версии 5.10.

Множество других дистрибутивов также работают с гостевыми дополнениями.

Версии ядра Linux с которыми поставляются по умолчанию SUSE, openSUSE 10.2, Ubuntu 6.10 и Ubuntu 6.06 (server edition) содержат ошибку которая может вызывать сбой во время запуска в виртуальной машине. Гостевые дополнения позволяют работать с этими дистрибутивам.

Заметьте, что некоторые Linux дистрибутивы поставляются с полностью или частично установленными гостевыми дополнениями VirtualBox. Вы можете сохранить версию дистрибутива, но они часто ограничены по функциональности, так что мы рекомендуем заменить версией, которые поставляются с VirtualBox. Установщик дополнений VirtualBox Linux будет пытаться определить и заменить уже установленную версию, но может потребоваться ручная настройка установки. Рекомендуется сделать снимок состояния ВМ, перед процессом замены предустановленных гостевых дополнений.

Установка гостевых дополнений в Linux

Гостевые дополнения VirtualBox для Linux поставляются в том же файле образа CD-ROM, что гостевые дополнения для Windows, которые описаны ранее. Дополнения поставляются с программой установки, но процесс установки, из за различий между дистрибутивами Linux различен, может быть немного сложней.

Процесс установки включает в себя следующие шаги:

  1. Перед установкой, вы должны подготовить гостевую систему для сборки (компиляции) внешних модулей ядра. Данная процедура аналогична описанной в Разделе “Модуль ядра VirtualBox”, но она теперь должна выполняться теперь для вашей Linux гостевой системы , а не для хост системы.

    Также как для Linux хоста, мы рекомендуем использовать DKMS для гостевой системы. В случае если он не установлен, для систем Ubuntu/Debian используйте команду:

    sudo apt-get install dkms

    в Fedora:

    yum install dkms

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

    /etc/init.d/vboxadd setup

    от имени root.

  2. Подключите файл VBoxGuestAdditions.iso к Linux виртуальному CD-ROM приводу гостя, так же как описано для гостевой Windows в разделе “Installation”.

  3. Перейдите в каталог, в который вы смонтировали CD-ROM и выполните с правами root:

    sh ./VBoxLinuxAdditions.run

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

Ubuntu
  1. Для полного обновления гостевой системы, откройте терминал и выполните:

    apt-get update

    от root

    apt-get upgrade
  2. Установите DKMS

    apt-get install dkms
  3. Перезагрузите вашу гостевую систему, для применения всех обновлений и далее действуйте так, как описано выше.

Fedora
  1. Для полного обновления гостевой системы, откройте терминал и выполните:

    yum update
    от имени root.
  2. Установите DKMS и компилятор GNU C

    yum install dkms

    далее выполните

    yum install gcc
  3. Перезагрузите вашу гостевую систему, для применения всех обновлений и далее действуйте так, как описано выше.

openSUSE
  1. Для полного обновления гостевой системы, откройте терминал и выполните:

    zypper update
    от имени root.
  2. Установите make и GNU C

    zypper install make gcc
  3. Перезагрузите вашу гостевую систему, для применения всех обновлений

  4. Определите версию используемого ядра:

    uname -a

    В качестве примера, это может быть 2.6.31.12-0.2-default, что значит, что установлено ядро "default". Далее установите нужный kernel development пакет. Для примера, приведенном выше

    zypper install kernel-default-devel
  5. Убедитесь, что ваше ядро (uname -a) и установленный вами пакет (rpm -qa kernel\*) имеют одинаковый номер версии. Продолжите установку, как описано выше.

SuSE Linux Enterprise Desktop (SLED)
  1. Для полного обновления гостевой системы, откройте терминал и выполните:

    zypper update
    от имени root.
  2. Установите GNU C

    zypper install gcc
  3. Перезагрузите вашу гостевую систему, для применения всех обновлений

  4. Определите версию используемого ядра:

    uname -a

    В качестве примера, это может быть 2.6.31.12-0.2-default, что значит, что установлено ядро "default". Далее установите нужный kernel development пакет. Для примера, приведенном выше

    zypper install kernel-syms kernel-source
  5. Убедитесь, что ваше ядро (uname -a) и установленный вами пакет (rpm -qa kernel\*) имеют одинаковый номер версии. Продолжите установку, как описано выше.

Mandrake
  1. Mandrake поставляется с гостевыми дополнениями VirtualBox, которые будут обновлены, если вы выполните следующие действия.

  2. Для полного обновления гостевой системы, откройте терминал и выполните:

    urpmi --auto-update
    от имени root.
  3. Перезагрузите систему, чтобы активизировать обновления.

  4. Установите DKMS

    urpmi dkms

    не забудьте указать правильный kernel-devel пакет на запрос в установке (используйте uname -a для получения информации).

CentOS, Red Hat Enterprise Linux и Oracle Enterprise Linux
  1. Для версий до 6, добавьте divider=10 в строку параметров загрузки ядра, файл /etc/grub.conf, для уменьшения нагрузки на ЦП в режиме простоя.

  2. Для полного обновления гостевой системы, откройте терминал и выполните:

    yum update
    от имени root.
  3. Установите GNU C и kernel development пакет:

    yum install gcc

    далее выполните

    yum install kernel-devel
  4. Перезагрузите вашу гостевую систему, для применения всех обновлений и далее действуйте так, как описано выше.

  5. Для Oracle Enterprise Linux нужный пакет не будет обнаружен, поэтому вы должны установить его из другого источника (например, DVD) или использовать общедоступный Oracle Yum сервер, расположенный на http://public-yum.oracle.com.

Debian
  1. Для полного обновления гостевой системы, откройте терминал и выполните:

    apt-get update

    от root

    apt-get upgrade
  2. Установите make и GNU C

    apt-get install make gcc
  3. Перезагрузите вашу гостевую систему, для применения всех обновлений

  4. Определите точный номер используемого ядра с помощью uname -a и установите нужную версию пакета linux-headers, например:

    apt-get install linux-headers-2.6.26-2-686

Интеграция графики и мыши

В гостевых Linux и Solaris, для работы с графикой и мышью используется X Window System. VirtualBox может использовать различные версии X.Org (или XFree86 версии 4.3, который идентичен первому релизу X.Org). Во время процесса установки, X.Org сервер будет настроен на использование драйверов дисплея и мыши, которые поставляются с гостевыми дополнениями.

После установки гостевых дополнений в поддерживаемых и только, что установленных дистрибутивах Linux и Solaris (многие офицально не поддерживаемые системы также правильно работают), при изменении размера окна VirtualBox, графический режим гостя будет изменяться , что бы соответствовать размеру окна. Вы также сможете указать гостевой системе сменить видео режим, посылая "video mode hint" командой VBoxManage.

Начиная с X.Org версии 1.3 (который является частью релиза 7.3 X Window System версии 11) поддерживается несколько мониторов в гостевых ситсемах. The layout of the guest screens can be adjusted as needed using the tools which come with the guest operating system.

If you want to understand more about the details of how the X.Org drivers are set up (in particular if you wish to use them in a setting which our installer doesn't handle correctly), you should read the section called “Guest graphics and mouse driver setup in depth”.

Обновление гостевых дополнений в Linux

Гостевые дополнения могут быть обновлены посредством запуска процедуры установки с обновленного CD-ROM образа. Это приведет к замене драйверов обновленными версиями. Необходимо перезагрузить систему после обновления гостевых дополнений.

Удаление гостевых дополнений в Linux

Если вы хотите удалить гостевые дополнения в виртуальной машине, то вы должны подключить образ CD с гостевыми дополнениями к виртуальному приводу CD-ROM, как было описано ранее и запустить программу установки с параметром "uninstall":

sh ./VBoxLinuxAdditions.run uninstall

Обычно удаление происходит без проблем, но возможно вам придется вручную очистить некоторые файлы (обычно XFree86Config и xorg.conf файлы) в некоторых случаях, это особенно касается старых версий гостевых дополнений установленных или в случае если вы вносили собственные изменения в настройки гостевых дополнений после установки.

Начиная с версии 3.1.0, вы можете удалить дополнения командой

/opt/VBoxGuestAdditions-4.1.0/uninstall.sh

Замените /opt/VBoxGuestAdditions-4.1.0 каталогом в который установлены гостевые дополнения.

Гостевые дополнения Solaris

Как и для Windows,гостевые дополнения VirtualBox для Solaris состоят из набора драйверов и системных программ, которые могут быть установлены в гостевой ОС.

Следующие дистрибутивы Solaris имеют официальную поддержку:

  • Solaris 11 Express;

  • Solaris 10 (u5 and higher);

  • Solaris Nevada/SXDE/SXCE (build 82 and higher);

  • OpenSolaris (Developer Preview 2 and higher; this includes OpenSolaris 2008.05, 2008.11 and 2009.06);

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

Установка гостевых дополнений в Solaris

Гостевые дополнения VirtualBox для Solaris поставляются на том же ISO CD-ROM , что для Windows и Linux. Они также поставляются с программой установки, которая проведет вас через весь процесс установки.

Установка состоит из следующих этапов:

  1. Подключение (монтирование) файла VBoxGuestAdditions.iso к гостевому CD-ROM приводу системы Solaris , так же как описано для гостей Windows в разделе “Installation”.

    Если монтирование привода CD-ROM в гостевой системе не происходит (наблюдается в некоторых версиях Solaris 10), то выполните команду от root:

    svcadm restart volfs
  2. Перейдите в каталог, в который вы смонтировали CD-ROM и выполните с правами root:

    pkgadd -G -d ./VBoxSolarisAdditions.pkg
  3. Выберите "1" и подтвердите установку пакета. После завершения установки, повторно зайдите в X сессию гостя, для активации гостевых дополнений X11.

Удаление гостевых дополнений в Solaris

Гостевые дополнения Solaris можно безопасно удалить, удалив пакет из гостевой системы. Запустите сессию терминала от root и выполните:

pkgrm SUNWvboxguest

Обновление гостевых дополнений в Solaris

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

Гостевые дополнения OS/2

VirtualBox также поставляется с драйверами которые улучшают работу OS/2 в виртуальной машине. Так как OS/2 имеет некоторые ограничения, то гостевые дополнения для нее имеют ограниченный функционал; см. главу 14, Известные проблемы.

Гостевые дополнения для OS/2 поставляются на том же ISO CD-ROM, что и для других платформ. Следовательно вам необходимо подключить ISO образ к OS/2 как было описано ранее. Гостевые дополнения OS/2 расположены в каталоге \32bit\OS2.

В настоящее время, мы не предоставляем автоматическую установку, поэтому ознакомьтесь с файлом readme.txt, который описывает ручную установку гостевых дополнений в OS/2.

Общие папки

С помощью функции VirtualBox "общие папки" , вы можете получить доступ к файлам на хосте из гостевых систем. Это похоже на использование общих сетевых ресурсов в сети Windows -- за исключением того, что общим папкам не нужна сеть, а только гостевые дополнения. Общие папки работают в Windows (2000 и старше), Linux и Solaris гостевых системах.

Общие папки должны быть физически созданы на хосте и далее совместно используются с гостевыми системами, для этого используется специальный драйвер файловой системы из гостевых дополнений. Для Windows гостей, общие папки реализованы в виде псевдо сетевого устройства; для Linux и Solaris гостей, гостевые дополнения представляют виртуальную файловую систему.

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

Существует несколько способов создания общих папок для нужной виртуальной машины:

  • В окне работающей ВМ, вы можете выбрать элемент "Общие папки" из меню "Устройства" или кликнуть мышью на значке папки в строке статуса, в нижнем правом углу.

  • Если ВМ в настоящий момент не запущена, то вы можете настроить общие папки для каждой виртуальной машины в окне "Свойства".

  • Из командной строки, вы можете создать общую папку используя VBoxManage:

    VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"

    См. подробности в раздел “VBoxManage sharedfolder add/remove” for details.

Существует два типа общих папок:

  1. Общие папки доступные только для виртуальных машин, для которых они созданы;

  2. Временные общие папки, которые могут быть добавлены и удалены во время выполнения и не сохраняющиеся после остановки ВМ; для работы с ними используется опция --transient в командной строке.

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

Начиная с версии 4.0, общие папки в VirtualBox поддерживают символические ссылки (symlinks), но при соблюдении следующих условий:

  1. ОС хоста должна поддерживать символические ссылки (например Mac, Linux или Solaris).

  2. В настоящее время символические ссылки поддерживаются только в гостевых дополнениях Linux.

Ручное подключение

Вы можете подключить общую папку в виртуальной машине таким же образом как и подключаете обычную сетевой ресурс:

  • В Windows гостях, общие папки можно увидеть в проводнике Windows. Для подключения общей папки в гостевой Windows , запустите проводник Windows Explorer и перейдите в "My Networking Places" -> "Entire Network" -> "VirtualBox Shared Folders". Кликнув правой кнопкой мыши на общей папке и выбрав из выпадающего меню пункт "Подключить сетевой диск", вы сможете связать общую папку с именем (буквой,символом) дискового устройства.

    Так же возможно это сделать ,используя командную строку Windows:

    net use x: \\vboxsvr\sharename

    Замените "x:" буквой, которую вы хотите использовать для сетевого диска на который будет отображаться общая папка и sharename именем папки указанным в команде VBoxManage .

  • В госте Linux, используете команду:

    mount -t vboxsf [-o OPTIONS] sharename mountpoint

    Для монтирования общей папки во время загрузки, добавьте следующую строку в /etc/fstab:

    sharename   mountpoint   vboxsf   defaults  0   0
  • В Solaris:

    mount -F vboxfs [-o OPTIONS] sharename mountpoint

    Замените sharename (с учетом регистра) именем сетевой папки указанным в VBoxManage или в графическом интерфейсе и mountpoint путем куда вы хотите смонтировать общую папку в гостевой системе (например, /mnt/share ). Применяются обычные правила монтирования, т.е. если каталог не существует его необходимо сначала создать.

    Ниже приведен пример монтирования общей папки для пользователя "jack" в OpenSolaris:

    $ id
    uid=5000(jack) gid=1(other)
    $ mkdir /export/home/jack/mount
    $ pfexec mount -F vboxfs -o uid=5000,gid=1 jackshare /export/home/jack/mount
    $ cd ~/mount
    $ ls
    sharedfile1.mp3 sharedfile2.txt
    $

    Помимо стандартных опций представляемых командой mount, доступны дополнительные:

    iocharset CHARSET

    для установки кодировки используемой в операциях I/O (по умолчанию utf8 ) и

    convertcp CHARSET

    для указания кодировки используемой для отображения имени общей папки(по умолчанию utf8).

    Все общие опции монтирования (описанные в справочных страницах man mount) также доступны. Особенно полезны опции uid , gid и mode , т.к. они позволяют настроить доступ к данным обычных пользователей (в режимах чтения и записи) даже если только root может монтировать устройства.

Автоматическое подключение

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

  • Для Windows гостей, все автоматически монтируемые общие папки получит свой собственный символ диска(например. E:) , который зависит наличия дисков в гостевой системы.

    Если свободных символов для дисков не окажется, авто монтирование не будет произведено; обычно количество авто монтируемых общих папок ограничено 22 в гостях Windows.

  • Для Linux гостей, авто монтируемые общие папки монтируются в каталог /media, в папки с префиксом sf_. Например, общая папка myfiles будет смонтирована в каталог /media/sf_myfiles в Linux и в /mnt/sf_myfiles в Solaris.

    Параметр гостевой системы /VirtualBox/GuestAdd/SharedFolders/MountPrefix определяет используемый префикс. Измените этот гостевой параметра на отличное от "sf" для изменения префикса; см. раздел “Guest properties”.

    Замечание

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

    Для изменения каталога монтирования на отличный от /media, вы должны установить гостевой параметр /VirtualBox/GuestAdd/SharedFolders/MountDir.

  • В гостевых системах Solaris так же как и в Linux гостях, за исключением того, что используется каталог /mnt вместо /media.

Для применения любых изменений авто монтируемых общих папок в работающих ВМ, требуется перезагрузить гостевую ОС. (Это относится только к автоматически подключаемым общим папкам, а не к подключаемым вручную.)

Аппаратное ускорение графики

Аппаратное ускорение 3D (OpenGL и Direct3D 8/9)

В гостевые дополнения VirtualBox содержат экспериментальную поддержку OpenGL 3D для Windows, Linux и Solaris гостей. [ 19 ]

С этой новой функцией, если приложения в виртуальной машине использует программный интерфейс 3D OpenGL или Direct3D 8/9 , вместо программной эмуляции, VirtualBox использует аппаратные возможности 3D хост системы. Данная возможность доступна для всех поддерживаемых хост платформ (Windows, Mac, Linux, Solaris), при условии что ваша ОС может использовать аппаратные средства ускорения 3D.

Для 3D ускорения справедливы следующие условия:

  1. Доступно только для гостевых систем Windows, Linux и Solaris. В частности:

    • Ускорение 3D в гостях Windows возможно в Windows 2000, Windows XP, Vista или Windows 7. OpenGL и Direct3D 8/9 (не для Windows 2000) поддерживаются (experimental).

    • Для OpenGL в Linux требуется ядро 2.6.27 или выше , а также X.org версии 1.5 и выше. В Ubuntu 10.10 и Fedora 14 эта функциональность была протестирована и подтверждена.

    • OpenGL в Solaris гостях требует X.org версии 1.5 и выше.

  2. Гостевые дополнения должны быть установлены.

    Замечание

    Для работы стандартного метода ускорения Direct3D в Windows гостях, VirtualBox нужно изменить системные файлы виртуальной машины. Поэтому, при установке гостевых дополнений необходимо явно указать установку функции ускорения Direct3D. Кроме того, необходимо установливать гостевые дополнения в "Безопасном режиме". Данное требование не относится к экспериментальному видео драйверу WDDM Direct3D для Vista и Windows 7 гостей, см. главу 14, Known limitations.

  3. Так как поддержка 3D в настоящее время является экспериментальной, то она по умолчанию отключена и должна быть вручную включена в свойствах ВМ (см. раздел “General settings”).

    Замечание

    Включение ускорения 3D может привести к проблемам безопасности в программах работающих в гостевой системы. Код сторонних поставщиков, который VirtualBox использует для ускорения (Chromium) не достаточно зрел, чтобы запретить все опасные 3D операции на хосте.

В VirtualBox 4.1, добавлена поддержка тем Windows Aero для Windows Vista и Windows 7 гостей. Для включения поддержки тем Aero, должен быть установлен экспериментальный видео драйвер VirtualBox WDDM, который доступен в установке гостевых дополнений. Так как WDDM видео драйвер является экспериментальным, он не устанавливается по умолчанию и должен бытьвручную выбран при установке гостевых дополнений: для этого нужно ответить "No" на вопрос "Would you like to install basic Direct3D support", который появляется при выборе установки функции ускорения Direct3D.

Замечание

В отличии от базовой поддержки Direct3D , установка видео драйвера WDDM не требует "Безопасного режима".

Темы Aero не включены по умолчанию. Для их включения

  • В гостевой Windows Vista: кликните правой кнопкой на рабочем столе, в контекстном меню выберите "Personalize", затем "Windows Color and Appearance" в окне "Personalization", в диалоговом окне "Appearance Settings" выберите "Windows Aero" и нажмите "OK"

  • In Windows 7 guest: right-click on the desktop, in the contect menu select "Personalize" and select any Aero theme in the "Personalization" window

Технически данная функция реализуется установкой дополнительного драйвера внутри гостевой системы, при установке гостевых дополнений. Этот драйвер работает, как драйвер аппаратного 3D и сообщает гостевой ОС, что оборудование (виртуальное) способно поддерживать аппаратное ускорение 3D. Когда приложениям в гостевой системе требуется аппаратное ускорение OpenGL или Direct3D, то через специальный коммуникационный канал, VirtualBox отсылает эти запросы на обработку программному интерфейсу 3D системы хоста.

Аппаратное ускорение 2D видео для гостей Windows

Начиная с версии 3.1, гостевые дополнения VirtualBox Guest содержат экспериментальный драйвер ускорения 2D видео для гостей Windows.

С его помощью, если приложение для воспроизведения видео (например видео плеер) в виртуальной машине Windows использует функции 2D (video overlays), то VirtualBox пытается использовать аппаратное ускорение хоста, вместо использования программных преобразований видео. В настоящее время это работает только на Windows, Linux и Mac хостах, при условии, что ОС хоста может использовать функции ускорения 2D видео.

Функция ускорения 2D видео в настоящее время имеет следующие ограничения:

  1. Доступны только для гостей Windows(XP и позже).

  2. Гостевые дополнения должны быть установлены.

  3. Так как поддержка 2D является экспериментальной, то она отключена по умолчанию и должна быть включена вручную в настройках ВМ (см. раздел “General settings”).

Technically, VirtualBox implements this by exposing video overlay DirectDraw capabilities in the Guest Additions video driver. The driver sends all overlay commands to the host through a special communication tunnel implemented by VirtualBox. On the host side, OpenGL is then used to implement color space transformation and scaling

Интеграция рабочих столов

С помощью функции "seamless windows" VirtualBox, вы можете разместить окна, которые открываются внутри виртуальной машины, на рабочем столе вашей хост системы. Эта функция поддерживается для следующих гостевых операционных систем (при установленных гостевых дополнениях):

  • Windows(работает начиная с версии VirtualBox 1.5);

  • Поддерживается работа в Linux и Solaris гостях с X Window System (добавлено в VirtualBox 1.6).

После включения функции (см. ниже ниже), VirtualBox не отображает рабочий стол гостевой системы, как бы позволяя вам открывать окна вашей гостевой системы на рабочем столе вашей хост системы:

Для включения режима интеграции рабочего стола, после запуском виртуальной машины, нажмите Хост клавишу (стандарно правая Ctrl) одновременно с "L". Это приведет к увеличению размера "дисплея" ВМ до размера экрана хоста и скрытию рабочего стола гостевой системы. Для возврата в "нормальный" режим (т.е. отключения режима), нажмите Хост клавишу с "L" еще раз.

Guest properties

Начиная с версии 2.1, VirtualBox позволяет вам получать значения некоторых свойств гостевой системы, при условии, что установлены гостевые дополнения и она запущена. Их можно использовать для двух вещей:

  1. Некоторое количество предопределенных характеристик ВМ автоматически обслуживаются VirtualBox и могут быть получены с хоста, например для мониторинга производительности и получения статистики ВМ.

  2. Кроме того, можно передавать произвольные строковые данные между гостем и хостом. Данные можно передавать в обоих направлениях.

Для этого VirtualBox создает коммуникационный канал между гостевыми дополнениями VirtualBox и хост системой. Программы в обоих системах могут использовать этот канал для обмена строковыми данными для различных целей. Guest properties (гостевые параметры) это просто строковое значение которое связано со строковым ключом. Они могут быть установлены (записаны) как хостом так и гостем, а так же считаны с обеих сторон.

В добавление к основному функционалу - чтения и записи значений , при установке дополнений настраивается определенный набор свойств гостя, которые позволяют получить полезную информацию о гостевой системе, такую как тип операционной системы, версия гостевых дополнений, список пользователей которые работают в гостевой ОС, сетевая статистика и др. Эти предопределенные параметры имеют префикс /VirtualBox/ и их ключи сгруппированы в иерархическое дерево.

Эти некоторые данные показываются в окне "Информация о сессии" которое вызывается из меню окна виртуальной машины.

Наиболее удобно использовать данные данные через команду VBoxManage guestproperty; см. раздел “VBoxManage guestproperty”. Например, для получения всех доступных параметров гостевой системы в работающей ВМ используется команда:

$ VBoxManage guestproperty enumerate "Windows Vista III"
VirtualBox Command Line Management Interface Version 4.1.0
(C) 2005-2011 Oracle Corporation
All rights reserved.

Name: /VirtualBox/GuestInfo/OS/Product, value: Windows Vista Business Edition,
    timestamp: 1229098278843087000, flags:
Name: /VirtualBox/GuestInfo/OS/Release, value: 6.0.6001,
    timestamp: 1229098278950553000, flags:
Name: /VirtualBox/GuestInfo/OS/ServicePack, value: 1,
    timestamp: 1229098279122627000, flags:
Name: /VirtualBox/GuestAdd/InstallDir,
    value: C:/Program Files/Oracle/VirtualBox
    Guest Additions, timestamp: 1229098279269739000, flags:
Name: /VirtualBox/GuestAdd/Revision, value: 40720,
    timestamp: 1229098279345664000, flags:
Name: /VirtualBox/GuestAdd/Version, value: 4.1.0,
    timestamp: 1229098279479515000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxControl.exe, value: 4.1.0r40720,
    timestamp: 1229098279651731000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxHook.dll, value: 4.1.0r40720,
    timestamp: 1229098279804835000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxDisp.dll, value: 4.1.0r40720,
    timestamp: 1229098279880611000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxMRXNP.dll, value: 4.1.0r40720,
    timestamp: 1229098279882618000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxService.exe, value: 4.1.0r40720,
    timestamp: 1229098279883195000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxTray.exe, value: 4.1.0r40720,
    timestamp: 1229098279885027000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxGuest.sys, value: 4.1.0r40720,
    timestamp: 1229098279886838000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxMouse.sys, value: 4.1.0r40720,
    timestamp: 1229098279890600000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxSF.sys, value: 4.1.0r40720,
    timestamp: 1229098279893056000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxVideo.sys, value: 4.1.0r40720,
    timestamp: 1229098279895767000, flags:
Name: /VirtualBox/GuestInfo/OS/LoggedInUsers, value: 1,
    timestamp: 1229099826317660000, flags:
Name: /VirtualBox/GuestInfo/OS/NoLoggedInUsers, value: false,
    timestamp: 1229098455580553000, flags:
Name: /VirtualBox/GuestInfo/Net/Count, value: 1,
    timestamp: 1229099826299785000, flags:
Name: /VirtualBox/HostInfo/GUI/LanguageID, value: C,
    timestamp: 1229098151272771000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/IP, value: 192.168.2.102,
    timestamp: 1229099826300088000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/Broadcast, value: 255.255.255.255,
    timestamp: 1229099826300220000, flags:
Name: /VirtualBox/GuestInfo/Net/0/V4/Netmask, value: 255.255.255.0,
    timestamp: 1229099826300350000, flags:
Name: /VirtualBox/GuestInfo/Net/0/Status, value: Up,
    timestamp: 1229099826300524000, flags:
Name: /VirtualBox/GuestInfo/OS/LoggedInUsersList, value: username,
    timestamp: 1229099826317386000, flags:

Для получения значения одного свойства используйте параметр "get" , например:

$ VBoxManage guestproperty get "Windows Vista III"
         "/VirtualBox/GuestInfo/OS/Product"
VirtualBox Command Line Management Interface Version 4.1.0
(C) 2005-2011 Oracle Corporation
All rights reserved.

Value: Windows Vista Business Edition

Для изменения или создания параметра из гостевой системы используется утилита VBoxControl. Эта утилита была включена в гостевые дополнения начиная с версии VirtualBox 2.2. Для работы в гостевых Linux, эта утилиту требуется запускать от root :

$ sudo VBoxControl guestproperty enumerate
VirtualBox Guest Additions Command Line Management Interface Version 4.1.0
(C) 2009-2011 Oracle Corporation
All rights reserved.

Name: /VirtualBox/GuestInfo/OS/Release, value: 2.6.28-18-generic,
    timestamp: 1265813265835667000, flags: <NULL>
Name: /VirtualBox/GuestInfo/OS/Version, value: #59-Ubuntu SMP Thu Jan 28 01:23:03 UTC 2010,
    timestamp: 1265813265836305000, flags: <NULL>
      ...

Вы можете использовать программный интерфейс VirtualBox, для более сложных способов использования; см. Глава 11, VirtualBox programming interfaces.

Guest control

Начиная с версии 3.2, гостевые дополнения VirtualBox позволяют запускать программы в гостевой системы с хоста.

Для этого требуется, чтобы приложение было установлено внутри гостевой системы; установка дополнительного ПО на хосте не требуется. Кроме того, текстовый вывод (потоки стандартного вывода и ошибок) может быть получен на хосте для последующей обработки, а также передача учетных данных пользователя и значение тайм-аута исполнения команды.

Эта функция может использоваться для автоматизации развертывания программ внутри гостя.

Начиная с версии 4.0, гостевые дополнения для Windows можно автоматически обновлять (только если уже установлены дополнения версии 4.0 и выше). Также, возможно удаленное копирование файлов и создание каталогов с хоста в гостя,.

Для использования данного функционала, применяется командная строка VirtualBox, см. раздел “VBoxManage guestcontrol”.

Memory overcommitment

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

Memory ballooning

Начиная с версии 3.2, гостевые дополнения VirtualBox могут изменять количество выделенной памяти хоста для работающей ВМ. Эта функция получила название "memory ballooning" (память в виде воздушного шара), что отражает механизм ее реализации.

Замечание

VirtualBox поддерживает memory ballooning только на 64-bit хостах и она не работает на Mac OS X.

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

По запросу memory ballooning, гостевые дополнения (которые установлены внутри гостевой системы) выделяют физическую память гостевой ОС на уровне ядра и блокируют ее для гостя. Это гарантирует, что гость не сможет использовать эту память: ни приложения гостя, ни ядро гостя не могут ее использовать. VirtualBox может выделить эту память другой виртуальной машине.

Память выделенная через механизм memory ballooning может использоваться только в VirtualBox. Она не становится свободной для хоста. Запрошенная память от гостя не увеличивает объем свободной, не распределенной памяти на хосте. По сути, memory ballooning это механизм обмена доступной памятью между работающими виртуальными машинами. Данный механизм может использоваться для временного запуска другой ВМ или в крупных вычислительных средах для эффективных методов управления памятью большого количества параллельно работающих ВМ.

В настоящее время, функционал memory ballooning управляется только через VBoxManage. Для изменения объема памяти memory balloon в работающей ВМ используется команда:

VBoxManage controlvm "VM name" guestmemoryballoon <n>

где "VM name" имя или UUID виртуальной машину у которой запрашивается для выделения, <n> мегабайт памяти. См. раздел “VBoxManage controlvm”.

Следующей командой, вы можете установить размер автоматически выделяемой памяти по умолчанию, которая запрашивается у ВМ каждый раз при ее запуске:

VBoxManage modifyvm "VM name" --guestmemoryballoon <n>

По умолчанию, память не выделяется. Эта настройка ВМ, как и другие настройки modifyvm, может быть выполнена для выключенной виртуальной машины; см. раздел “VBoxManage modifyvm”.

Page Fusion

В отличии от механизма memory ballooning который просто уменьшает объем памяти доступной ВМ, Page Fusion уменьшает объем используемой памяти работающими ВМ используя дублирующие участки памяти.

В крупных вычислительных средах существует несколько однотипных виртуальных машин (например с одинаковыми ОС) на одном и том же хосте и многие страницы памяти в них идентичны. Новая и эффективная технология VirtualBox Page Fusion, появившаяся в VirtualBox 3.2, позволяет выявить и совместно использовать эти идентичные станицы несколькими ВМ.

Замечание

VirtualBox Page Fusion поддерживает только 64-bit хосты и она не работает на Mac OS X. Page Fusion в настоящее время работает только в гостевых системах Windows (2000 и новее).

Чем больше одинаковых ВМ на хосте, тем более эффективно уменьшается количество используемой памяти на хосте. Лучше так же, если на хосте все ВМ имеют одну ОС (например Windows XP Service Pack 2). Page Fusion находит идентичные страницы памяти в разных ВМ и удаляет дублируемые, предоставляя только одну копию страницы памяти нескольким виртуальным машинам ("deduplication"). Если ВМ пытается изменить содержимое страницы памяти, которая является общей для других ВМ, то ей снова выделяется новая страница памяти, которая является копией общей ("copy on write"). Все это полностью прозрачно для виртуальной машины.

Вы можете знать эту технологией через другие продукты виртуализации, которые называют эту технологию как "page sharing" или "same page merging". Однако, Page Fusion существенно отличается от этих решений, которые имеют ряд недостатков:

  1. Обычно гипервизор сканирует всю память гостевой системы и вычисляет контрольные суммы (хэши) , отдельно для каждой страницы памяти. Далее он ищет идентичные хэши и сравнивает все содержимое страниц памяти с одинаковыми контрольными суммами; полагая, что две страницы с одинаковой контрольной суммой имеют идентичное содержимое. Данные процедуры могут выполняться продолжительное время, особенно если система находится под нагрузкой. В результате, дополнительная память становится доступной через значительный промежуток времени (несколько часов или даже дней!). Еще хуже, то что данные алгоритмы потребляют значительные ресурсы процессора и увеличивают накладные расходы (overhead) виртуализации на 10-20%.

    Page Fusion в VirtualBox использует механизм гостевых дополнений, для быстрой идентификации идентичных ячеек памяти. Что позволяет быстро получить большую экономию памяти и почти без дополнительных накладных расходов.

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

В настоящее время, механизмом Page Fusion можно управлять только через VBoxManage и только для выключенной ВМ. Для задействования механизма Page Fusion в ВМ используется команда:

VBoxManage modifyvm "VM name" --pagefusion on

Вы можете наблюдать за работой Page Fusion через метрики. RAM/VMM/Shared показывает полное количество общих страниц, метрика виртуальной машины Guest/RAM/Usage/Shared показывает количество общей памяти в данной ВМ . За дополнительной информацией о метриках, обращайтесь к разделу “VBoxManage metrics”.



[18] Экспериментальный драйвер WDDM появился в VirtualBox 4.1.

[19] Поддержка OpenGL для гостей Windows добавлена в VirtualBox 2.1; а для Linux и Solaris в VirtualBox 2.2. Начиная с VirtualBox 3.0, была добавлена подержка Direct3D 8/9 в Windows гостей. Также теперь поддерживается OpenGL 2.0. В VirtualBox 4.1 была добавлена поддержка тем Windows Aero для гостей Windows Vista и Windows 7(experimental)

home start up prev next
Сайт создан в системе uCoz