VirtualBox 공유 폴더를 마운트하는 방법? [닫은]


58

Linux에서 VirtualBox 공유 폴더를 마운트하는 절차는 무엇입니까?

다음 마운트 명령의 변형을 시도했지만 protocol error다른 마운트 오류가 계속 발생합니다.

sudo mount -t vboxsf share /home/toto

이것이 질문입니까? 질문이되게하려면 문구를 바꾸고 답을 게시하십시오. 공감대를 제거하게되어 기쁩니다.
icedwater

1
Q & A 표준을 준수하도록 편집되었습니다.

pls는 당신이 무엇을 시도하고 어떤 오류가 발생 질문을 업데이트

작동하지 않는 명령을 표시하도록 편집되었습니다. 일반적인 오류는 protocol error문제 가 설명 된대로입니다.

이 오류는이 "마운트 : 알 수없는 파일 시스템 유형 'vboxsf'"에 대한 해결책입니다.
sandip divekar

답변:


111

좋아, 이것은 조금 혼란 스러웠지만 마침내 무슨 일이 일어나고 있는지 깨달았습니다. 그래서 나는 2 센트를 다른 사람들에게 더 명확하게하고 미래에 언젠가 잊어 버릴 것이라는 희망으로 2 센트를 주기로 결정했습니다.

VM에서 만든 공유 이름을 사용하지 않고 대신 공유 이름이 wd 일share 또는 vb_share를 사용 하여 잠시 혼란 스러웠습니다.

먼저 VM Box에 공유 디렉토리를 추가하십시오. 여기에 이미지 설명을 입력하십시오

여기서 공유 이름을 지정하는 것은 VM 게스트 OS에 마운트 할 때 사용해야하는 이름입니다. 즉, 나는 나의 서쪽 디지털 여권 드라이브를 위해 나의 이름을 "wd" 라고 지었다 .

다음으로 guset OS에서 홈 디렉토리에서 마운트에 사용할 디렉토리를 만드십시오.

mkdir share

다음으로 터미널을 열고 다음을 복사하여 붙여 넣거나 입력하십시오. 장치- > 공유 클립 보드-> 양방향 에서 공유 클립 보드를 활성화 할 수 있습니다

sudo mount -t vboxsf wd ~/share/

이제 홈 디렉토리의 "share" 폴더를 사용하여 OS간에 파일을 복사 할 수 있습니다 .

도움이 되었기를 바랍니다!


1
게스트로부터 파일을 얻는 방법을 이해하기 위해 몇 시간을 보냈습니다. "mount"명령의 "sharename"(공식 VBox 설명서의)은 첫 번째 열의 가상 상자 공유 폴더에 지정된 NAME입니다. 잘하셨습니다. 당신은 나의 영웅입니다.
zen11625

2
큰 답변, 스크린 샷 +1 ... 이것은 내가 믿는 루트를 공유합니다. 현재 사용자로 마운트하는 방법 은 [문서] ( forums.virtualbox.org/viewtopic.php?t=15868 )를 참조하십시오. 예 :sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@user 부팅시이 마운트를 자동으로 만들려면 어떻게합니까?

사용자 ID를 모르면 변수를 사용할 수 있습니다. 이 경우 마운드 명령은sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Linux 게스트가있는 VirtualBox의 경우 공유 폴더를 마운트하는 단계는 다음과 같습니다.

  1. VirtualBox 호스트의 응용 프로그램 인 VirtualBox Manager를 사용하여 공유 할 호스트 폴더를 지정하십시오.

  2. VirtualBox Guest Additions가 VirtualBox 게스트에 설치되어 있는지 확인하십시오.

  3. Linux 게스트에서 mount 명령은 공유가 마운트 된 행을 표시해야합니다. 이것은로 표시됩니다 type vboxsf. 문제는 마운트 지점이 원하는 위치에 있지 않을 수 있고 권한이 루트 전용이라는 것입니다. 기본 마운트 위치는입니다 /media/sf_.

  4. 사용자 또는 그룹 ID를 그룹 1000의 구성원으로 만들어 공유에 액세스 할 수 있습니다 vboxsf. 파일 에서 vboxsf줄 을 변경 하면 /etc/group됩니다. 재부팅이 필요할 수 있습니다.

  5. VBoxControl 명령을 사용하여 폴더가 마운트되는 위치를 변경할 수 있습니다. 게스트 추가가 설치되면 명령이 설치됩니다. 재부팅이 필요할 수 있습니다. 에서 예를 들어, 마운트 지점을 변경 /media/sf_...하는 /home/toto/sf_...버추얼 공유 폴더 guestproperty을 설정하려면 다음 명령을 사용합니다 :

