# VirtualBox (Русский)

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

## Установка

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

#### Основные компоненты

##### Windows, Mac и т. д.

Скачать установщик можно со страницы загрузок VirtualBox.

##### Arch Linux

VirtualBox - ПО с открытым исходным кодом и может быть как установлена из репозитория:

    # pacman -S virtualbox

так и собрана самостоятельно из исходных кодов при помощи ABS.

Внимание! Для установки при помощи pacman, должен быть раскомментирован репозиторий community в /etc/pacman.conf

    #[community]
    # Add your preferred servers here, they will be used first
    #Include = /etc/pacman.d/community

должно получиться:

    [community]
    # Add your preferred servers here, they will be used first
    Include = /etc/pacman.d/community

Для использования графического менеджера виртуальных машин, дисков и т. д. установите qt4:

    # pacman -S qt4

После установки имеет смысл провести следующие действия (если установщик почему-то не осуществил их)

    # gpasswd -a USERNAME vboxusers

(Примечание: вы должны перелогиниться в системе после этого изменения для получения эффекта)

Для сборки модуля ядра vboxdrv выполните от пользователя root команду:

    # /etc/rc.d/vboxdrv setup

После этого добавьте vboxdrv в секцию модулей в файле /etc/rc.conf для того, чтобы этот модуль загружался при запуске компьютера. Если вы хотите вручную загрузить модуль, то напечатайте как root:

    # modprobe vboxdrv

Обратите внимание: Теперь достаточно (и единственно работающе) добавить dkms в секцию DAEMONS и после обновления ядра/бокса скрипт автоматически перекомпилит модуль
Обратите внимание: В последних версиях вышеприведенная информация в основном устарела и для компиляции модуля vboxdrv из исходников пакета virtualbox-host-source используется команда dkms install vboxhost/<version>

#### Пакеты расширений

Пакеты расширений необходимы для подключения некоторых функций:

- Remote Display Protocol (RDP) Server

Этот компонент реализует полноценный RDP сервер поверх виртуального оборудования и пользователь имеет возможность присоединиться к виртуальной машине удалённо, используя клиент, совместимый с RDP.

- Поддержка USB 2.0

VirtualBox реализует виртуальный USB-контроллер и поддерживает присоединение USB устройств (видеокамер, флеш-памяти и т. д.) к виртуальной машине через USB порт физической машины. Без пакета расширений подключенные устройства будут функционировать в режиме совместимости с USB 1.1 на значительно меньшей скорости.

- PCI passthrough

Данная функция позволяет гостевой системе напрямую использовать PCI устройства физического компьютера (в т. ч. видеокарту), даже если установленная на нём операционная система не поддерживает их. Для её использования нужны материнская плата и процессор, поддерживающие IOMMU, желательна также последняя версия ядра.

Бесплатно скачать последние версии пакетов расширений для всех операционных систем, распространяемые под PUEL License, можно с сайта VirtualBox.

## Конфигурация

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

### Настройка рабочей сети в гостевой машине

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

#### Использование NAT сети

Это простейший путь для создания сети. Выберите NAT сеть и она будет готова для использования. IP-адрес NAT для первой карты будет 10.0.2.0, 10.0.3.0 для второй и так далее...

#### Использование хост-интерфейса

Начиная с версии 2.1.0, VirtualBox поддерживает использование хост-интерфейса «из-коробки». Добавьте vboxnetflt в секцию MODULES вашего rc.conf и выберите Host Interface Networking в настройках виртуальной машины.

#### Использование хост-интерфейса (для старых версий VirtualBox)

Этот путь несколько сложнее, но позволяет вам увидеть виртуальную машину как "реальный" компьютер в вашей локальной сети. Вы должны установить bridge-utils:

    pacman -S bridge-utils

  - - - EDIT by Sp1d3rmxn
  Вы также должны иметь модуль TUN загружаемым...в rc.conf добавьте "tun" (без кавычек) в ваш раздел MODULES.
  Для того, чтобы проверить его прямо сейчас, без перезагрузки вы можете загрузить модуль из командной строки
  выполнив "modprobe tun".
  Затем вы ДОЛЖНЫ задать эти полномочия иначе вы никогда не получите этот интерфейс загружаемым для VBox.
  Выполните команду "chmod 666 /dev/net/tun" (без кавычек).

  Теперь следуйте тому, как написано ниже.

    - - - EDIT
    Как сказал Sp1d3rmxn, мы должны задать эти полномочия, но, вместо использования команды
    мы можем задать их в файле /etc/udev/rules.d/60-vboxdrv.rules, который установит их
    при загрузке:

    KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
    KERNEL=="tun", OWNER="root", GROUP="vboxusers", MODE="0660"

1. Создайте новый мост этой командой:

    brctl addbr br0

2. Если вы не используете DHCP, запустите ifconfig и запишите сетевую конфигурацию вашего существующего сетевого интерфейса (например, eth0), которое вы хотите скопировать на мост

  Обратите внимание: Вам нужны эти настройки, так что будьте уверены, что не потеряете их!!!!

3. Переключите ваш физический сетевой адаптер в "прослушивающий" режим для того, чтобы он принимал ethernet-фреймы для MAC-адреса отличного от его собственного (вместо eth0 с вашего сетевого интерфейса):

    ifconfig eth0 0.0.0.0 promisc

  Обратите внимание: В этот момент вы потеряете сетвое соединение через eth0

4. Добавьте вашу сетевую карту к мосту:

    brctl addif br0 eth0

