Настройка общих папок VirtualBox для гостевой ОС Linux

Пошаговая инструкция по настройке общих папок в VirtualBox

Содержимое страницы

Для настройки общих папок VirtualBox в гостевой ОС на базе Linux выполните следующие шаги:

virtual box shared folders config window

1. Установка VirtualBox Guest Additions

Для включения поддержки общих папок необходимо установить Guest Additions в гостевой ОС:

  • Запустите гостевую систему.
  • В меню VirtualBox выберите:
Устройства > Вставить образ CD Guest Additions

Insert Guest Additions CD Image screenshot

  • Откройте терминал в гостевой системе, при необходимости смонтируйте CD и запустите установщик:
sudo sh /media/$USER/VBox_GAs_*/VBoxLinuxAdditions.run
  • Перезагрузите гостевую систему после установки.

  • Добавьте своего пользователя в группу vboxsf в гостевой системе (это критически важно для прав доступа):

sudo usermod -aG vboxsf $(whoami)

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

2. Настройка общей папки в VirtualBox Manager на хосте

  • Щелкните правой кнопкой мыши по вашей виртуальной машине и перейдите в:
Настройки > Общие папки
  • Нажмите кнопку Добавить общую папку.
  • Установите следующие параметры:
    • Путь к папке: папка на вашем хосте на базе Linux, которую нужно сделать общей.
    • Имя папки: имя для ссылки в гостевой системе (например, share).
    • По желанию установите флажок Автомонтирование, чтобы папка монтировалась автоматически при загрузке.
    • По желанию установите флажок Сделать постоянной для сохранения настройки.

3. Монтирование общей папки в гостевой системе на базе Linux

Если был установлен флажок Автомонтирование, VirtualBox автоматически смонтирует общую папку, обычно в /media/sf_ (например, /media/sf_share) с правами доступа для группы vboxsf.

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

  • Создайте точку монтирования:
mkdir /host_share
  • Смонтируйте с помощью:
sudo mount -t vboxsf /host_share

Автоматическое монтирование общей папки при загрузке

В гостевой системе на базе Linux рекомендуется добавить запись для общей папки в файл /etc/fstab гостевой системы. Это обеспечит монтирование папки при каждом запуске системы.

Откройте файл /etc/fstab с помощью текстового редактора от имени root:

sudo nano /etc/fstab

Добавьте строку вида, заменив sharename и /home/youruser/host_share на нужный путь (например, /mnt/shared):

sharename /home/youruser/host_share vboxsf defaults 0 0

sharename — это имя, указанное в настройках общих папок VirtualBox.

Создайте точку монтирования (если она не существует):

mkdir -p /home/youruser/host_share

Смонтируйте все файловые системы или перезагрузите систему для проверки:

sudo mount -a

Проверьте, что общая папка теперь доступна.

Доступ, разрешения и устранение неполадок

  • В гостевой системе общая папка будет принадлежать root:vboxsf.
  • Убедитесь, что ваш пользователь в гостевой системе находится в группе vboxsf (id $USER для проверки).
  • Если возникают проблемы с правами доступа, убедитесь, что вы находитесь в группе vboxsf и что вы вышли/вошли в систему (или перезагрузили) после добавления себя в группу.
  • Для более сложных задач или для динамического/условного монтирования можно использовать systemd automount unit, но /etc/fstab — это самый простой и надежный способ для общих папок VirtualBox на Linux.

Этот подход обеспечит автоматическое монтирование общей папки VirtualBox при каждом запуске системы.

VirtualBox не может работать в режиме VMX root.

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

VBoxManage: error:
VirtualBox не может работать в режиме VMX root.
Пожалуйста, отключите расширение ядра KVM, перекомпилируйте ваше ядро и перезагрузитесь
(VERR_VMX_IN_VMX_ROOT_MODE)

VBoxManage: error:
Подробности:
код NS_ERROR_FAILURE (0x80004005),
компонент ConsoleWrap, интерфейс IConsole

Выполните следующие действия на свой страх и риск. Вы можете попробовать преодолеть эту ошибку в Ubuntu 24.04, временно отключив её, просто убедитесь, что в данный момент никто не использует kvm:

lsmod | grep kvm
lsof | grep kvm
sudo modprobe -r kvm_intel

Вы можете попробовать отключить и перекомпилировать если хотите, и если вы часто используете VirtualBox

Проверьте, загружен ли kvm (это должно быть так, когда возникает ошибка VirtualBox):

lsmod | grep kvm

Чтобы проверить, используется ли kvm в данный момент:

lsof | grep kvm

Если вывода нет, kvm не используется и модуль ядра можно безопасно выгрузить:

sudo rmmod kvm_intel # или kvm_amd на процессорах AMD
sudo rmmod kvm

Это выгрузит модуль ядра только для текущей сессии. Чтобы отключить kvm при загрузке, нужно добавить его в черный список и обновить initramfs. Добавьте это в файл /etc/modprobe.d/blacklist-kvm.conf:

blacklist kvm
blacklist kvm_intel   # или kvm_amd

Обновите initramfs и перезагрузитесь:

sudo update-initramfs -u
sudo reboot

Полезные ссылки