Смонтируйте VirtualBox SharedFolder в Ubuntu VM при загрузке
У меня виртуальная машина Ubuntu работает в VirtualBox.
У меня есть общая папка, настроенная как myshare
У меня есть папка, созданная в моем домашнем каталоге (~/jamesw
) как host
, используя линию sudo mount -t vboxsf myshare host
из моего домашнего каталога в Терминале правильно монтирует диск, но если я перезагружаюсь, он не монтируется снова.
Это виртуальная машина, которую я использую для запуска простого веб-сервера, и я хотел бы, чтобы этот общий ресурс был подключен при каждой загрузке. Есть какой-либо способ сделать это? Особенно учитывая, что для этого требуется sudo?
4 ответа
Автоматическое монтирование общих папок с помощью Virtual Box Manager
С Virtual Box > 4.0 мы можем автоматически монтировать общие папки на виртуальной машине. Чтобы сделать это для Ubuntu мы
- необходимо установить Guest Additions в гостевой ОС
- убедитесь, что пользователи в группе
vboxsf
- определить общие папки из Virtual Box Manager
Щелкните правой кнопкой мыши на вашей виртуальной машине и выберите " Настройки" -> "Общие папки". Это выведет список существующих общих ресурсов или позволит вам определить новую общую папку, нажав на синий значок папки с зеленым знаком " +" в правой верхней части:
Выберите вашу папку в раскрывающемся меню " Путь к папке" или выберите " Определить другие" для селектора файлов, в котором перечислены файловые системы хоста. Выберите имя для доли (например, myshares). С помощью галочки Auto-mount эта папка всегда будет монтироваться в гостевой каталог Ubuntu. /media/sf_myshares
(префикс sf_
будет автоматически добавлено).
В качестве альтернативы, чтобы определить общие папки в работающей гостевой ОС, мы можем выбрать " Устройства -> Общие папки" в меню окна Virtual Box Manager:
Если установить флажок " Сделать постоянным", эти общие папки также будут доступны при следующей загрузке и будут подключены, если дополнительно установлен флажок " Автоматическое подключение".
Я не думаю, что использование /etc/fstab будет работать (у меня это не сработало), потому что этот файл обрабатывается до загрузки SF-модуля и не может смонтировать общий ресурс, см. HOWTO: Использование общих папок 1.
Это еще не полный ответ, но больше похоже на рекомендации по 2 подходам:
1 - Вы можете редактировать /etc/fstab
и добавьте эту гору туда. Вам нужно будет перевести ваш параметр монтирования в синтаксис fstab. Дикое предположение было бы что-то вроде /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0
, Вам нужно sudo
отредактировать ваш fstab, но после этого он будет автоматически смонтирован при загрузке. Поскольку это делается еще до того, как вы войдете в систему, вам нужен абсолютный путь к точке монтирования (отсюда /home/jamesw/host), вы не можете использовать $HOME
или же ~
, Подсказка: папка "host" не должна существовать. Если он находится в fstab, mount создаст его для вас.
2 - Вы можете использовать fusermount
вместо монтировки. Синтаксис аналогичен (но не идентичен, поэтому вам все еще нужно перевести параметры монтирования). Fusermount требует, чтобы ваша точка монтирования находилась где-то внутри вашего $HOME, но самое большое преимущество в том, что вам не нужно sudo
, И монтирование будет доступно в Nautilus (как если бы это был CD или USB-ключ). После того, как вы получите правильные параметры и протестируете его, вы можете добавить его в свой ~/.profile
, который запускается каждый раз, когда вы входите в систему.
РЕДАКТИРОВАТЬ: Я предполагаю, что либо Virtualbox не нужно, чтобы машина фактически работала для того, чтобы она могла обмениваться папками, ИЛИ что она запущена и работает, прежде чем войти
Автоматическое монтирование гостевых и общих папок в Ubuntu 16.04 доступно обычному пользователю
Для автоматического монтирования и доступа к этим папкам как обычному пользователю необходимы определенные шаги.
Не используйте официальные гостевые дополнения. Вместо этого установите
virtualbox-guest-dkms
,sudo apt-get install -y virtualbox-guest-dkms sudo usermod -aG vboxsf $(whoami) sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
Добавьте несколько общих папок с
Auto-mount
а такжеPermanent
проверено.- Перезапустите VM.
Проверьте, есть ли у вас какие-либо папки vb:
mount | grep vboxsf
Если это так, смените владельца
~/vbshare
самому себе.sudo chown $(whoami):$(whoami) ~/vbshare
Добавить новые общие папки без перезагрузки виртуальной машины
- Добавить общую папку.
Проверьте, можете ли вы найти его в списке с помощью этой команды:
sudo VBoxControl sharedfolder list
Если так, создайте каталог и смонтируйте
mkdir ~/vbshare/newfolder sudo mount -t vboxsf newfolder ~/vbshare/newfolder