sudo VBoxControl guestproperty 세트 / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

변경 사항을 확인하려면 get을 사용하십시오.

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

참고 문헌 :

VirtualBox의 공유 폴더 정보

VirtualBox의 게스트 속성 정보


4
Vbox 4.3.10의 새로운 문제로 링크가 끊어 졌는지 확인하십시오. (ls -l) /sbin/mount.vboxsf 해당 대상이 존재하지 않으면 디렉토리를 다시 매핑해야합니다. sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
사용자 myuser를 그룹 vboxsf에 추가하려면 다음을 사용할 수 있습니다. sudo adduser myuser vboxsf

VirtualBox 4.3.14는 RHEL 7 및 CentOS 7의 게스트 추가 설치 문제를 해결합니다. if-not-true-then-false.com/2010/…

Windows 8.1에서 VirtualBox 4.3.20을 사용하고 있습니다. VM에 Ubuntu가 설치되어 있습니다. 게스트 항목이 설치되어 있어도 명령을 type vboxsf실행할 때 볼 수 없습니다 mount! 도와주세요
J86

20

발생할 때 :

mount: Protocol error

VirtualBox에서 폴더를 공유하려고 시도한 후 (예 :

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

이것은 마침내 나를 위해 일했다 :

$ sudo apt-get install virtualbox-guest-dkms

(내 설정 : Windows 7 호스트, 게스트 : Ubuntu 12.04,13.10,14.04; 현재 VBox 4.3.10 r93012를 실행 중)


5

게스트 OS에 가상 박스 추가를 설치합니다. 그런 다음 게스트 OS를 종료하십시오. 가상 상자에서 게스트 설정을 엽니 다. 그런 다음 공유 폴더를 추가하고 설정을 저장하십시오. 그런 다음 게스트 os를 시작하고 우분투의 경우 아래 명령을 실행하십시오. 현재 사용자를 vboxsf 그룹에 추가합니다.

sudo adduser $ USER vboxsf

게스트 OS를 재부팅하고 / media /로 이동하여 공유 폴더에 액세스하십시오.


sudo adduser가 작동하지 않습니다. "sudo usermod -a -G vboxsf myUser"를 사용하여 추가하면 작동합니다. 감사합니다
Alex

1
그렇습니다, 그것은 누락되었습니다 : sudo adduser $ USER vboxsf 이제 작동합니다 :-)

3

Linux 또는 Mac OS X VirtualBox 게스트 내에서 VirtualBox Guest Additions를 설치 한 후 다음 명령을 사용하여 사용 가능한 VirtualBox 공유 폴더를 찾을 수 있습니다.

sudo  VBoxControl  sharedfolder  list

게스트 내부의 홈 폴더에 VirtualBox 공유 폴더와 이름이 같은 폴더가 있으면 다음 쉘 스크립트를 사용하여 자동으로 마운트 할 수 있습니다.

#!/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

다음 오류가 발생하면 /sbin/mount.vboxsf : 오류와 함께 마운트하지 못했습니다. 프로토콜 오류

불행히도 이것은 기본 공유 이름을 사용하거나 호스트의 공유 디렉토리 이름이 마운트 된 게스트 공유 이름과 동일 함을 의미합니다. 이 경우 "공유"입니다. 다른 공유 폴더 (예 : "vb_share")를 만든 다음 다음을 실행하십시오.

mount -t vboxsf vb_share / home / <사용자> / host


1
  • Vbox 추가 설치 (ISO 파일 또는 다운로드 후)
  • 두 시스템에서 어떤 이름 으로든 디렉토리를 만듭니다 ( mkdir share예 :).
  • 원본 시스템의 공유 폴더 "VBox 공유 폴더"와 연결
  • 명령을 사용하여 폴더를 연결하십시오.
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

설정 : VirtualBox 4.3.26, Win 7 SP1 호스트, Debian jessie 8.0 (안정된) 게스트.

VirtualBox Manager 의 장치 드롭 다운 메뉴 에서 공유 폴더 설정 ... 을 선택하십시오 .

나타나는 팝업 창의 폴더 목록 에서 시스템 폴더 를 선택한 다음 "새 공유 폴더 정의 추가"버튼 ( 폴더 목록 오른쪽에 녹색 "+"기호 아이콘이있는 파란색 폴더 )을 클릭하십시오.

결과 공유 추가 팝업 양식에서 폴더 경로 필드 에서 아래쪽 화살표 단추를 클릭 한 후 기타 를 선택하십시오 . 폴더 찾아보기 팝업 창이 나타납니다.

(제 경우에는 워크 스테이션에 다른 하드 드라이브를 추가하여 전용 공유에 사용하고 이미 NTFS로 포맷하고 볼륨 이름이 "share"인 "G :"로 마운트했습니다. 화살표를 클릭했습니다. 컴퓨터 옆에서 G : 드라이브를 선택한 다음 확인 버튼 을 클릭했습니다 .)

(귀하의 경우 공유하려는 폴더 또는 드라이브를 선택한 다음 확인 버튼 을 클릭해야 합니다.)

선택을하고 확인 버튼을 클릭하면 VirtualBox Manager가 공유 추가 양식 의 폴더 경로폴더 이름 필드를 채 웁니다 . Folder Path (폴더 경로) 필드 는 그대로 두십시오. 그러나 원하는 경우 폴더 이름을 변경할 수 있습니다 . 나중에 기억하십시오.

업 완료 추가 공유 선택하여 양식을 만들기 영구 확인란을하지만 두십시오 자동 마운트 확인란의 선택이 취소 - 우리가 나중에 장착 돌볼 것입니다. (물론 폴더 나 드라이브를 읽기 전용으로 만들려면 계속해서 읽기 전용 상자를 선택하십시오.) 그런 다음 확인 버튼을 클릭하십시오 .

새로 구성된 점유율은 이제 아래의 항목으로 나타납니다 머신 폴더 에서 폴더 목록 . 확인 버튼을 클릭하십시오 .

부팅 (시작) 중에이 공유를 마운트하려면 데비안 jessie 게스트 설치에서 / etc / fstab에 마운트 정의 줄을 추가해야합니다. 이 편집은 루트 또는 sudo를 통해 수행해야합니다 (예 :

sudo nano /etc/fstab

(개인적으로 vi를 사용했지만 nano가 Debian jessie의 기본 편집기이므로 위의 예제에서 지정했습니다.)

소유권과 그룹을 개인 UID 및 GID로 설정하여 홈 디렉토리에이 공유를 마운트하기 위해 다음 정의를 / etc / fstab에 추가했습니다.

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

"=", "."또는 ","문자 주위에는 공백이 없습니다.

/ etc / fstab 정의는 다음과 같은 형식입니다.

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

(정의의 필드 사이에는 공백이 있어야하고 필드 내에는 공백이 없어야합니다.)

"장치"필드는 VirtualBox Manager 추가 공유 를 통해 지정한 폴더 이름 으로 설정해야합니다 . 기본 "G_DRIVE"를 "share"로 변경했습니다.

"마운트 포인트"는 이미 존재하지만 비어 있어야하는 디렉토리 경로 사양입니다. (즉, 해당 디렉토리에 이미 존재하는 모든 것은 그 위에 마운트하는 것에 의해 숨겨 질 것입니다.) 내 홈 디렉토리에 "share"라는 빈 새 하위 디렉토리를 만들었습니다.

"유형"은 "vboxsf"입니다.

"옵션"(comment = systemd.automount, uid = conib, gid = conib, noauto)은 까다 로웠으며이 설정 작업에 약간의 문제가있었습니다.

다른 것으로 설정하고 싶지 않다면 "덤프"를 0으로 설정하십시오.

그리고 fsck가이 공유를 확인하는 것을 원하지 않기 때문에 "Pass"도 0으로 설정하십시오.

정의 행을 / etc / fstab에 추가하면 데비안 게스트를 재부팅하고 공유의 파일과 하위 폴더를 볼 수 있는지 확인하십시오.

HTH.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.