Jak zamontować folder współdzielony VirtualBox? [Zamknięte]


58

Jaka jest procedura montowania folderu współdzielonego VirtualBox w systemie Linux?

Próbowałem różnych wariantów następującego polecenia montowania, ale wciąż otrzymuję protocol errorlub inne błędy montowania.

sudo mount -t vboxsf share /home/toto

Czy to pytanie? Przeredaguj go, aby stał się pytaniem, opublikuj własną odpowiedź, a chętnie usunę głos negatywny.
icedwater

1
Edytowane zgodnie ze standardami pytań i odpowiedzi.

proszę zaktualizuj pytanie, co próbowałeś i jaki masz błąd

Edytowane, aby pokazać niedziałające polecenie. Częstym błędem jest protocol errorjak podano w pytaniu.

Otrzymuję ten błąd dowolne rozwiązanie tego „montowania: nieznany typ systemu plików 'vboxsf'”
sandip divekar

Odpowiedzi:


111

Ok, to było dla mnie trochę mylące, ale w końcu zrozumiałem, co się dzieje. Postanowiłem więc dać moje 2 centy w nadziei, że będzie to bardziej jasne dla innych i jeśli kiedyś zapomnę:).

Nie używałem nazwy udziału, który utworzyłem na maszynie wirtualnej, zamiast tego użyłem share lub vb_share, gdy nazwa mojego udziału była wd, więc pomyliłem się przez chwilę.

Najpierw dodaj katalog udziału w VM Box: wprowadź opis zdjęcia tutaj

Jakkolwiek tu nazwiesz, będzie to nazwa, której będziesz potrzebować podczas montowania w systemie-gościu vm. tzn. nazwałem mój „wd” dla mojego zachodniego cyfrowego dysku paszportowego.

Następnie w systemie operacyjnym guset utwórz katalog, który będzie używany dla twojego mounta, najlepiej w katalogu domowym.

mkdir share

Następnie otwórz terminal i skopiuj i wklej następujące lub wpisz. Możesz włączyć udostępniony schowek w Device-> Shared Clipboard-> Dwukierunkowy

sudo mount -t vboxsf wd ~/share/

Powinno być teraz możliwe kopiowanie plików między systemami operacyjnymi za pomocą folderu „share” w katalogu domowym.

Mam nadzieję że to pomoże!


1
Spędziłem kilka godzin, aby zrozumieć, w jaki sposób mogę uzyskać pliki od Gościa. Okazało się, że „nazwa_udziału” (z oficjalnej dokumentacji VBox) w komendzie „mount” - to po prostu NAZWA określona w polu wirtualnym Foldery współdzielone w pierwszej kolumnie. Świetna robota, jesteś moim bohaterem.
zen11625,

2
świetna odpowiedź, +1 za zrzut ekranu ... To mocuje udział jako root, jednak wierzę. Zobacz [dokumentację] ( forums.virtualbox.org/viewtopic.php?t=15868 ) na temat sposobu montowania go jako bieżącego użytkownika, np .:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@ użytkownik Jak ustawić ten montaż automatycznie po uruchomieniu?

Jeśli nie znasz swojego identyfikatora użytkownika, możesz użyć zmiennych. w tym przypadku polecenie kopca staje sięsudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

W przypadku VirtualBox z gościem Linuksowym są następujące kroki, aby zamontować folder współdzielony:

  1. Użyj aplikacji hosta VirtualBox, VirtualBox Manager, aby określić foldery hosta do udostępnienia.

  2. Upewnij się, że dodatki gościa VirtualBox są zainstalowane w gościu VirtualBox.

  3. W gościu Linux polecenie mount powinno pokazywać linię, w której udział został zamontowany. Wskazuje to na type vboxsf. Problem polega na tym, że punkt montowania może nie znajdować się w pożądanym miejscu, a uprawnienia są tylko rootem. Domyślna lokalizacja montowania to /media/sf_.

  4. Aby uzyskać dostęp do udziału, określ identyfikator użytkownika lub grupy 1000członka grupy vboxsf. Odbywa się to poprzez zmianę vboxsflinii w /etc/grouppliku. Może wymagać ponownego uruchomienia.

  5. Możesz zmienić miejsce montowania folderu za pomocą polecenia VBoxControl. Polecenie jest instalowane po zainstalowaniu Dodatków gości. Może wymagać ponownego uruchomienia. Na przykład, aby zmienić punkt montowania z, /media/sf_...aby /home/toto/sf_...użyć następującego polecenia do ustawienia właściwości gościa folderu współdzielonego VirtualBox:

sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Aby potwierdzić zmianę, użyj get:

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

Bibliografia:

Informacje o folderze współdzielonym VirtualBox

Informacje o właściwościach gości VirtualBox


4
Nowy problem, w Vbox 4.3.10 łącze jest zepsute, sprawdź, aby zweryfikować (ls -l) /sbin/mount.vboxsf Jeśli ten cel nie istnieje, katalog musi zostać ponownie zmapowany: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
Aby dodać użytkownika myuser do grupy vboxsf, możesz użyć: sudo adduser myuser vboxsf

VirtualBox 4.3.14 naprawia problemy z instalacją dodatków gości dla RHEL 7 i CentOS 7. Instaluj dodatki

Korzystam z VirtualBox 4.3.20 na Windows 8.1. Mam Ubuntu zainstalowany na maszynie wirtualnej. Nie widzę type vboxsfpodczas uruchamiania mountpolecenia, mimo że mam zainstalowane elementy gościa! proszę o pomoc
J86

20

Podczas spotkania:

mount: Protocol error

po próbie udostępnienia folderów w VirtualBox, np .:

$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host

to w końcu zadziałało dla mnie:

$ sudo apt-get install virtualbox-guest-dkms

(Moja konfiguracja: host Windows 7, goście: Ubuntu 12.04,13.10,14.04; obecnie działa VBox 4.3.10 r93012)


5

Zainstaluj wirtualne dodatki w systemie gościa. Następnie zamknij system operacyjny gościa. Otwórz ustawienia gościa w wirtualnym pudełku. Następnie dodaj folder współdzielony i zapisz ustawienia. Następnie uruchom system operacyjny gościa i dla Ubuntu wydaj poniższe polecenie. Dodaje bieżącego użytkownika do grupy vboxsf.

sudo adduser $ USER vboxsf

uruchom ponownie system operacyjny gościa i przejdź do / media /, aby uzyskać dostęp do folderu współdzielonego.


sudo adduser nie działa dla mnie. Dodaję, aby użyć „sudo usermod -a -G vboxsf myUser” i działa. Dziękuję
Alex

1
Tak, tego właśnie brakowało: sudo adduser $ USER vboxsf Teraz to działa :-)

3

Wewnątrz gościa VirtualBox systemu Linux lub Mac OS X po zainstalowaniu dodatków gości VirtualBox możesz odkryć dostępne foldery współdzielone VirtualBox za pomocą następującego polecenia:

sudo  VBoxControl  sharedfolder  list

Jeśli twój folder domowy wewnątrz gościa zawiera foldery o takich samych nazwach jak foldery współdzielone VirtualBox, możesz zamontować je automatycznie za pomocą następującego skryptu powłoki:

#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------

if  !  type  VBoxControl  > /dev/null;  then
  echo  'VirtualBox Guest Additions NOT found'  > /dev/stderr
  exit 1
fi

MY_UID="$(id -u)"
MY_GID="$(id -g)"

( set -x;  sudo  VBoxControl  sharedfolder  list; )  |  \
grep      '^ *[0-9][0-9]* *- *'                      |  \
sed  -e 's/^ *[0-9][0-9]* *- *//'                    |  \
while  read  SHARED_FOLDER
do
  MOUNT_POINT="$HOME/$SHARED_FOLDER"
  if  [ -d "$MOUNT_POINT" ];  then
    MOUNTED="$(mount  |  grep  "$MOUNT_POINT")"
    if  [ "$MOUNTED" ];  then
      echo  "Already mounted :  $MOUNTED"
    else
      (
        set -x
        sudo  mount  -t vboxsf  -o "nosuid,uid=$MY_UID,gid=$MY_GID"  "$SHARED_FOLDER"  "$MOUNT_POINT"
      )
    fi
  fi
done

1

Gdy pojawi się następujący błąd: /sbin/mount.vboxsf: instalacja nie powiodła się z błędem: Błąd protokołu

Niestety oznacza to, że używasz domyślnej nazwy udziału lub nazwa katalogu udziału hosta jest taka sama jak nazwa zamontowanego udziału gościa. W tym przypadku jest to „share”. Wystarczy utworzyć inny folder współdzielony, tj. „Vb_share”, a następnie wykonać:

mount -t vboxsf vb_share / home / <użytkownik> / host


