Настройка общих папок VirtualBox для гостевой ОС Linux
Пошаговая инструкция по настройке общих папок в VirtualBox
Для настройки общих папок VirtualBox в гостевой ОС на базе Linux выполните следующие шаги:
1. Установка VirtualBox Guest Additions
Для включения поддержки общих папок необходимо установить Guest Additions в гостевой ОС:
- Запустите гостевую систему.
- В меню VirtualBox выберите:
Устройства > Вставить образ CD Guest Additions
- Откройте терминал в гостевой системе, при необходимости смонтируйте 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
Полезные ссылки
- https://www.virtualbox.org/
- Скачать и установить VirtualBox для вашей версии Linux: https://www.virtualbox.org/wiki/Linux_Downloads
- Как установить Ubuntu 24.04 и полезные инструменты
- Bash Cheat Sheet
- Переустановка linux Mint с полезными инструментами)
- Проверка версии Linux Ubuntu
- Хостинг любого исполняемого файла как сервиса в Linux
- Установка Portainer на Linux
- Установка DBeaver на linux