Ошибка монтирования общих папок VirtualBox в гостевой системе Ubuntu

У меня Ubuntu 10 в качестве гостевой ОС на компьютере с Windows 7. Я пытался настроить общие ресурсы через VirtualBox, но ничего не работает. Сначала я создаю общий ресурс в VirtualBox и указываю на папку Windows. Затем я пытаюсь смонтировать диск в Linux, но продолжаю получать

/sbin/mount.vboxsf: монтирование не удалось с ошибкой: ошибка протокола

Я прочитал так много решений этого, но ни один, кажется, не работает. Я пытался:

  • Использование синтаксиса mount.vboxsf
  • Переустановка дополнений VBox
  • Rebooting
  • Включение и попытка от имени учетной записи root

Я сделал акцию под названием "Тест" в общих папках VBox. Затем я сделал каталог в Ubuntu с именем "test2". Затем я попытался выполнить эту команду:

sudo mount -t vboxsf Test / mnt / test2

Есть еще идеи?

9 ответов

Решение

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

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

В зависимости от хоста или гостевой ОС может потребоваться следующее:

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

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

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

где опция -o гарантирует, что у вас будет доступ к монтированию (которое в противном случае будет принадлежать пользователю root).

Для получения дополнительной информации об общих папках см. Также руководство пользователя Virtual Box.

Файлы или каталоги могут также передаваться по сети с помощью Samba на хосте и госте.

Я также встретил эту проблему. Я обнаружил, что общая папка уже смонтирована в /media/sf_share,

Я пытался удалить /media/sf_share, но я не мог.

Поэтому я удалил общую папку "share" в своем домашнем каталоге.

$ rm -r ~/share

А затем переключитесь на пользователя root следующим образом:

$ sudo -i

Создайте softlink/ ярлык для папки /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.

Вот что сработало у меня без проблем

Я понял, что на самом деле мой user имя не было в группе vboxsf. Следующие две команды помогут получить информацию о группе:

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

Итак, я добавил saurav (я) в группу vboxsf, используя следующую команду:

sudo usermod -a -G vboxsf saurav 

Затем перезапустил виртуальную коробку, а затем.. Выскочил с моего места..:D:D Все работало нормально без каких-либо проблем.

Пожалуйста, прокомментируйте, если у кого-то все еще есть проблемы..

Перепробовал все вышесказанное и у меня ничего не получалось. В последнее время я создал новую временную папку "Shared" с включенными "Make Permanent" и "Auto Mount". А затем запустите команду

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

Это сработало для меня. На этот раз ошибок нет.

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

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

Да, вот и все. Но я не понимаю, почему это работает, только если это сделано из папки мультимедиа. Если кто-то знает, пожалуйста, объясните нам ниже. Благодарю.

PS Редактирование моего /etc/rc.local сделать автомонтирование при запуске не работает для меня.

С 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 не работает". Я использовал один из обходных путей, чтобы исправить символическую ссылку для mount.vboxsf, и все заработало. Мой подход должен был сделать:

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

Команды должны выполняться пользователем root. Итак, поскольку это была Ubuntu, я добавил "sudo " в начале каждой строки, чтобы выполнить команду от имени пользователя root. У других разновидностей Linux есть другие способы сделать это.

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

2017-04-27

Я попробовал несколько ответов, а затем увидел комментарий void о том, что он перезапустил гостевую ОС Linux и снова смонтировал.

Работал у меня.:)

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

Я просто добавляю это сюда, на случай, если кто-нибудь еще будет введен в заблуждение подобным образом "Ошибка протокола".

: гудок:

Моя общая папка работала, а после перезагрузки хоста - нет.

Сменив имя общей папки с Shared на Shared2, это сработало.

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

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

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

Итак, правильная команда:

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

Это исправило сообщение об ошибке.

Для меня это была неправильная версия гостевого дополнения.

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

Я только что запустил ВМ, нажал на Devices -> Insert Guest additions CD image... и следовал инструкциям. Он немного поинтересовался наличием старой версии гостевых дополнений, но затем удалил ее и установил новую со второй попытки. Перезагрузка и работает.

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