Błąd podczas montowania folderów współdzielonych VirtualBox w gościu Ubuntu

77

Mam Ubuntu 10 jako system operacyjny gościa na komputerze z systemem Windows 7. Próbowałem skonfigurować udziały za pośrednictwem VirtualBox, ale nic nie działa. Najpierw tworzę udział w VirtualBox i wskazuję folder Windows. Potem próbuję zamontować dysk w Linuksie, ale ciągle otrzymuję

/sbin/mount.vboxsf: instalacja nie powiodła się z błędem: błąd protokołu

Przeczytałem tak wiele rozwiązań, ale wydaje się, że żadne z nich nie działa. Próbowałem:

  • Korzystanie ze składni mount.vboxsf
  • Ponowna instalacja dodatków VBox
  • Ponowne uruchomienie
  • Włączanie i próba jako konto root

Zrobiłem udział o nazwie „Test” w folderach współdzielonych VBox. Potem utworzyłem katalog w Ubuntu o nazwie „test2”. Następnie próbowałem wykonać to polecenie:

sudo mount -t vboxsf Test / mnt / test2

Jakieś inne pomysły?

skaz
źródło

Odpowiedzi:

90

Aby korzystać z funkcji folderu współdzielonego, należy spełnić kilka wymagań wstępnych :

  • Upewnij się, że Dodatki gości są poprawnie zainstalowane w systemie operacyjnym gościa.
  • Użytkownicy gościa Ubuntu muszą należeć do grupy, vboxsfaby mieć dostęp do udziałów.
  • Zdefiniuj katalog na hoście, który będzie używany na maszynie wirtualnej za pomocą okna dialogowego ustawień Virtual Box.

W zależności od systemu operacyjnego hosta lub gościa mogą być również potrzebne:

  • Nie udostępniaj folderów osobistych, takich jak /home/usernamelubMy Documents
  • Unikaj znaków specjalnych lub pustych spacji w ścieżce do folderu współdzielonego, zwłaszcza jeśli host lub maszyna wirtualna jest komputerem z systemem Windows
  • Użyj różnych nazw dla share i mountpoint
  • Utwórz punkt montowania w systemie-gościu (najlepiej w katalogu HOME).

Testowanie funkcjonalności folderów współdzielonych można wykonać, tworząc katalog współdzielony na hoście (np. C:\myshare), Zdefiniuj go jako folder współdzielony dla systemu gościa w ustawieniach Virtual Box (np. share), Utwórz punkt montowania w swoim systemie gościa (np. mkdir /home/username/host) I podłącz to w systemie-gościu z poleceniem:

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

gdzie opcja -o gwarantuje, że będziesz mieć dostęp do montowania (które w innym przypadku będzie własnością root).

Aby uzyskać więcej informacji na temat folderów współdzielonych, zobacz także Podręcznik użytkownika Virtual Box .

Pliki lub katalogi można również udostępniać przez sieć, używając Samby na hoście i gościu.

Takkat
źródło
4
Uważam, że spełniłem wszystkie te wymagania, ale wciąż pojawia się błąd. Czy istnieje sposób na zdiagnozowanie problemu?
skaz
1
Nie do poziomu literału ciąg, ale mój udział to C: \ test zamiast C: \ myshare, jest zdefiniowany w VBox 4.0.4. Utworzyłem folder w / home / [moja nazwa użytkownika] / test2 i folder w / mnt / test2 i uruchomiłem polecenie dokładnie na tych dwóch folderach i oba zwracają ten sam błąd.
skaz
1
Dzięki za pomoc! Nie zdawałem sobie sprawy, że słowa „test” i „Test2” będą uważane za takie same. To rozwiązało problem!
skaz
2
Do 'share' głupio użyłem sf_ [sharename], ponieważ widziałem, że jest montowany pod / media / o tej nazwie i założyłem, że będzie potrzebował lokalnej nazwy ubuntu, a nie własnej nazwy VBox. Jednak usunąłem przedrostek „sf_” i to rozwiązało problem.
Astravagrant
1
@MichaelScheper są to tylko zalecenia - jeśli to działa, wszystko jest w porządku.
Takkat
15

Też spotkałem ten problem. Odkryłem, że folder współdzielony został już zamontowany w /media/sf_share.

Próbowałem usunąć /media/sf_share, ale nie mogłem.

Więc usunąłem folder współdzielony „udostępnij” w moim katalogu domowym.

$ rm -r ~/share

A następnie przełącz się na użytkownika root w następujący sposób:

$ sudo -i

Utwórz softlink / skrót do folderu / media / sf_share, którego właścicielem jest użytkownik root, zmodyfikuj własność softlink za pomocą polecenia chown. Wyjdź z użytkownika root na zwykłego użytkownika

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

$ chmod 777 ~/share

Możesz zobaczyć pliki w systemie Windows poprzez folder współdzielony. Nazwa użytkownika musi należeć do grupy vboxsf.

Stary Urolog
źródło
Dzięki ! miałeś rację ... już zamontowany w / media / sf_sharename
Laurent
1
Używając CentOS 7, odkryłem również, że mój katalog jest podłączony media/sf_sharename. Stworzenie dowiązania symbolicznego do tego katalogu wydaje się być możliwą opcją, ale jest to coś zupełnie innego niż procedura reklamowana / udokumentowana na stronie VirtualBox. Musi to być odpowiednia rozdzielczość!?!?
cartbeforehorse
11

Oto, co zadziałało dla mnie bez problemu

Zrozumiałem, że właściwie moje usernazwisko nie było w grupie vboxsf . Następujące dwa polecenia pomogą uzyskać informacje o grupie:

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

Więc dodałem saurav(mnie) do grupy vboxsf za pomocą następującego polecenia:

sudo usermod -a -G vboxsf saurav 

Następnie ponownie uruchomiłem virtualbox, a następnie .. Wyskoczyłem z mojego umieszczonego ..: D: D Wszystko działało dobrze bez żadnego problemu.

Proszę o komentarz, jeśli ktoś nadal ma problem.

Saurav Kumar
źródło
2
To zadziałało dla mnie, dziękuję. Jest tylko typ: powinien być sudo usermod -a -G vboxsf saurav(najpierw grupa, potem użytkownik).
user673592,
Tak .. Niepoprawne wpisanie .. :) Dziękujemy za zwrócenie uwagi. Edytowane teraz ..
Saurav Kumar,
1
Nie musisz ponownie uruchamiać VB, aby uzyskać nowo przypisaną grupę. $ su - saurav załatwi sprawę.
Stephen Boston
2

Dużo też zmagałem się z montażem i próbowałem wszystkiego, co wymyśliłem w interwebz, ale w końcu znalazłem bardzo dziwne obejście, aby je rozwiązać! Moim gościem jest Ubuntu 13, a moim hostem jest system Windows 7.

Przejdź do folderu multimediów i stamtąd wpisz user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Tak, to jest to. Ale nie rozumiem, dlaczego to działa, tylko jeśli jest zrobione z folderu multimediów. Jeśli ktoś wie, proszę wyjaśnij nam poniżej. Dzięki.

Ps Edycja mojego /etc/rc.localdo automatycznego montażu przy starcie nie działa dla mnie.

BringBackCommodore64
źródło
1
/etc/rc.local nigdy nie będzie działać, ponieważ odbywa się to przed uruchomieniem sieci.
Braiam
2
Cześć Braiam! Dobrze wiedzieć. Niestety, czytałem w niezliczonych witrynach, ludzie polecają edycję pliku /etc/rc.local do automatycznego montowania. Czy wiesz, jaki jest prawidłowy sposób automatycznego zamontowania go podczas uruchamiania? Dzięki.
BringBackCommodore64
Uważam również, że działa tylko z / media. Bardzo dziwny. Właśnie dodałem to do mojego pliku .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer,
1

