Mam Ubuntu 13.10 zainstalowany w Virtualbox 4.3. Komputer hosta to system Windows.
Mam kilka folderów współdzielonych Virtualbox montowanych przez / etc / fstab. Do niedawna ta konfiguracja działała dobrze, ale po aktualizacji z Ubuntu 13.04 i Virtualbox 4.2 (w zasadzie w tym samym czasie) montowanie fstab przestało działać. Podczas uruchamiania pojawia się następujący błąd:
An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery
Naciśnięcie M w celu ręcznego przywrócenia, a następnie próba ręcznego zamontowania również kończy się niepowodzeniem:
root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device
Ale jeśli zamiast tego pomiń montowanie podczas uruchamiania, poczekaj na uruchomienie Unity, a następnie podłącz ręcznie w powłoce, wszystko działa dobrze:
benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme:
benme-vb ~ % ls Documents
# actual file list omitted
Zauważ, że kiedy montuję ręcznie, pozwalam montować wziąć wszystkie opcje z / etc / fstab i to działa. To sugeruje mi, że jest to jakiś problem z timingiem, w którym Virtualbox nie jest „gotowy” do zapewnienia udostępnionych montowań plików w punkcie / etc / fstab uruchamianym podczas uruchamiania.
Oto linia fstab, tylko dla kompletności:
Documents /home/benme/Documents vboxsf uid=benme,gid=benme,dmode=774,fmode=664 0 0
Czy mogę coś z tym zrobić od strony Ubuntu? A może ktoś wie o tym więcej z perspektywy Virtualbox?
Znalazłem stary raport na temat śledzenia błędów Virtualbox z identycznymi objawami, ale w tym przypadku użytkownik zaktualizował Virtualbox bez aktualizacji swoich dodatków gości i rozwiązania tego problemu; to się nie dzieje tutaj, zdecydowanie mam zainstalowane dodatki dla gości 4.3.
vboxsf
własną linię/etc/modules
.Oprócz sugestii Richarda Turnera, aby dodać
vboxsf
własną linię/etc/modules
, sugeruję dodanie_netdev
opcji mount do/etc/fstab
. Testowałem na Ubuntu 12.04 LTS i wydaje się, że dodaje to odpowiednią ilość opóźnienia, aby mount mógł się powieść.Mój
/etc/fstab
wpis:dev /media/dev vboxsf defaults,_netdev 0 0
źródło
_netdev
- to urządzenie sieciowe, zamontuj je po uruchomieniu sieci”. I nie , nie trzeba ładowaćvboxsf
w/etc/modules
, wystarczy dodać_netdev
pracował!Poprawka Richarda przestała działać dla mnie po ostatniej aktualizacji (VirtualBox 4.3.18, Ubuntu 14.04). Na szczęście udało mi się to naprawić, ładując się
vboxsf
bezpośrednio z jądrem:Pierwsze polecenie dodaje parametr, aby załadować moduł do jądra, a drugie aktualizuje system plików init. Po ponownym uruchomieniu mogłem ponownie użyć moich mocowań fstab :)
Ostrzeżenie: Proces rozruchu może się zawiesić, jeśli nie można zamontować folderu współdzielonego. Więc przetestuj swoją konfigurację, zanim dodasz moduł do initramfs. Jeśli mimo to system się zawiesi, możesz uruchomić system w trybie odzyskiwania, aby rozwiązać problem.
źródło
vboxsf
moduł wcześniej ... Po prostu zamroził moją sekwencję rozruchową, więc musiałem go usunąć.Chciałem tylko powiedzieć, że wymuszenie
vboxsf
wczesnego ładowania modułu pomogło mi (tak jak w odpowiedzi Richarda Turnera), ale linia fstab nadal nie działała dla mnie.Skończyło się na tym, że umieściłem polecenie mount (które zadziałało)
/etc/rc.local
. Trochę hack, ale zadziałało.źródło
Z folderu współdzielonego wymienionego w fstab widzę, że boot się zawiesi, gdy spróbuje go zamontować za pomocą VirtualBox 5 i Ubuntu 14.04. Wydaje się, że rozwiązaniem jest opóźnienie montażu, dopóki usługa GuestAddition nie będzie dostępna (
/etc/modules
rozwiązanie Richarda Turnera nie wydawało mi się wystarczające).Aby to zrobić, upewnij się, że masz
noauto
jako opcje udostępnionego folderu w/etc/fstab
. Na przykład dla udostępnionego folderu o nazwievmshare
:Następnie dodaj wiersz,
/etc/rc.local
aby zamontować udział po uruchomieniu:źródło
Wygląda na to, że
vboxsf
brakujefs-vboxsf
aliasu (tak właśnie moduły jądra są ładowane automatycznie podczas montowania tego typu systemu plików po raz pierwszy), więc dodanie aliasu/etc/modprobe.d
powinno załatwić sprawę:źródło
Miałem ten sam problem i pracowałem nad sugerowanymi rozwiązaniami, ale bez powodzenia. Rozwiązanie Torbena zamroziło bagażnik, więc musiał je cofnąć. Wtedy pomyślałem, że powinienem rozwiązać problem z
/etc/fstab
używaniemsudo mount -a
. Składnia mojego wpisu wyglądała idealnie, ale i tak się nie udało. Byłem także w stanie ręcznie zamontować plik fileysten za pomocą polecenia mount w oknie terminala.Odkryłem, że mam spacje między dwoma pierwszymi parametrami (urządzeniem i punktem montowania). Zastąpiłem je kartą i działa. Naprawdę?!!!!
źródło
noauto
opóźnić montażu następnie dodającmount <sharename>
dorc.local
załatwiło sprawę. Nie wypróbowałem rozwiązania Turnera.Myślę, że znalazłem właściwy sposób, aby sobie z tym poradzić w Arch Wiki . Użyj
comment=systemd.automount
opcji.Powyższa opcja wchodzi do
/etc/fstab
pliku z innymi opcjami. Na przykład:źródło