Virtualbox — Установка и настройка.

Установка, настройка, эксплуатация.

Модератор: ROOT

Virtualbox — Установка и настройка.

Сообщение ROOT » 13 июл 2017, 03:03

Оглавление
Темы
 Установка virtualbox 
 Устранение ошибок Virtualbox 
Дополнительные материалы
Управление виртуальными машинами через скрипты
Управление ВМ VirtualBox из CMD


 Установка virtualbox 
Сначала нужно подключить репозиторий RPM Fusion, затем выполнить:
Код: выделить все
dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Затем обновляем систему и устанавливаем VirtualBox с дополнительными компонентами:
Код: выделить все
dnf upgrade --refresh
dnf install gcc make kernel-devel kernel-headers

Для нормальной работы с USB устройствами и общими папками потребуется также добавить свой аккаунт в группу vboxusers и vboxsf:
Код: выделить все
usermod -a -G vboxusers $(whoami)
usermod -a -G vboxsf $(whoami)


Устанавливаем VirtualBox Guest Additions в гостевой системе
Код: выделить все
mount /dev/sr0 /mnt/
/mnt/VBoxLinuxAdditions.run

Команды для сборки модулей Virtualbox под свежеустановленное или обновлённое ядра
Код: выделить все
Чтобы собрать модули для других установленных ядер, запустите
/sbin/rcvboxadd quicksetup <version>

Или
Код: выделить все
/sbin/rcvboxadd quicksetup all
Сборка модулей для ядра



 Устранение ошибок virtualbox 
Доступ к USB-устройствам из виртуальной машины
Проверяем наличие группы vboxusers в системе и принадлежность к этой группе пользователя, от которого запускается VirtualBox
Код: выделить все
grep vboxusers /etc/group
groups sergey

virtualbox не видит USB-устройств для проброса в гостевую систему
??? Редактируем права virtualbox'а на устройства через udev
e /etc/udev/rules.d/60-vboxdrv.rules
меняем строку
Код: выделить все
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"

на
Код: выделить все
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="sergey", GROUP="vboxusers", MODE="0660"

перезапускаемся
Вариант для VirtualBox 6.0
Проверяем права на USB устройства.
Код: выделить все
ls -la /dev | grep vboxusb

У вас должно быть что-то вроде этого:
Код: выделить все
drwxr-x--- 10 root vboxusers 200 2018-10-30 07:57 vboxusb/

Далее приводим некоторые строки:
Код: выделить все
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/lib/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"

из файла /etc/udev/rules.d/60-vboxdrv.rules к виду:
Код: выделить все
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor vboxusers"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/share/virtualbox/VBoxCreateUSBNode.sh $major $minor vboxusers

перезагружаемся и смотрим что вышло


При запуске системы выдаётся на экран следующая простыня
Код: выделить все
e1000 0000:01:03.0: eth0: Detected Tx Unit Hang
Tx Queue             <0>
TDH                  <bd>
TDT                  <bd>
next_to_use          <bd>
next_to_clean        <73>
buffer_info[next_to_clean]
time_stamp           <5fd26739>
next_to_watch        <74>
jiffies              <5fd267fb>
next_to_watch.status <0>
e1000 0000:01:03.0: eth0: Detected Tx Unit Hang
Tx Queue             <0>
TDH                  <bd>
TDT                  <bd>
next_to_use          <bd>
next_to_clean        <73>
buffer_info[next_to_clean]
time_stamp           <5fd26739>
next_to_watch        <74>
jiffies              <5fd268c3>
next_to_watch.status <0>
e1000 0000:01:03.0: eth0: Detected Tx Unit Hang
Tx Queue             <0>
TDH                  <bd>
TDT                  <bd>
next_to_use          <bd>
next_to_clean        <73>
buffer_info[next_to_clean]
time_stamp           <5fd26739>
next_to_watch        <74>
jiffies              <5fd2698b>
next_to_watch.status <0>

Настраиваем параметры сетевой карты
Код: выделить все
ethtool -K eno1 gso off gro off tso off lro off

Меняем те же параметры в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg-eth0
Код: выделить все
ETHTOOL_OPTS="speed 1000 duplex full"


При наличии этой строки и настроенном адаптере в режиме моста сыпятся подобные ошибки
Для решения данной проблемы можно использовать 2 варианта
  1. Либо дополнить строку параметрами
    Код: выделить все
     "gso off gro off tso off"
  2. Либо НЕ использовать опции вообще
    Код: выделить все
    #ETHTOOL_OPTS=...


failed to access perfctr msr ...
Сообщение сразу после выбора меню GRUB вызвано не верной настройкой паравиртуализации в свойствах виртуальной машины
Код: выделить все
failed to access perfctr msr (MSR c0010007 is 0)

Код: выделить все
Настроить (Виртуальную машину) => система => Ускорение
Параметр паравиртуализации: ПО УМОЛЧАНИЮ

Ошибка пересборки драйвера от virtualbox
Код: выделить все
vboxdrv.sh: failed: modprobe vboxnetadp failed. Please use 'dmesg' to find out why.

решается переустановкой драйвера в ручном режиме
Код: выделить все
/usr/lib/virtualbox/vboxdrv.sh setup



Номера версий
Определение номера версии установленного Virtualbox так же выводит информацию о несовпадении версий драйверов и самой программой (при наличии расхождений). Подобная ситуация возникает при ошибках сборки модулей под новую версию ядра
пример
Код: выделить все
VBoxManage --version

WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (4.9.0-6-amd64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.
5.2.18r124319

Если разницы в версиях нет, то выдаётся просто версия virtualbox
Код: выделить все
VBoxManage --version
5.2.18r124319

Посмотреть версию загруженных драйверов от Virtualbox можно так:
Код: выделить все
lsmod | grep -io vboxdrv | xargs modinfo | grep -iw version



Настройка разрешения монитора виртуальной машины
Для начала нужно выставить настройки дисплея видео память (я ставлю на макс), коэфф. масштабирования 100%, VBoxSVGA, 3D ускорение.
На хостовой машине выставляем необходимое разрешение монитора для виртуальной машины
Код: выделить все
VBoxManage controlvm "server-gns" setvideomodehint 1600 900 32

Ставим или переустанавливаем virtualbox-guest-additions
Перезапускаем виртуальную машину и убеждаемся что окно не схлопывается
Для желающих отблагодарить
SB: 4274320029755744
QIWI: +79175241450
Аватар пользователя
ROOT
Администратор
 
Сообщений: 136
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron