Страница 1 из 1

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

СообщениеДобавлено: 13 июл 2017, 03:03
ROOT
Оглавление
Темы
 Установка virtualbox 
 Устранение ошибок Virtualbox 
 Правка параметров по умолчанию Virtualbox (VirtualBox.xml) 
Дополнительные материалы
Управление виртуальными машинами через скрипты
Управление VM VirtualBox из shell


 Установка 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
Сборка модулей для ядра

СообщениеДобавлено: 10 апр 2022, 08:47
ROOT


 Устранение ошибок 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
Перезапускаем виртуальную машину и убеждаемся что окно не схлопывается


Отсутствует связь с хостовой машиной в режиме моста
Для беспрепятственного хождения трафика между хостовой системой и гостевой нужно в свойствах виртуальной машины выставить опцию "неразборчивый режим" в положение "разрешить всё"
Virtualbox — Установка и настройка.
Настройки для сетевого подключения в режиме моста

СообщениеДобавлено: 18 июл 2025, 15:14
ROOT
 Правка параметров по умолчанию Virtualbox (VirtualBox.xml) 
Для облегчения процесса создания новых виртуальных машин можно воспользоваться изменением заданных по умолчанию параметров. Для этого нужно внести соответствующие изменение с файл конфигурации VirtualBox.xml, расположенный в катаалоге
Код: выделить все
~/.config/VirtualBox/VirtualBox.xml

Если на виртуальных машинах используется разрешение экрана отличное от дефолтного, от можно попробовать указать нужное Вам разрешение и оно будет применяться при создании новых виртуальных машин. Для этого вносим следующие переметы
Код: выделить все
<?xml version="1.0"?>
<!--
** DO NOT EDIT THIS FILE.
** If you make changes to this file while any VirtualBox related application
** is running, your changes will be overwritten later, without taking effect.
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
-->
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.12-linux">
  <Global>
    <ExtraData>
...
      <ExtraDataItem name="GUI/MaxGuestResolution" value="1600,900"/>
...
      <ExtraDataItem name="VBoxInternal2/EfiGraphicsResolution" value="1600x900"/>
    </ExtraData>
...
  </Global>
</VirtualBox>

Параметр "GUI/MaxGuestResolution" меняет разрешение для машин с BIOS. а "VBoxInternal2/EfiGraphicsResolution" оказывает влияние на машины с UEFI