Сбой использования общей папки Virtualbox из fstab; работает после завершения загрузки

У меня установлен 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 гостевые дополнения.

1
задан 25 October 2013 в 05:07

7 ответов

В дополнение к предложению Ричарда Тернера добавить vboxsf к отдельной строке в /etc/modules, я предлагаю добавить параметр _netdev mount /etc/fstab.

Моя запись /etc/fstab:

dev /media/dev vboxsf defaults,_netdev 0 0

. Я тестировал Ubuntu 12.04 LTS, и это, кажется, добавляет правильное количество задержки для достижения успеха.
19
ответ дан 24 May 2018 в 16:15
  • 1
    Это работает для меня, даже без использования решения Тернера. Слишком большой смысл, так как страница справки Ubuntu Community для опций fstab говорит: «_netdev - это сетевое устройство, смонтированное после воссоздания сети. Я не должен загрузить vboxsf в /etc/modules, просто добавив _netdev! – Mark Mikofski 23 February 2016 в 23:45
  • 2
    Это работает и на Ubuntu 16.04, даже без решения Тернера. – Ievgen 17 February 2017 в 13:00

Исправление Ричарда перестало работать для меня после последнего обновления (VirtualBox 4.3.18, Ubuntu 14.04). К счастью, я смог исправить это, загрузив vboxsf прямо с ядром:

# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u

Первая команда добавляет параметр для загрузки модуля в ядро, а второй обновляет файловую систему init. После перезагрузки я снова смог использовать свои fstab-mount:)

Внимание: процесс загрузки может зависнуть, если общая папка не может быть смонтирована. Поэтому проверьте конфигурацию, прежде чем добавлять модуль в initramfs. Если ваша система зависает, вы можете загрузиться в режиме восстановления, чтобы устранить проблему.

5
ответ дан 24 May 2018 в 16:15
  • 1
    Я попробовал это решение для загрузки модуля vboxsf раньше ... Он просто заморозил мою загрузочную последовательность, поэтому мне пришлось ее удалить. – Rerito 27 November 2014 в 13:05
  • 2
    Да, включая модуль, который рано может заморозить процесс загрузки, если ваша общая конфигурация папки нарушена. Тем не менее, я никогда не испытывал зависаний загрузки с правильной конфигурацией ... – Torben 27 November 2014 в 16:46
  • 3
    Я добавил предупреждение, чтобы сделать все более ясным. – Torben 27 November 2014 в 16:51

Я просто хотел сказать, что принудительное начало загрузки модуля vboxsf помогло мне (как и в ответе Ричарда Тернера), но строка fstab все еще не работала для меня.

Что я закончил что команда mount (которая работала) в /etc/rc.local. Немного взлома, но это сработало.

4
ответ дан 24 May 2018 в 16:15
  • 1
    Я не понимаю, как предложение Ричарда Тернера «помогло вам», но в то же время линия fstab «все еще не работала для вас» ...? – j_random_hacker 12 April 2017 в 15:44

С общей папкой, указанной в fstab, я обнаружил, что загрузка будет зависать, когда она пытается смонтировать ее с помощью VirtualBox 5 и Ubuntu 14.04. Решение похоже на задержку установки до тех пор, пока услуга GuestAddition не будет доступна (решение [F3] для Ричарда Тернера показалось мне недостаточным).

Для этого убедитесь, что у вас есть noauto в качестве параметров для общей папки в /etc/fstab. Например, для общей папки с именем vmshare:

vmshare    /home/user/share    vboxsf    defaults,noauto    0    0

Затем добавьте строку в /etc/rc.local, чтобы установить общий ресурс после загрузки:

mount vmshare
4
ответ дан 24 May 2018 в 16:15
  • 1
    Это было единственное решение, которое работало для меня, используя VBox 5.0.16 и Ubuntu 14.04 – T.J. Compton 28 April 2016 в 16:50

У меня была такая же проблема, и я работал над предлагаемыми решениями, но безуспешно. Решение Торбена застыло в ботинке, поэтому пришлось его отменить. Затем я решил устранить неисправность /etc/fstab, используя sudo mount -a. Синтаксис моей записи выглядел идеально, но все равно не удалось. Я также смог вручную смонтировать файл с помощью команды mount в окне терминала.

Я обнаружил, что у меня были пробелы между первыми двумя параметрами (устройством и точкой монтирования). Я заменил их вкладкой, и она работает. В самом деле? !!!!

2
ответ дан 24 May 2018 в 16:15
  • 1
    Вы уверены, что это были два пробела (ASCII-код 32)? Потому что один или несколько из них должны быть такими же точными, как символ табуляции. Иногда я случайно набираю неиспользуемые символы пробела, когда я нажимаю клавишу shift на ранней стадии или отпускаю ее слишком поздно, нажимая пробел. Они выглядят одинаково, но запутывают множество приложений. – David Foerster 3 February 2015 в 05:10
  • 2
    Все, что я знаю, это то, что я перешагнул через все пустое пространство и вставил одну вкладку, и тогда она сработала. – svenyonson 4 February 2015 в 07:52
  • 3
    Переключение пробелов для вкладок работало для меня. У моего существующего / etc / fstab были пробелы в нем (насколько я мог судить), и я точно их воспроизвел. Существующие линии имели одно пространство. Но переписывание моего с вкладками заработало все. – jcaruso 28 November 2015 в 21:53
  • 4
    Это не сработало для меня, но после рекомендации Кевина Сэдлера использования noauto для задержки установки, добавив mount <sharename> в rc.local, сделал трюк. Я не пробовал решение Тернера. – Mark Mikofski 23 February 2016 в 23:15

Похоже, что vboxsf не имеет псевдонима fs-vboxsf (так как модули ядра автоматически загружаются при установке этого типа файловой системы в первый раз), поэтому добавление псевдонима в /etc/modprobe.d должно сделать трюк:

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf
2
ответ дан 24 May 2018 в 16:15
  • 1
    Не пробовал это сам, но выглядит многообещающим. – j_random_hacker 12 April 2017 в 16:11

Я считаю, что нашел правильный способ справиться с этим в Arch Wiki. Используйте опцию comment=systemd.automount.

Вышеуказанная опция находится в файле /etc/fstab с другими параметрами. Например:

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0
1
ответ дан 24 May 2018 в 16:15

Другие вопросы по тегам:

Похожие вопросы: