Zamontuj VirtualBox SharedFolder w Ubuntu VM podczas uruchamiania

15

Mam maszynę Wirtualną Ubuntu uruchomioną w VirtualBox.
Mam skonfigurowany folder współdzielony, ponieważ myshare mam folder utworzony w moim katalogu domowym ( ~/jamesw) as host. użycie wiersza sudo mount -t vboxsf myshare hostz mojego katalogu domowego w Terminalu powoduje poprawne zamontowanie napędu, ale jeśli zrestartuję komputer, nie zostanie on ponownie podłączony.

To jest maszyna wirtualna, której używam do uruchamiania prostego serwera WWW i chciałbym, aby ten udział był montowany przy każdym uruchomieniu. Czy jest na to sposób? Zwłaszcza, że ​​wymaga sudo?

James P. Wright
źródło

Odpowiedzi:

22

Automatycznie montuj foldery współdzielone za pomocą Virtual Box Manager

Z Virtual Box> 4.0 jesteśmy w stanie automatycznie montować foldery współdzielone na maszynie wirtualnej. Aby to zrobić dla Ubuntu, my

  • trzeba zainstalować Dodatki gości w systemie-gościu
  • upewnij się, że użytkownicy są w grupie vboxsf
  • zdefiniuj foldery współdzielone z Virtual Box Manager

Kliknij maszynę wirtualną prawym przyciskiem myszy i wybierz Ustawienia-> Foldery udostępnione . Spowoduje to wyświetlenie istniejących udziałów lub pozwoli Ci zdefiniować nowy folder współdzielony, klikając niebieską ikonę folderu z zielonym +znakiem w prawym górnym rogu:

wprowadź opis zdjęcia tutaj

Wybierz folder z menu rozwijanego Ścieżka folderu lub wybierz opcję Zdefiniuj inny dla selektora plików zawierającego system plików hosta. Wybierz nazwę udziału (np. Myshares ). Zaznaczając opcję Auto-mount, ten folder będzie zawsze montowany w katalogu gości Ubuntu /media/sf_myshares(prefiks sf_zostanie automatycznie dodany).


Alternatywnie, aby zdefiniować foldery współdzielone w działającym systemie operacyjnym gościa, możemy wybrać Urządzenia -> Foldery współdzielone z menu okna Virtual Box Manager:

wprowadź opis zdjęcia tutaj

Zaznaczając Make Permanent, te udostępnione foldery będą również dostępne przy następnym uruchomieniu i zostaną zamontowane, gdy zaznaczone zostanie dodatkowo Auto-mount .

Takkat
źródło
To sprawi, że system gościa automatycznie zamontuje udział hosta , i wierzę, że OP chce czegoś przeciwnego: zamontować udział gościa w swoim systemie hosta . Jeśli się mylę, to zupełnie nie zrozumiałem pytania, a moja odpowiedź powinna zostać zignorowana
MestreLion
1
@MestreLion: Mylisz się, przepraszam! Myślę, że moim problemem jest to, że nigdy nie mogłem znaleźć dysku Shared na maszynie Wirtualnej Ubuntu, ponieważ nie miałem pojęcia, że ​​jest montowany na / media. Gdybym zdał sobie sprawę, że to pytanie nie byłoby nawet konieczne.
James P. Wright,
@James: Och, przepraszam. Montowanie udziału hosta w systemie-gościu jest łatwe i masz kilka opcji. Poza podaną tutaj (doskonałą, btw) odpowiedzią, czy zdajesz sobie sprawę, że system operacyjny gościa może być widoczny w sieci LAN, tak jak zwykła maszyna? Wystarczy zmienić sieć z domyślnej NATna Bridged. Możesz teraz „wymieniać” udziały z gościa na gospodarza (i odwrotnie) za pomocą Nautilusa, Samby itp.
MestreLion
@MestreLion: szczerze mówiąc - głównie udostępniam pliki hosta (i gościa) za pomocą Samby przez sieć;)
Takkat
@Takkat: Ja też! (i to sprawia, że ​​obie nasze odpowiedzi są nieaktualne!: P)
MestreLion
7

