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.