fstab에서 Virtualbox 공유 폴더 마운트에 실패했습니다. 부팅이 완료되면 작동


41

Virtualbox 4.3에 Ubuntu 13.10이 설치되어 있습니다. 호스트 시스템은 Windows입니다.

/ etc / fstab에 의해 마운트되는 몇 개의 Virtualbox 공유 폴더가 있습니다. 최근까지이 설정은 제대로 작동했지만 Ubuntu 13.04 및 Virtualbox 4.2에서 업그레이드 한 후 (기본적으로 동시에) fstab 마운트가 작동을 멈췄습니다. 부팅하는 동안 다음 오류가 발생합니다.

An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery

수동 복구를 위해 M을 누른 다음 수동으로 마운트하려고하면 실패합니다.

root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device

그러나 부팅 중에 마운트를 건너 뛰고 Unity가 시작될 때까지 기다렸다가 셸에서 수동으로 마운트하면 모든 것이 잘 작동합니다.

benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme: 
benme-vb ~ % ls Documents
    # actual file list omitted

수동으로 마운트 할 때 mount가 / etc / fstab에서 모든 옵션을 가져 오게하고 작동합니다. 이것은 부팅시 / etc / fstab 마운트가 실행될 때 Virtualbox가 공유 파일 마운트를 제공 할 준비가되지 않은 일종의 타이밍 문제임을 시사합니다.

완성을 위해 fstab 행은 다음과 같습니다.

Documents       /home/benme/Documents   vboxsf  uid=benme,gid=benme,dmode=774,fmode=664     0   0

우분투 측에서 내가 할 수있는 일이 있습니까? 아니면 누구나 Virtualbox 각도에서 이것에 대해 더 많이 알고 있습니까?

동일한 증상으로 Virtualbox 버그 추적기에서 오래된 보고서를 찾았지만이 경우 사용자는 게스트 추가 사항을 업데이트하지 않고 Virtualbox를 업데이트하고 문제를 해결했습니다. 여기서는 일어나지 않습니다. 4.3 게스트 추가 기능이 설치되어 있습니다.

답변:


46

나도이 문제를 어겼다. /var/wwwVBox 공유 폴더 기능을 사용하여 마운트 하므로 상당히 성가신 일입니다.

내가 찾은 해결책 vboxsf은 파일 시스템을 마운트하기 전에 모듈을 일찍로드하는 것입니다. 에 vboxsf자체 줄을 추가하십시오 /etc/modules.

또 다른 해결책은 noauto를 설정 /etc/fstab하고 수동으로 드라이브를 마운트하는 것입니다 /etc/rc.local. 그러나 아파치가 이미 시작하여에서 찾을 수 없었기 때문에 이것은 나에게 좋은 해결책이 아닙니다 /var/www.


1
대박! / etc / modules에 추가하면 완벽하게 작동했습니다. 고마워 Richard!
ThePosey

@ThePosey Glad가 도와주었습니다!
Richard Turner

이것은 Ubuntu Server 14.04 게스트에서 문제였습니다. 그리고이 답변 (/ etc / modules 솔루션)이 나를 위해 해결했습니다. 감사! PS Btw, 우연히, 당신이 물건을 알아 내거나 고치려고 노력하고, Virtualbox 설정에서 자동 마운트를 활성화 한 다음 다시 비활성화하십시오.;)
Reinis

2
@qodeninja 두 번째 단락에서 말씀 드린대로 : " vboxsf그 안에 줄을 추가하십시오 /etc/modules.
Richard Turner

1
우분투 14.04 게스트 시스템의 / etc / modules에 vboxguest 및 vboxsf를 추가해야했습니다.
mattanja 2016 년

21

Richard Turner가에 vboxsf자체 라인 을 추가 한다는 제안 외에도 mount 옵션을에 /etc/modules추가하는 것이 좋습니다 . 우분투 12.04 LTS에서 테스트했으며 마운트가 성공하기에 적절한 지연 시간을 추가하는 것 같습니다._netdev/etc/fstab

나의 /etc/fstab입장 :

dev /media/dev vboxsf defaults,_netdev 0 0


4
이것은 Turner의 솔루션을 사용하지 않아도 저에게 효과적입니다. fstab 옵션에 대한 Ubuntu 커뮤니티 도움말 페이지에 " _netdev이것은 네트워크 장치이므로 네트워크를 불러 온 후 마운트하십시오." 라고 말하고 있기 때문에 많은 이해 가 필요합니다. 나는 않았다 하지 로드 할 수 vboxsf있는 /etc/modules단지 추가 _netdev했다!
Mark Mikofski

1
이것은 Turner의 솔루션이 없어도 Ubuntu 16.04에서도 작동합니다.
Zhenya 2019

5

Richard의 수정 프로그램은 마지막 업데이트 (VirtualBox 4.3.18, Ubuntu 14.04) 후에 작동하지 않았습니다. 운 좋게도 vboxsf커널로 바로 로드하여 문제를 해결할 수있었습니다 .

# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u

첫 번째 명령은 모듈을 커널에로드하는 매개 변수를 추가하고 두 번째 명령은 init 파일 시스템을 업데이트합니다. 재부팅 후 fstab-mounts를 다시 사용할 수있었습니다. :)

