Помилка встановлення спільних папок VirtualBox у гості Ubuntu


77

У мене є Ubuntu 10 як гостьова ОС на машині Windows 7. Я намагався налаштувати акції через VirtualBox, але нічого не працює. По-перше, я створюю частку у VirtualBox і вказую її на папку Windows. Тоді я намагаюся встановити накопичувач в Linux, але продовжую отримувати

/sbin/mount.vboxsf: встановлення не вдалося з помилкою: помилка протоколу

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

  • Використання синтаксису mount.vboxsf
  • Перевстановлення доповнень VBox
  • Перезавантаження
  • Увімкнення та випробування кореневого облікового запису

Я зробив акцію під назвою "Тест" у папках VBox Shared. Тоді я зробив каталог в ubuntu під назвою "test2". Потім я спробував виконати цю команду:

sudo mount -t vboxsf Test / mnt / test2

Будь-які інші ідеї?

Відповіді:


90

Для використання функцій спільної папки необхідно виконати кілька передумов :

  • Переконайтесь, що додатки для гостей встановлені належним чином у гостьовій ОС.
  • Користувачі в гостьовому Ubuntu повинні бути в групі, vboxsfщоб мати доступ до акцій.
  • Визначте каталог на хості, який буде використовуватися у віртуальній машині, використовуючи діалог налаштувань Virtual Box.

Залежно від хост-оператора або гостьової ОС також можуть знадобитися:

  • Не діліться особистими папками, як /home/usernameабоMy Documents
  • Уникайте спеціальних символів або порожніх пробілів на шляху до спільної папки, особливо якщо хост або VM - це машина Windows
  • Використовуйте різні назви для обміну та монтажу
  • Створіть точку монтажу на гостьовій ОС (найкраще у вашому домі HOME).

Тестування функцій спільних папок можна здійснити, створивши спільний каталог на хості (наприклад C:\myshare), визначте це як спільну папку для вашої гостьової системи в налаштуваннях віртуальної скриньки (наприклад share), створіть точку монтажу у вашому гостьовому ОС (наприклад mkdir /home/username/host) та змонтуйте це в гостьовій ОС з командою:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

де параметр -o гарантує, що у вас буде доступ до версії (яка в іншому випадку буде належати root).

Для отримання додаткової інформації про спільні папки див. Також Посібник користувача Virtual Box .

Файли або каталоги також можна спільно використовувати через мережу, використовуючи Samba для хоста та гостя.


4
Я вважаю, що я виконав усі ці вимоги, але все ще отримую помилку. Чи є спосіб я діагностувати, у чому проблема?
сказ

1
Не до рівня прямого рядка, але моя частка - це C: \ test замість C: \ myshare, вона визначена у VBox 4.0.4. Я створив папку в / home / [myusername] / test2 і папку в / mnt / test2 і запускаю команду саме в цих двох папках, і обидві повертають ту саму помилку.
сказ

1
Спасибі за вашу допомогу! Я не усвідомлював, що слова "test" та "Test2" вважатимуться такими ж назвами. Це вирішило проблему!
сказ

2
Для 'share' я нерозумно використовував sf_ [sharename], оскільки я міг бачити, що він встановлюється під / media / з цим ім'ям і припускав, що йому потрібне локальне ім'я ubuntu, а не власне ім'я VBox. Однак я видалив префікс 'sf_', і це вирішило проблему.
Астравагрант

1
@MichaelScheper - це лише рекомендації - якщо це працює для вас, все добре.
Таккат

15

Я також зустрів цю неприємність. Я виявив, що спільна папка вже змонтована /media/sf_share.

Я намагався видалити /media/sf_share, але не зміг.

Тож я видалив спільну папку "поділитися" у своєму домашньому каталозі.

$ rm -r ~/share

А потім переключитесь на користувача root таким чином:

$ sudo -i

Створіть програмне посилання / ярлик для папки / media / sf_share, якій належить користувач root, змінити право власності на Softlink за допомогою команди chown. Вихід від користувача root до звичайного користувача

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Ви можете бачити файли в Windows через загальну папку. І ім’я користувача повинно бути членом групи vboxsf.


Дякую ! ви мали рацію ... вже встановлені в / media / sf_sharename
Лоран

1
Використовуючи CentOS 7, я також виявив, що мій каталог встановлений на media/sf_sharename. Створення символьного посилання на цей каталог здавалося б можливим варіантом, але це сильно відрізняється від рекламованої / документально підтвердженої процедури на сайті VirtualBox. На це має бути відповідна резолюція!?!?
cartbeforehorse

11

Ось що для мене спрацювало без жодних проблем

Я зрозумів, що насправді моє userім’я не було в групі vboxsf . Наступні дві команди допоможуть отримати інформацію про групу:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

Тому я додав saurav(мене) до групи vboxsf за допомогою наступної команди:

sudo usermod -a -G vboxsf saurav 

Потім перезавантажили віртуальну скриньку, а потім .. Стрибали з мого розміщеного ..: D: D Все працювало нормально без проблем.

