Ошибка монтирования общих папок 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...
и следовал инструкциям. Он немного поинтересовался наличием старой версии гостевых дополнений, но затем удалил ее и установил новую со второй попытки. Перезагрузка и работает.