경고 : 공유 폴더를 마운트 할 수없는 경우 부팅 프로세스가 정지 될 수 있습니다. 따라서 initramfs에 모듈을 추가하기 전에 구성을 테스트하십시오. 시스템이 중단되면 복구 모드에서 부팅하여 문제를 해결할 수 있습니다.


이 솔루션을 사용하여 vboxsf모듈을 더 일찍 로드 했습니다. 부트 시퀀스가 ​​고정되어 제거해야했습니다.
Rerito

예, 공유 폴더 구성이 손상된 경우 부팅 프로세스를 일찍 중지시킬 수있는 모듈을 포함합니다. 그러나, 올바른 구성으로 부팅이 멈추지 않았습니다 ...
Torben

더 명확하게하기 위해 답변에 경고를 추가했습니다.
Torben

4

방금 vboxsf모듈을 일찍로드 하면 (리차드 터너 (Richard Turner)의 답변에서와 같이) 도움이되었지만 fstab 라인은 여전히 ​​작동하지 않는다고 말하고 싶었 습니다.

내가 한 일은 mount 명령 (작동 한)을에 넣는 것 /etc/rc.local입니다. 약간의 해킹이지만 효과가있었습니다.


1
Richard Turner의 제안이 어떻게 "도움을 받았는지"이해하지 못하지만 동시에 fstab 줄은 "여전히 효과가 없었습니다"...?
j_random_hacker

4

fstab에 나열된 공유 폴더를 사용하면 VirtualBox 5 및 Ubuntu 14.04를 사용하여 마운트하려고 할 때 부팅이 중단됩니다. 해결책은 GuestAddition 서비스를 사용할 수있을 때까지 마운트를 지연시키는 것 같습니다 (Richard Turner의 /etc/modules솔루션으로는 충분하지 않은 것 같습니다).

이렇게하려면 noauto의 공유 폴더에 대한 옵션 이 있어야 합니다 /etc/fstab. 예를 들어 다음과 같은 공유 폴더의 경우 vmshare:

vmshare    /home/user/share    vboxsf    defaults,noauto    0    0

그런 다음 /etc/rc.local부팅 후 공유를 마운트 할 줄을 추가 하십시오.

mount vmshare

이것은 VBox 5.0.16 및 Ubuntu 14.04
TJ Compton

3

별명 vboxsf이 부족한 것 같습니다 fs-vboxsf(파일 시스템 유형을 처음으로 마운트 할 때 커널 모듈이 자동로드되는 방식). 따라서 별명을 추가 /etc/modprobe.d하면 트릭을 수행해야합니다.

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf

이것을 직접 시도하지는 않았지만 유망한 것으로 보입니다.
j_random_hacker

2

나는 똑같은 문제가 있었고 제안 된 해결책을 연구했지만 성공하지 못했습니다. Torben의 솔루션은 부팅을 고정 시켰으므로 실행을 취소해야했습니다. 그런 다음를 /etc/fstab사용하여 문제 를 해결해야한다고 생각했습니다 sudo mount -a. 내 항목의 구문이 완벽 해 보였지만 여전히 실패했습니다. 터미널 창에서 mount 명령을 사용하여 filesysten을 수동으로 마운트 할 수도있었습니다.

내가 찾은 것은 첫 두 매개 변수 (장치와 마운트 지점) 사이에 공백이 있다는 것입니다. 나는 그것들을 탭으로 바꾸었고 작동합니다. 정말?!!!!


공백 문자 두 개 (ASCII 코드 32)였습니까? 그 중 하나 이상이 탭 문자만큼 우수해야하기 때문입니다. 때로는 스페이스 바를 누르는 동안 Shift 키를 일찍 누르거나 너무 늦게 놓을 때 실수가 아닌 공백 문자를 입력하는 경우가 있습니다. 그것들은 동일하게 보이지만 많은 응용 프로그램을 혼동합니다.
David Foerster 1

내가 아는 것은 모든 공백에 백 스페이스를두고 단일 탭을 삽입 한 다음 작동한다는 것입니다.
svenyonson

탭 공간을 전환하면 나에게 도움이되었습니다. 기존의 / etc / fstab에 공백이 있었고 (알 수있는 한) 정확하게 복제했습니다. 기존 줄에는 단일 공간이있었습니다. 그러나 탭으로 광산을 다시 작성하면 모든 것이 작동합니다.
jcaruso

이것은 다음과 같은 나를 위해 일을하지 않았다,하지만 케빈 새들러의 추천 사용 noauto후 장착 추가 지연 mount <sharename>하는 rc.local트릭을했다. 터너의 솔루션을 시도하지 않았습니다.
Mark Mikofski

1

Arch Wiki 에서 이것을 처리하는 올바른 방법을 찾았습니다 . comment=systemd.automount옵션을 사용하십시오 .

위의 옵션은 /etc/fstab다른 옵션과 함께 파일 에 들어갑니다 . 예를 들면 다음과 같습니다.

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0

이것은 나를 위해 작동하지 않았지만 Keven Sadlier의 대답 은 그랬습니다.
Mark Mikofski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.