Чтобы всегда монтировать виртуальную коробку «общую папку» при загрузке гостя Ubuntu, у нас есть два варианта. Выбор зависит от личных предпочтений.
1. Смонтировать с помощью fstab
Чтобы смонтировать общую папку с использованием vboxsf
файловой системы, поставляемой с гостевыми дополнениями, сначала нужно убедиться, что выполнены предварительные условия . Тогда мы можем поместить следующую строку в наш etc/fstab
файл:
<name_of_share> /path/to/mountpoint vboxsf <options> 0 0
Замените name_of_share
и /path/to/mountpoint
на вашу индивидуальную настройку (каталог для точки монтирования должен быть создан в первую очередь). Смотрите man-страницу для mount <options>
. Одной из возможностей является монтирование с помощью defaults
или предоставление определенных опций монтирования (например rw, suid, exec, auto, users
).
В некоторых системах vboxsf
модуль ядра еще не загружен во время fstab
чтения при загрузке. Это может помочь добавить vboxsf
модуль ядра в /etc/modules
.
Некоторым системам может потребоваться опция comment=systemd.automount
в их записи fstab ( источник ).
2. Крепление с помощью Virtual Box «автоматический монтаж»:
В последних выпусках Virtual Box мы также можем автоматически монтировать общие папки при создании:
После перезагрузки гостя эта общая папка будет смонтирована в гостевой каталог, /media/<username>/sf_<name_of_share>
доступный для всех пользователей, которые были включены в группу vboxsf
.
noauto
опции fstab, а затем, как правило, монтировать в сценарии запуска (например,. профиль), вариант 2) главная проблема в том, что vboxsf не загружается до запуска fstab, добавьтеvboxsf
файл/etc/modules
, попросив ядро загрузить модуль до запуска fstab. Может быть, это поможет кому-то еще.редактировать
/etc/rc.local
Перед
exit 0
типом:Сохранить
(Необязательно) Создайте ярлык на рабочем столе или в домашней папке:
Для загрузки без ошибок, таких как нажатие S для пропуска монтирования или нажатие M для восстановления вручную, возможно, вам придется удалить свою запись в
fstab
источник
/etc/rc.local
с этимmount -t vboxsf [-o OPTIONS] sharename mountpoint
.sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) windows_share ~/shared/mount_point
и в итоге поместил в /etc/rc.local следующее, чтобы это работало:mount -t vboxsf windows_share /home/dev/shared/mount_point
где dev - мой пользователь, FYI / etc / fstab также работает!mount
команду вrc.local
сценарий , чтобы включить мой идентификатор пользователя (2000
):mount.vboxsf -o rw,uid=1000 /home/mwittie/Dropbox Dropbox vboxsf
. PS Если кто-то ищет учебник о том, как включитьrc.local
Ubuntu 17.04, это сработало для меня. PPS Мне не нужно было включать vboxsf в/etc/modules
.После утомительного утра, пробующего все вышеперечисленное в Ubutntu 16.04, работающем в Virtualbox 5.0.20, безуспешно (особенно разочарованно, что решение rc.local не сработало), оно сработало:
Регистрация в меню «Общие папки» графического интерфейса Virtualbox необходимого каталога, но НЕ его автоматического монтирования или постоянного монтирования из Virtualbox. В противном случае директория хоста монтируется пользователем root, и доступ к ней для пользователей без полномочий root затруднен даже из группы администраторов.
добавление простой записи в fstab:
Примечание: в
noauto
противном случае загрузчик не работает, как было отмечено.Добавьте соответствующую строку
/etc/sudoers
следующим образом, используя команду visudo из гостевой ОС:Это позволит некорневым процессам специально монтировать это (так как fstab не может монтировать с опцией 'user' ...)
Добавьте соответствующую строку в .profile пользователя:
Теперь выбранный поддирект хоста готов к установке для выбранного пользователя при входе в систему!
источник
noauto
?Для новых Systemd систем на основе вам нужны альтернативные подходы - самый простой будучи один , упомянутый в другом ответе на другой вопрос - который в основном говорит , что вам нужно добавить специальный
comment
параметр к/etc/fstab
записи:Однако для того, чтобы вышеперечисленное работало на некоторых системах, вам необходимо установить флажок «Автоматическое монтирование» в диалоговом окне «Общие папки VirtualBox» -> «Добавить», что означает, что вы можете получить несколько дубликатов монтирования каталога.
Для чистого монтажа - без дублирующих каталогов , ни необходимости «Auto-Mount» - вам нужно использовать Systemd в монтировании и автоматическое монтирование директив. Для этого создайте две записи с
/usr/lib/systemd/system/
именами в соответствии с желаемой точкой монтирования, например, чтобы соответствовать точке монтирования fstab, над которой они будут названыmy_mount-src_host.mount
и содержать:и
my_mount-src_host.automount
:Тогда им нужно включить:
Теперь они будут монтироваться при загрузке. Если вы хотите подключить их немедленно (при условии, что общие папки созданы), вы можете сделать это:
Обратите внимание, если у вас есть каталоги с нечетными именами или тире (-) в них, используйте
systemd-escape
для поиска подходящего экранированного имени.источник
comment=systemd.automount
опцией работает также без проверки Automount VBox. Я боролся в течение нескольких дней, прежде чем найти ваше решение, спасибо!Я попробовал решение rc.local, но не смог заставить его работать.
Однако я обнаружил, что проблема, похоже, связана с папкой, из которой вы запускаете команду (не знаю почему). Поэтому я добавил строку, чтобы изменить каталог в моей домашней папке перед командой mount, и теперь это работает.
Итак, мой общий ресурс Windows называется
Dropbox
, моя точка монтирования/home/jamie/Dropbox
, мое имя пользователяjamie
, это то, что я положил в rc.local:источник
sleep 2
перед установкой устройства.Я делаю это в очень похожем режиме, как было предложено выше, но эти сценарии создают требуемый и монтируют или размонтируют общую папку с помощью следующего сценария:
Сохранить как
/opt/.scripts/VBoxShared.sh
.Убедитесь, что это может быть выполнено. По типу оболочки:
Теперь мы добавим строку, которая запускает этот скрипт
rc.local
:и мы добавляем эти строки перед последней строкой (
exit 0
):Сохранить ( CtrlO) и закрыть его ( CtrlX)
На этом этапе мы автоматически монтируем все общие папки, перечисленные
<SharedFolder>
при запуске.Для размонтирования нам нужен только тип:
sudo nano /etc/rc6.d/K99-vboxsf-umount.sh
Сохранить ( CtrlO) и закрыть ( CtrlX)
И это все!
источник
Вот рабочее решение.
От
имени пользователя root (IE sudo su) Перейдите в домашнюю папку (cd ~) и создайте файл cron: vi cronjobs Добавьте следующий
@reboot sleep 15; mount -t vboxsf app / mnt / app
Сохранить файл
Примечание: замените приложение именем вашей общей папки и / mnt / app, куда вы хотите его смонтировать. В этом случае я сначала создал папку app под mount (приложение mkdir).
Чтобы включить ваш cron как root (для указанного выше имени файла)
crontab cronjobs
Убедитесь, что cron активен:
crontab -l
перезагрузите компьютер и он будет установлен. 15-секундный сон дает достаточно времени, чтобы все было готово к горе.
источник
Недавно я столкнулся с этой темой, когда после обновления до Ubuntu LTS-18 (и без внесения каких-либо изменений в VirtualBox, а также после переустановки расширений и т. Д.) Автоматическое монтирование перестало работать. Эти
sf_xxx
каталоги были представлены в ,/media/
но ни один из них не был на самом деле установлены.Попытки подключить их
/etc/fstab
(в соответствии с собственной документацией VirtualBox) не сработали: при загрузке произошел сбой в «аварийном режиме», даже когда я изменил/etc/modules
файл.То, что в итоге сработало - хотя я считаю это вонючим хаком - это
crontab
трюк, описанный выше.По сей день я понятия не имею «что сломалось».
источник
У меня возникла проблема, из-за которой я мог видеть общую папку, но в ней не было файлов. Итак, я сделал хак, похожий на то, что было показано выше:
Я удостоверился, что мой пользователь был в правильной группе (группах), и что в fstab была запись для монтирования общего ресурса, и что права были установлены правильно, и что автоматическое монтирование было включено в настройках VirtualBox, но все еще нет файлы, которые можно увидеть.
Поэтому я открыл приложение Startup Applications в графическом интерфейсе Ubuntu 18.04 и создал задачу, которая просто запускала «sudo mount -a» прямо при запуске. По какой-то причине общая папка не монтировалась правильно, когда fstab автоматически анализировался при загрузке, поэтому перемонтирование всего, казалось, решило проблему. Теперь я могу видеть файлы в общей папке.
источник
Я попробовал все решения здесь, и ни один не работал.
То, что работало, было установить супервизор и запустить скрипт на Python.
установить супервизор
apt-get install supervisor
скрипт на python (мой был в /home/ubuntu/shared_folders.py)
создать конфигурационный файл для супервизора
nano /etc/supervisor/conf.d/sharedfolders.conf
[program:shared_folders] command=python shared_folders.py directory=/home/ubuntu process_name=%(program_name)s_%(process_num)s numprocs=1 numprocs_start=0 autostart=true autorestart=true startsecs=1 startretries=3 exitcodes=0,2 stopsignal=TERM stopwaitsecs=10 ;user=pavelp redirect_stderr=true stdout_logfile=/var/log/supervisor/qlistener-stdout.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10 stdout_capture_maxbytes=0 stdout_events_enabled=false stderr_logfile=/var/log/supervisor/qlistener-stderr.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 stderr_capture_maxbytes=0 stderr_events_enabled=false environment=APPLICATION_ENV=development serverurl=AUTO
открытый руководитель
sudo supervisorctl
читать конфигурацию
reread
добавить конфигурацию
add shared_folders
источник
(В моем случае, моей операционной системой является Mac OS X, а моей гостевой ОС - Ubuntu)
Ни одно из вышеперечисленных решений, и упомянутые здесь и здесь решения не помогли мне. Была проблема со всеми из них.
Вот что я наконец-то сделал, чтобы решить проблему:
1- Я создал общую папку в пользовательском интерфейсе VirtualBox, указав на папку с именем
VMShares
в моей Mac OS, назвав ееwd
2- Затем я установил Ubuntu Guest Addition tools (требуется перезагрузка)
3- Затем я сделал папку в моей гостевой ОС в качестве точки монтирования (в моем случае это имя было
/home/fashid/host
)4- Тогда я побежал:
Это была команда, которая должна была гарантировать, что общий ресурс доступен для гостевой ОС, в то время как вам все еще нужно смонтировать его в вашей гостевой ОС, чтобы сделать его фактически доступным.
Это покажет что-то вроде:
Это трюк! Он показывает фактическое имя, которое нужно ввести в приведенную ниже команду, чтобы фактически смонтировать его и сделать его доступным в вашей гостевой ОС:
Вы поняли суть? Я нигде не использовал wd позже. На шаге 3 мне нужно было выбрать фактическое (имя хоста) имя папки вместо произвольного имени, которое я присвоил в диалоговом окне GUI.
С помощью вышеуказанных шагов моя проблема была решена.
источник