Будь ласка, прокоментуйте, якщо у когось ще є проблеми.


2
Це працювало для мене, дякую. Є лише тип: повинен бути sudo usermod -a -G vboxsf saurav(перша група, а потім користувач).
користувач673592

Так .. Введено неправильно .. :) Дякую за вказівку. Відредаговано зараз ..
Саурав Кумар

1
Вам не потрібно перезапускати VB, щоб придбати нову призначену групу. $ su - saurav зробить трюк.
Стівен Бостон

2

Я також багато боровся з монтажем, і спробував усе, що я придумав в інтервебзі, але я нарешті знайшов дуже дивний спосіб вирішити це! Мій гість - Ubuntu 13, а мій хост - Windows 7.

Перейдіть до папки мультимедіа та звідти введіть user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Так, це все. Але я не розумію, як це працює, лише якщо це зроблено з папки медіа. Якщо хтось знає, будь ласка, поясніть нам нижче. Дякую.

Ps Редагування моєї /etc/rc.localавтоматичної роботи при запуску не працює для мене.


1
/etc/rc.local ніколи не працюватиме, оскільки це робиться до запуску мережі.
Брайам

2
Привіт Брайам! Добре знати. На жаль, я читав на незліченних сайтах люди рекомендують редагувати /etc/rc.local для автоматичного набору. Чи знаєте ви, що є правильним способом автоматичного його встановлення при запуску? Дякую.
BringBackCommodore64

Я також вважаю, що це працює лише з / ЗМІ. Дуже дивно. Я просто додав це до мого .profile: pushd media && sudo mount /media/<theshare> && popd.
Метт Грір

1

Оскільки VirtualBox 5.1.20 працює на Windows 10 та Ubuntu 16.04 як гостьова ОС із встановленими GuestAdditions 5.1.20, я не зміг змонтувати спільні папки з командного рядка. Команди кріплення не вдалося, згадавши про помилку протоколу та sf_read_super_aux err = -22.

Врешті я виявив https://www.virtualbox.org/ticket/16670 "mount.vboxsf symlink пошкоджений". Я дотримувався одного з обхідних шляхів там, щоб виправити симпосилання для mount.vboxsf, і все працювало. Мій підхід полягав у тому, щоб:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

Команди потрібно виконувати корінцем. Отже, оскільки це був Ubuntu, я додав "sudo" на початку кожного рядка, щоб виконувати команду як root. Інші аромати Linux мають інші способи цього зробити.

На відміну від цього, у Білеті № 12879 віртуальної скриньки було повідомлено про аналогічну проблему символьного посилання "Неможливо встановити спільні папки з додатками для гостей 4.3.10" у 2014 році, що було виправлено наступного місяця.

2017-04-27


@duncan: хороший момент. Назва квитка описує проблему, але я змінив, щоб показати рішення, яке я використав.
J Cumming

Журнал змін для віртуальної коробки v5.1.22 на сайті virtualbox.org/wiki/Changelog#v22 говорить про те, що
J Cumming

Журнал змін для віртуальної коробки v5.1.22, випущений 2017-04-28, ( virtualbox.org/wiki/Changelog#v22 ), говорить про те, що ця помилка / квиток № 16670 виправлена. Я в захваті!
J Cumming

Не впевнений, чому це було знято, але це допомогло мені з моїми проблемами використання Vbox 5.122
qodeninja

1

Для мене проблема полягала в тому, що я був гусом, і я забув, що я видалив запис зі свого списку загальних папок у VirtualBox (Машина → Налаштування → Спільні папки).

Я просто кидаю це сюди, на випадок, якщо хтось колись подібним чином введе в оману «помилка протоколу».

: honk: 😉


1

Спробував усе вищесказане, і мені нічого не вийшло. Lats Я створив нову тимчасову папку "Спільний доступ" із "Увімкнути постійну" та "Автоматичне кріплення". А потім запустіть команду

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

Це працювало для мене. Цього разу помилок не було.


0

Моя спільна папка працювала, і після перезавантаження мого хоста це було не так.

Змінивши назву спільної папки з Shared на Shared2, вона працювала.

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

Не маю уявлення про те, що сталося і чому ні як виправити. Система, яка не має глобального стану, що змінюється, як Nix, має крапку.


0

Особисто я зіткнувся з тим же повідомленням про помилку, і проблема була пов’язана з тим, що я робив помилку, пов’язану з папкою, розміщеною на хост-машині, і яку я встановив як спільну папку у віртуальній машині завдяки гостьовим доповненням.

Тож правильна команда:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

Це виправило повідомлення про помилку.


0

Для мене це була неправильна версія гостей-доповнень.

Я перемістив цілий VM з одного ноутбука (на якому працював VirtualBox 5.8 / щось) на інший ноутбук з VirtualBox 6.0. Все працювало, крім монтажу спільної папки.

Я щойно запустив VM, натиснув Devices -> Insert Guest additions CD image...і слідував інструкціям. Він трохи зупинився на наявності старшої версії гостьових доповнень, але потім видалив її та встановив нову з другої спроби. Перезавантажте і працює.

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