Z VirtualBox 5.1.20 działającym na Windows 10 i Ubuntu 16.04 jako system operacyjny gościa z zainstalowanym GuestAdditions 5.1.20, nie mogłem montować folderów współdzielonych z wiersza poleceń. Komendy montowania nie powiodły się, ze wzmiankami o błędzie protokołu i sf_read_super_aux err = -22.

W końcu znalazłem https://www.virtualbox.org/ticket/16670 „przerwane łącze symboliczne mount.vboxsf”. Postępowałem zgodnie z jednym z obejść tego problemu, aby poprawić dowiązanie symboliczne dla mount.vboxsf i wszystko działało. Moje podejście polegało na:

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

Polecenia muszą być wykonywane przez root. Ponieważ był to Ubuntu, dodałem „sudo” na początku każdej linii, aby wykonać polecenie jako root. Inne smaki Linuksa mają na to inne sposoby.

Nawiasem mówiąc, podobny problem z dowiązaniem symbolicznym został zgłoszony w teście nr 12879 wirtualnej skrzynki „Nie można zamontować folderów współdzielonych z dodatkami gości 4.3.10” w 2014 r., Który został naprawiony w następnym miesiącu.

27.04.2017

J Cumming
źródło
@ Duncan: dobry punkt. Tytuł biletu opisuje problem, ale edytowałem go, aby pokazać zastosowane rozwiązanie.
J Cumming
Dziennik zmian dla wirtualnego pudełka wer. 5.1.22 na virtualbox.org/wiki/Changelog#v22 mówi, że
J Cumming
Dziennik zmian dla wirtualnego pudełka wer. 5.1.22, wydany 28.04.2017 ( virtualbox.org/wiki/Changelog#v22 ), mówi, że ten błąd / bilet # 16670 został naprawiony. Jestem podekscytowany!
J Cumming
Nie jestem pewien, dlaczego zostało to odrzucone, ale pomogło mi to z problemami z Vbox 5.122
qodeninja
1

Dla mnie problem polegał na tym, że byłem gęsią i zapomniałem, że usunąłem wpis z mojej listy folderów współdzielonych w VirtualBox (Maszyna → Ustawienia → Foldery współdzielone).

Po prostu wrzucam to tutaj, na wypadek, gdyby ktoś inny był podobnie wprowadzany w błąd przez „błąd protokołu”.

: honk: 😉

Michael Scheper
źródło
1

Próbowałem wszystkich wyżej wymienionych i nic nie działało dla mnie. Lats Utworzyłem nowy folder przejściowy „Udostępniony” z włączonymi „Make Permanent” i „Auto Mount”. A następnie uruchom polecenie

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

To zadziałało dla mnie. Tym razem nie ma błędu.

Pankaj
źródło
0

Mój folder współdzielony działał, a po ponownym uruchomieniu komputera nie działał.

Zmieniając nazwę folderu współdzielonego z Shared na Shared2, zadziałało.

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

Nie mam pojęcia, co się stało i dlaczego ani jak to naprawić. System bez globalnego stanu zmiennego, taki jak Nix, ma rację.

Nicolas
źródło
0

Osobiście spotkałem się z tym samym komunikatem o błędzie, a problem związany był z tym, że zrobiłem literówkę związaną z folderem znajdującym się na maszynie hosta i który ustawiłem jako folder współdzielony z maszyny wirtualnej dzięki dodatkom gościa.

Tak więc właściwym poleceniem jest:

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

To naprawiło komunikat o błędzie.

Billal Begueradj
źródło
0

Dla mnie była to niewłaściwa wersja dodatków gości.

Przeniosłem całą maszynę wirtualną z jednego laptopa (który uruchomił VirtualBox 5.8 / coś) na inny laptop z VirtualBox 6.0. Wszystko działało oprócz montowania folderu współdzielonego.

Właśnie uruchomiłem maszynę wirtualną, kliknąłem Devices -> Insert Guest additions CD image...i postępowałem zgodnie z instrukcjami. Szczypał trochę o obecności starszej wersji dodatków gości, ale potem go usunął i zainstalował nowy przy drugiej próbie. Uruchom ponownie i działa.

Kashyap
źródło