Nie sądzę, aby użycie / etc / fstab działało (nie działało to dla mnie), ponieważ plik ten jest przetwarzany przed załadowaniem modułu SF i nie powiedzie się zamontowanie udziału, zobacz HOWTO: Używanie folderów współdzielonych 1 .

Kenneth Gulbrandsøy
źródło
1
Zobacz forums.virtualbox.org/viewtopic.php?f=3&t=15868, aby dowiedzieć się, jak to naprawić. Zasadniczo dodaj polecenie mount w pliku /etc/rc.local lub równoważnym.
Reinier Post,
2

To nie jest jeszcze kompletna odpowiedź, ale bardziej jak wytyczne dotyczące 2 podejść:

1 - Możesz edytować /etc/fstabi dodawać tam tego wierzchowca. Musisz przetłumaczyć parametr montowania na składnię fstab. Dzikie przypuszczenie byłoby czymś takim /home/jamesw/host vboxsf myshare,umask=002,uid=<youruser>,gid=plugdev 0 0. Będziesz musiał sudoedytować swój plik fstab, ale po zakończeniu zostanie on automatycznie zamontowany podczas rozruchu. Ponieważ odbywa się to przed zalogowaniem się, potrzebujesz bezwzględnej ścieżki do punktu montowania (stąd / home / jamesw / host), nie możesz użyć $HOMElub~ . Wskazówka: folder „host” nie musi istnieć. Jeśli jest w fstab, mount stworzy go dla ciebie.

2 - Możesz użyć fusermountzamiast mount. Składnia jest podobna (ale nie identyczna, więc nadal musisz tłumaczyć parametry montowania). Fusermount wymaga, aby punkt montowania znajdował się gdzieś w twoim $ HOME, ale największą zaletą jest to, że nie byłbyś potrzebny sudo. A mocowanie będzie dostępne w Nautilusie (jakby to był dysk CD lub klucz USB). Po uzyskaniu odpowiednich parametrów i przetestowaniu możesz dodać go do swojego ~/.profile, który działa przy każdym logowaniu.

EDYCJA: Zakładam, że albo Virtualbox nie wymaga, aby maszyna faktycznie działała, aby udostępnić foldery, LUB że jest uruchomiona przed zalogowaniem

MestreLion
źródło
Używanie / etc / fstab nie działa, zobacz odpowiedź Kennetha Gulbrandsøya.
Reinier Post,
0

Automatyczne podłączanie folderów gościa i udostępnionych Ubuntu 16.04 dostępnych dla zwykłego użytkownika

Aby automatycznie zamontować i uzyskać dostęp do tych folderów jako zwykły użytkownik, wymagane są określone kroki.

  1. Nie używaj oficjalnych dodatków gości. Zamiast tego zainstaluj virtualbox-guest-dkms.

    sudo apt-get install -y virtualbox-guest-dkms
    sudo usermod -aG vboxsf $(whoami)
    sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir ~/vbshare
  2. Dodaj niektóre udostępnione foldery Auto-mounti Permanentzaznaczone.

  3. Uruchom ponownie vm.
  4. Sprawdź, czy masz zamontowane jakieś foldery VB:

    mount | grep vboxsf

  5. Jeśli tak, zmień własność ~/vbsharena siebie.

    sudo chown $(whoami):$(whoami) ~/vbshare

Dodaj nowe foldery udostępnione bez ponownego uruchamiania maszyny wirtualnej

  1. Dodaj folder współdzielony.
  2. Sprawdź, czy możesz go znaleźć na liście za pomocą tego polecenia:

    sudo VBoxControl sharedfolder list

  3. Jeśli tak, utwórz katalog i podłącz

    mkdir ~/vbshare/newfolder
    sudo mount -t vboxsf newfolder ~/vbshare/newfolder
    
rofrol
źródło