Не вдалося встановити віртуальну папку для спільної папки з fstab; працює після завантаження


41

У мене встановлено 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

Зауважте, що при монтажі вручну я дозволяю монту приймати всі параметри з / 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 додатки для гостей.

Відповіді:


46

Я також зіткнувся з цією проблемою. Я монтую /var/wwwза допомогою функцій спільних папок VBox, тому це було дуже дратує.

Я знайшов рішення - змусити vboxsfмодуль завантажуватися рано, перед монтажем файлових систем. Просто додайте vboxsfвласний рядок у /etc/modules.

Ще одне рішення - встановити ноавто /etc/fstabта встановити накопичувачі вручну /etc/rc.local, але це було не настільки вдалим рішенням для мене, тому що до того часу Apache вже запустився і нічого не змогли знайти /var/www.


1
приголомшливий! додавання до / etc / модулів працювало чудово. дякую Річард!
— ThePosey

@ThePosey Радий, що допомогли!
— Річард Тернер

Це було проблемою для мене на гість Ubuntu Server 14.04. І ця відповідь (рішення / etc / module) вирішила це для мене. Дякую! PS Btw, якщо ви випадково, намагаючись розібратися / виправити речі, увімкнули функцію автоматичного монтування у налаштуваннях Virtualbox, відключіть її знову;)
— Reinis

2
@qodeninja Як я вже говорив у своєму другому абзаці: "Просто додайте vboxsfокрему лінію /etc/modules.
— Річард Тернер

1
Мені довелося додати vboxguest і vboxsf до / etc / module в гостьовій системі Ubuntu 14.04, щоб це працювало.
— mattanja

21

На додаток до пропозиції Річарда Тернера додати vboxsfвласну лінію до /etc/modules, я пропоную додати параметр _netdevмонтажу до /etc/fstab. Я протестував на Ubuntu 12.04 LTS, і це, здається, додало потрібну кількість затримки для успішного кріплення.

Мій /etc/fstabзапис:

dev /media/dev vboxsf defaults,_netdev 0 0


4
Це працює для мене, навіть не використовуючи рішення Тернера. Майте на увазі і сенс, оскільки на сторінці довідки спільноти Ubuntu для параметрів fstab написано: " _netdev- це мережевий пристрій, змонтуйте його після підключення до мережі". Я НЕ доведеться завантажувати vboxsfв /etc/modules, тільки при додаванні _netdevпрацював!
— Марк Мікофський

1
Це працює і для мене на Ubuntu 16.04, навіть без рішення Тернера.
— Женя

5

Виправлення Річарда перестали працювати для мене після останнього оновлення (VirtualBox 4.3.18, Ubuntu 14.04). На щастя, мені вдалося це виправити, завантаживши vboxsfпрямо ядро:

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

Перша команда додає параметр для завантаження модуля в ядро, а друга оновляє файлову систему init. Після перезавантаження я знову зміг використовувати мої fstab-кріплення :)

Попередження: Процес завантаження може замерзнути, якщо спільну папку неможливо встановити. Тому протестуйте свою конфігурацію, перш ніж додавати модуль до initramfs. Якщо ваша система все одно зависає, ви можете завантажити систему в режимі відновлення, щоб усунути проблему.


Я спробував це рішення завантажити vboxsfмодуль раніше ... Це просто заморозило мою послідовність завантаження, тому мені довелося його видалити.
— Реріто

Так, включаючи модуль, який рано може заморозити процес завантаження, якщо ваша спільна конфігурація папки порушена. Однак я ніколи не відчував, щоб завантаження зависало з правильною конфігурацією ...
— Torben

У відповідь я додав попередження, щоб зробити ясніше все.
— Torben

4

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

Що я в кінцевому підсумку робив - це введення команди mount (яка і працювала) /etc/rc.local. Трохи хак, але це спрацювало.


1
Я не розумію, як пропозиція Річарда Тернера "допомогла тобі", але в той же час рядок fstab "все ще не працював для тебе" ...?
— j_random_hacker

4

У спільній папці, переліченій у 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

Це було єдиним рішенням , яке працювало для мене, використовуючи VBox 5.0.16 і Ubuntu 14.04
— TJ Комптон

3

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

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf

Я сам не пробував цього, але це виглядає багатообіцяюче.
— j_random_hacker

2

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

Я виявив, що у мене були пробіли між першими двома параметрами (пристроєм та точкою кріплення). Я замінив їх на вкладку, і вона працює. Дійсно? !!!!


Ви впевнені, що це два символи пробілу (ASCII код 32)? Тому що один або декілька з них повинні бути такими ж чудовими, як і символи вкладки. Іноді я випадково набираю символи пробілу, що не вриваються, коли рано натискаю клавішу зсуву або відпускаю її занадто пізно, натискаючи пробіл. Вони виглядають однаково, але заплутують багато додатків.
— Девід Фоерстер

Все, що я знаю, це те, що я відступив по всьому пробілу і вставив одну вкладку, і тоді вона спрацювала.
— svenyonson

Переміщення мій пробілів для вкладок працювало на мене. Мій існуючий / etc / fstab мав пробіли в ньому (наскільки я міг сказати), і я їх точно копіював. Існуючі лінії мали єдиний пробіл. Але переписання шахти вкладками все спрацювало.
— jcaruso

Це не спрацювало для мене, але дотримуючись рекомендації Кевіна Садлера використовувати noautoдля затримки монтажу, а потім додавши mount <sharename>до rc.localцього трюку. Я не пробував рішення Тернера.
— Марк Мікофскі

1

Я вважаю, що знайшов правильний спосіб вирішити це в Arch Wiki . Використовувати comment=systemd.automountваріант.

Вищеописаний варіант йде у /etc/fstabфайл з іншими параметрами. Наприклад:

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0

Це не спрацювало для мене, але відповідь Кевена Садлєра .
— Марк Мікофскі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.