У меня установлена Ubuntu 13.10 в Virtualbox 4.3. Хост-машина - Windows.
У меня есть пара общих папок Virtualbox, которые монтируются в / etc / fstab. До недавнего времени эта установка работала просто отлично, но после обновления с Ubuntu 13.04 и Virtualbox 4.2 (практически одновременно) монтирование fstab перестало работать. Я получаю следующую ошибку во время загрузки:
An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery
Нажатие M для восстановления вручную, а затем попытка монтирования вручную также завершается неудачей:
root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device
Но если я вместо этого пропускаю монтаж во время загрузки, подождите чтобы Unity запускалась, а затем монтировалась вручную в оболочке, все работает нормально:
benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme:
benme-vb ~ % ls Documents
# actual file list omitted
Обратите внимание, что когда я монтирую вручную, я позволяю mount взять все параметры из / etc / fstab, и это работает. Это наводит меня на мысль, что это какая-то проблема с синхронизацией, когда Virtualbox не «готов» предоставить монтирование общих файлов в момент запуска / etc / fstab во время загрузки.
Вот строка fstab, просто для полноты:
Documents /home/benme/Documents vboxsf uid=benme,gid=benme,dmode=774,fmode=664 0 0
Есть ли что-то, что я могу сделать по этому поводу со стороны Ubuntu? Или кто-то случайно узнал об этом больше с точки зрения Virtualbox?
Я обнаружил старый отчет об отслеживателе ошибок Virtualbox с идентичными симптомами, но в этом случае пользователь обновил Virtualbox без обновления своего гостя. дополнения и решения, устраняющие проблему; здесь этого не происходит, я определенно установил гостевые дополнения 4.3.
Я тоже столкнулся с этой проблемой. Я монтирую /var/www
, используя функциональность общих папок VBox, так что это довольно раздражает.
Решение, которое я нашел, состояло в том, чтобы заставить модуль vboxsf
загружаться раньше, до монтирования файловых систем. Просто добавьте vboxsf
к отдельной строке в /etc/modules
.
Другое решение - установить noauto в /etc/fstab
и вручную смонтировать диски в /etc/rc.local
, но это не было для меня хорошим решением, потому что к тому времени Apache уже запустился и не смог ничего найти в /var/www
. ].
В дополнение к предложению Ричарда Тернера добавить vboxsf
на отдельной строке к /etc/modules
, я предлагаю добавить опцию _netdev
mount в /etc/fstab
. Я тестировал Ubuntu 12.04 LTS, и это, кажется, добавляет правильную задержку для успешного монтирования.
Моя /etc/fstab
запись:
dev /media/dev vboxsf defaults,_netdev 0 0
Исправление Ричарда перестало работать для меня после последнего обновления (VirtualBox 4.3.18, Ubuntu 14.04). К счастью, я смог это исправить, загрузив vboxsf
прямо с ядром:
# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u
Первая команда добавляет параметр для загрузки модуля в ядро, а вторая обновляет файловую систему init. После перезагрузки я снова смог использовать свои fstab-mounts:)
Предупреждение: Процесс загрузки может зависнуть, если не удается подключить общую папку. Поэтому проверьте свою конфигурацию, прежде чем добавить модуль в initramfs. Если ваша система все равно зависает, вы можете загрузиться в режиме восстановления, чтобы устранить проблему.
Я просто хотел сказать, что принудительное начало загрузки модуля vboxsf
помогло мне (как в ответе Ричарда Тернера), но строка fstab все еще не работала для меня.
Я закончил тем, что поместил команду mount (которая сработала) в /etc/rc.local
. Немного взломать, но это сработало.
С помощью общей папки, указанной в fstab, я обнаружил, что загрузка зависает при попытке монтировать ее с помощью VirtualBox 5 и Ubuntu 14.04. Похоже, решение состоит в том, чтобы отложить монтирование до тех пор, пока сервис GuestAddition не станет доступным (решение Ричарда Тернера /etc/modules
мне показалось недостаточным).
Для этого убедитесь, что у вас есть noauto
в качестве опций для общей папки в /etc/fstab
. Например, для общей папки с именем vmshare
:
vmshare /home/user/share vboxsf defaults,noauto 0 0
Затем добавьте строку в /etc/rc.local
, чтобы смонтировать общий ресурс после загрузки:
mount vmshare
Это похоже vboxsf
недостает fs-vboxsf
псевдоним (который является, как модули ядра автоматически загружаются при монтировании, что файловая система вводит впервые), таким образом включая псевдоним /etc/modprobe.d
должен добиться цели:
$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf
Я считаю, что нашел правильный способ справиться с этим в Arch Wiki . Используйте опцию comment=systemd.automount
.
Указанный выше параметр входит в файл /etc/fstab
вместе с другими параметрами. Например:
Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0
У меня была та же проблема, и я работал над предлагаемыми решениями, но безуспешно. Раствор Торбена заморозил ботинок, поэтому пришлось его отменить. Тогда я подумал, что мне следует устранить неполадки /etc/fstab
с помощью sudo mount -a
. Синтаксис моей записи выглядел идеально, но все равно не получилось. Я также смог вручную смонтировать файловую систему с помощью команды mount в окне терминала.
Я обнаружил, что у меня есть пробелы между первыми двумя параметрами (устройство и точка монтирования). Я заменил их вкладкой, и это работает. В самом деле? !!!!
По состоянию на 2020 год единственным (и чистым) рабочим решением для меня является то, которое описано в Arch Wiki как отправлено ultracrepidarian. Между тем запись в fstab выглядит немного иначе:
desktop /media/desktop vboxsf uid=<user-id>,gid=<group-id>,rw,dmode=700,fmode=600 0 0