5. Перенесите на новый мост сетевую конфигурацию, которая ранее использовалась физической сетевой картой. Если вы используете DHCP, это должно работать:

    dhclient br0

- - - EDIT by Sp1d3rmxn

используйте "dhcpcd -t 30 -h yourhostname br0 &" вместо указанного выше

- - - End of edit

Иначе, выполните ifconfig br0 x.x.x.x netmask x.x.x.x и используйте значения, которые вы записали ранее.

6. Для создания постоянного хост-интерфейса, называемого vbox0 (все интерфейсы. созданные таким образом, должны называться vbox с последовательными номерами) и добавить его к сетевому мосту, созданному выше, выполните следующую команду:

    VBoxAddIF vbox0 vboxuser br0

Замените vboxuser именем пользователя, которому будет позволено пользоваться новым интерфейсом.

Обратите внимание: VboxAddIF расположена в /opt/VirtualBox-ВЕРСИЯ VIRTUALBOX/VBoxAddIF

В качестве альтернативы,вы можете настроить сеть в VirtualBox через ваш /etc/rc.conf для включения мостового соединения

### Настройка рабочего USB в гостевой машине

(Доступно только в версии PUEL)

Первым делом, для того чтобы сделайте usb доступным для использования в виртуальной машине, вы должны добавить эту строчку в /etc/fstab

    none			/proc/bus/usb	usbfs	devgid=85,devmode=664 	0	0

85 - идентификатор группы, которой разрешён доступ к USB-устройствам, смените его на идентификатор вашей группы vboxusers. Вы можете получить идентификатор группы выполнив

     grep vboxusers /etc/group

Если вы не думаете о дырах в безопасности, смените параметр devmode с 664 на 666

Перемонтируйте /proc/bus/usb/

    mount -o remount /proc/bus/usb/

Перезапустите VirtualBox, и кликните на вкладку USB в свойствах виртуальной машины, затем выберите устройство, которое будет доступно на вашем компьютере при загрузке. Если вы хотите, чтобы виртуальная машина использовала устройства, которые вы только что подключили (при условии, что машина уже была загружена), перейдите к окну виртуальной машины, затем выберите в меню машины пункт Устройства -> Устройства USB -> и выберите устройство, которое вы хотите подключить к виртуальной машине.

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

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

После того как вы загрузите виртуальную машину, перейдите в пункт Устройства -> Установить Дополнения гостевой ос... Как только вы нажмёте его, VirtualBox загрузит ISO-образ в текущий CD-ROM, так что вы не сможете увидеть, что случилось что-то ещё;)

Затем выполните следующие действия как root:

    # mount /media/cdrom
    # sh /media/cdrom/VBoxLinuxAdditions.run

Это соберёт и установит ядерные модули, установит драйверы Xorg и создаст init-скрипты. Скорее всего будут выведены ошибки о init-скриптах и уровнях запуска. Игнорируйте их. Вы найдёте rc.vboxadd и rc.vboxvfs в /etc/rc.d (также будет создан /etc/rc.d/rc.local который вы можете удалить). Для того, чтобы иметь Гостевые дополнения доступными после загрузки, просто добавьте это в строку DAEMONS в /etc/rc.conf, например.

    DAEMONS=(syslog-ng network netfs crond alsa rc.vboxadd rc.vboxvfs)

### Создание общих папок между хостом и гостем

В свойствах виртуальной машины перейдите к вкладке Общие папки и добавьте папку, которую хотите расшарить.

Обратите внимание: Вы должны установить гостевые дополнения, для того, чтобы использовать эту возможность

В Windows госте, начиная с VirtualBox 1.5.0, общие папки просматриваемы и потому видны в Windows Explorer. Откройте Windows Explorer и посмотрите в:

    My Networking Places --> Entire Network --> VirtualBox Shared Folders

Кроме этого, в командной строке Windows, вы можете использовать следующее:

    net use x: \\vboxsvr\sharename

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

В Linux госте используйте следующую команду:

    mount -t vboxsf [-o OPTIONS] sharename mountpoint

Замените sharename менем общей папки указнным в VBoxManage, и mountpoint тем путём, куда вы хотите монтировать общую папку (например, /mnt/share). The usual mount rules apply, that is, create this directory first if it does not exist yet.

Кроме стандартных опций, предоставляемых командой mount, доступны следующие: iocharset CHARSET для выбора кодировки используемой для операций ввода/вывода (по умолчанию utf8) и convertcp CHARSET для назначения кодировки используемой для имени общей папки (по умолчанию utf8).

### Настройка рабочего звука в гостевой машине

В свойствах машины перейдите на вкладку Аудио и выберите Аудиодрайвер ALSA

### Настройка оперативной и видео памяти для виртуального ПК

Вы можете изменить значения по умолчанию перейдя в Свойства -> Общие.

### Настройка CDROM для виртуального ПК

Вы можете изменить значения по умолчанию перейдя в Свойства -> CD/DVD-ROM.

Проверьте примонтированные cd/dvd приводы и выберите одну из последующих опций

### Пересборка модуля vboxdrv

После обновления ядра это может понадобиться, чтобы VirtualBox продолжил свою работу. Чтобы пересобрать модули, выполните следующую команду как root:

    /usr/bin/vboxbuild

Обратите внимание: Теперь достаточно (и единственно работающе) добавить dkms в секцию DAEMONS и после обновления ядра/бокса скрипт автоматически перекомпилит модуль
Categories:

- Русский
- Emulators (Русский)