컴퓨터에 따라 다른 운영체제를 사용해야 하는 경우가 있습니다. 이를테면, 집에서는 우분투를 사용하지만 대한민국 웹 환경의 고질적인 문제 때문에 MS윈도를 사용해야 할 때가 있는가 하면, 반대로 사무실에서는 여러 프로그램을 사용해야 하는 등의 문제 때문에 MS윈도를 사용하여야 하나 상황에 따라 우분투를 사용해야 할 때가 있습니다. 이럴 때 단순한 작업을 위해 다른 운영체제로 재부팅해야 하는 번거로움이 있습니다. 시스템 내에 가상 시스템을 구축할 수 있는 프로그램이 여럿 있는데 이를 사용하면 시스템 내에서 제한적이나마 다른 운영체제를 사용할 수 있어 이러한 번거로움을 줄일 수 있습니다.
본 글에서는 MS윈도 호스트(원래 시스템)에 우분투 게스트(가상 머신)일 때와 우분투 호스트에 MS윈도 게스트일 때 각각 버추얼박스(VirtualBox)에서 공유 폴더를 설정하고 사용하는 방법을 소개합니다.
[size=200:26k75vdx][b:26k75vdx]MS윈도 호스트, 우분투 게스트[/b:26k75vdx][/size:26k75vdx]
[size=150:26k75vdx][b:26k75vdx]버추얼박스에서의 공유 폴더 설정[/b:26k75vdx][/size:26k75vdx]
버추얼박스의 공유 폴더는 기본적으로 게스트 확장을 설치해야 사용할 수 있습니다. 따라서 작업에 앞서 게스트 확장을 설치합니다.
호스트 시스템인 MS윈도의 버추얼박스에서 해당 가상 머신 설정의 공유 폴더 탭에 공유하려는 폴더를 추가하고, 폴더 경로와 이름을 입력합니다. 이때 [u:26k75vdx]공유 폴더의 이름은 반드시 영문으로 입력하여야 합니다.[/u:26k75vdx] 본 글에서는 공유 폴더의 이름을 'WinXP’라고 설정하였습니다.
[attachment=2:26k75vdx]VBShare-win-NLT.png[/attachment:26k75vdx]
[size=150:26k75vdx][b:26k75vdx]공유 폴더 마운트[/b:26k75vdx][/size:26k75vdx]
버추얼박스에서 지정한 공유 폴더를 마운트할 디렉터리가 필요하므로 터미널에서 아래 코드를 실행해 해당 디렉터리를 생성하고 나서 공유 폴더를 마운트합니다. [u:26k75vdx]사용자 계정의 uid와 gid는 공유 폴더의 소유권을 지정하는 부분[/u:26k75vdx]으로, cat /etc/passwd 명령어로 확인할 수 있으며 [u:26k75vdx]'uid=jaesung,gid=jaesung’과 같이 실제 소유자 이름과 소유그룹의 이름을 입력해도 됩니다.[/u:26k75vdx] [u:26k75vdx]dmode와 fmode’는 공유 폴더의 디렉터리와 파일의 퍼미션을 지정하는 부분[/u:26k75vdx]입니다.
[code:26k75vdx]$ sudo mkdir -p /media/Windows
$ sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=0755,fmode=0755 WinXP /media/Windows[/code:26k75vdx]
두 번째 줄에서의 'WinXP’는 공유 폴더의 이름과 같아야 하고, '/media/Windows’는 윗 줄에서 생성한 디렉터리 경로와 같아야 합니다.
정상적으로 마운트되었다면, 터미널에서 아래 코드를 실행했을 때 공유 폴더의 내용이 보여야 합니다.
[code:26k75vdx]$ ls -l /media/Windows[/code:26k75vdx]
/etc/rc.local 파일의 맨 아랫부분 ‘exit 0’ 위에 'sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=0755,fmode=0755 WinXP /media/Windows’를 삽입하면 부팅할 때마다 공유 폴더가 해당 디렉터리에 자동으로 마운트됩니다. 터미널에서 아래 코드를 실행해 /etc/rc.local 파일을 열어 두 번째 줄 코드를 입력합니다.
[code:26k75vdx]$ sudo gedit /etc/rc.local
sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=0755,fmode=0755 WinXP /media/Windows[/code:26k75vdx]
[size=150:26k75vdx][b:26k75vdx]심볼릭 링크 생성[/b:26k75vdx][/size:26k75vdx]
사용자의 홈 디렉터리에 공유 폴더로의 심볼릭 링크를 생성하려면 터미널에서 아래 코드를 실행합니다.
[code:26k75vdx]$ ln -s /media/Windows ~/공유폴더[/code:26k75vdx]
위 코드를 실행하면 사용자 홈 디렉터리의 ‘공유폴더’ 디렉터리를 통해 공유 폴더에 접근할 수 있습니다.
[attachment=1:26k75vdx]terminal-ls-NLT.png[/attachment:26k75vdx]
[size=200:26k75vdx][b:26k75vdx]우분투 호스트, MS윈도 게스트[/b:26k75vdx][/size:26k75vdx]
[size=150:26k75vdx][b:26k75vdx]버추얼박스에서의 공유 폴더 설정[/b:26k75vdx][/size:26k75vdx]
버추얼박스의 공유 폴더는 기본적으로 게스트 확장을 설치해야 사용할 수 있습니다. 따라서 작업에 앞서 게스트 확장을 설치합니다.
호스트 시스템인 우분투의 버추얼박스에서 해당 가상 머신 설정의 공유 폴더 탭에 공유하려는 폴더를 추가하고, 폴더 경로와 이름을 입력합니다. 본 글에서는 공유 폴더의 이름을 '공유’라고 설정하였습니다.
[attachment=0:26k75vdx]VBShare-ubuntu-NLT.png[/attachment:26k75vdx]
[size=150:26k75vdx][b:26k75vdx]네트워크 드라이브 연결[/b:26k75vdx][/size:26k75vdx]
버추얼박스에서 지정한 공유 폴더는 네트워크로 연결되어 '내 네트워크 환경’에서 사용할 수 있습니다. 네트워크 주소는 '\vboxsvr\공유’입니다.
이렇게 연결된 공유 폴더는 네트워크 드라이브로 연결해 별도의 드라이브로도 사용할 수 있습니다. 작업 표시줄의 [i:26k75vdx]시작 > 실행(R)… [/i:26k75vdx]혹은 Win + R을 눌러 실행창에서 아래 코드를 실행하면 네트워크 드라이브로 연결됩니다.
[code:26k75vdx]net use e:\vboxsvr\공유[/code:26k75vdx]
'e’에는 할당하려고 하는 드라이브 명을 입력하고, '공유’는 공유 폴더 이름과 같아야 합니다. 이렇게 네트워크 드라이브를 연결하면 사용자가 지정한 드라이브 명을 통해 공유 폴더에 접근할 수 있습니다.
[size=150:26k75vdx][b:26k75vdx]공유 폴더 활용 팁[/b:26k75vdx][/size:26k75vdx]
떠돌이님의 블로그 '[url=http://opensea.egloos.com/:26k75vdx]Open Sea[/url:26k75vdx]'의 ‘[url=http://opensea.egloos.com/4391066:26k75vdx]심볼릭 링크를 이용한 Virtualbox 공유 폴더 활용[/url:26k75vdx]’ 에 따르면, 호스트의 공유 폴더 내에 다른 디렉터리(e.g. 문서, 그림, 음악 등)의 심볼릭 링크를 만들면 게스트의 네트워크 드라이브 내에 해당 디렉터리가 실제 디렉터리와 같이 존재하고 작동합니다. 자세한 내용은 관련 글을 참고합니다.