1
  • Zainstaluj dodatki Vbox (plik ISO lub pobierz następnie)
  • Utwórz katalog o dowolnej nazwie w dwóch systemach ( mkdir sharena przykład)
  • połącz z „VBox Shared Folders” folder współdzielony w oryginalnym systemie
  • użyj polecenia, aby połączyć swój folder:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Instalacja: VirtualBox 4.3.26, host Win 7 SP1, gość Debian jessie 8.0 (stabilny).

W VirtualBox Manager wybierz Ustawienia folderów współdzielonych ... z menu rozwijanego Urządzenia .

W wyświetlonym wyskakującym oknie wybierz Foldery maszynowe z listy folderów, a następnie kliknij przycisk „Dodaj nową definicję folderu udostępnionego” (niebieski folder z zieloną ikoną „+” po prawej stronie listy folderów ).

W wynikowym formularzu wyskakującym Dodaj udział kliknij przycisk strzałki w dół w polu Ścieżka folderu , a następnie wybierz Inne . Pojawi się wyskakujące okno Przeglądaj folder .

(W moim przypadku właśnie dodałem inny dysk twardy do mojej stacji roboczej, aby użyć go do dedykowanego udziału, już sformatowanego dla NTFS, o nazwie woluminu „udział” i zamontowanego jako „G:”. Kliknąłem więc strzałkę obok Komputer wybierz dysk G: a następnie kliknij przycisk OK .)

(W twoim przypadku należy wybrać folder lub dysk, który chcesz udostępnić, a następnie kliknij przycisk OK .)

Po dokonaniu wyboru i kliknięciu OK przycisk, VirtualBox Manager wypełnić ścieżkę folderu i nazwy folderu pól na Dodaj Pobierz formularz. Pozostaw pole Ścieżka folderu w spokoju, ale możesz zmienić Nazwę folderu, jeśli chcesz - pamiętaj o tym na później.

Zakończ formularz Dodaj udział , zaznaczając pole wyboru Ustaw na stałe , ale pamiętaj, aby pozostawić wyczyszczone pole wyboru Auto-montowanie - zajmiemy się montażem później. (I oczywiście, jeśli chcesz, aby folder lub dysk były tylko do odczytu, to idź dalej i zaznacz pole Tylko do odczytu .) Następnie kliknij przycisk OK .

Nowo skonfigurowany udział powinien teraz pojawiać się jako pozycja w folderze Foldery maszyn na liście folderów . Kliknij przycisk OK .

Aby zamontować ten udział podczas rozruchu (uruchamiania), musimy dodać linię definicji montowania do / etc / fstab w naszej instalacji gościa Debian jessie. Tę edycję należy wykonać jako root lub przez sudo, na przykład:

sudo nano /etc/fstab

(Osobiście użyłem vi, ale ponieważ nano jest domyślnym edytorem Debiana jessie, podałem go w powyższym przykładzie.)

Aby zamontować ten udział w moim katalogu domowym, z jego własnością i grupą ustawionymi na mój osobisty UID i GID, dodałem następującą definicję do / etc / fstab:

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(Uwaga: wokół znaków „=”, „.” Lub „,” nie ma spacji).

Definicja / etc / fstab ma postać

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(Należy zauważyć, że między polami definicji powinny znajdować się białe spacje - spacje i / lub tabulatory), ale nie może zawierać spacji w polu.

Pole „Urządzenie” powinno być ustawione na Nazwę folderu określoną przez VirtualBox Manager Dodaj udział . Zmieniłem domyślny „G_DRIVE” na „udostępnij”.

„Punkt montowania” to specyfikacja ścieżki katalogu, która musi już istnieć, ale powinna być pusta. (Oznacza to, że wszystko, co już znajduje się w tym katalogu, zostanie ukryte przez to, co na nim montujesz.) Utworzyłem nowy, pusty podkatalog o nazwie „share” w moim katalogu domowym.

„Typ” to „vboxsf”.

„Opcje” (komentarz = systemd.automount, uid = conib, gid = conib, noauto) były podchwytliwe i wymagały trochę pracy, aby uruchomić tę konfigurację.

Ustaw „Zrzut” na 0, chyba że wiesz, że chcesz ustawić na coś innego.

A ponieważ nie chcemy, aby fsck sprawdzał ten udział, ustaw „Pass” również na 0.

Po dodaniu wiersza definicji do / etc / fstab, uruchom ponownie gościa Debiana i potwierdź, że możesz zobaczyć pliki i podfoldery swojego udziału.

HTH.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.