336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

윈도우에서 버츄얼 박스를 이용하여 우분투를 설치하고 공유폴더를 설정하여 윈도우(host)와 버츄얼박스에 설치된 우분투(guest) 간의 파일을 공유하려고 했는데, '허가 거부'라는 에러가 발생하여 이를 해결하는 방법을 설명하려고 한다. 


먼저, 버츄얼박스에 우분투를 설치하고 공유폴더를 설정하는 방법을 설명하고 에러를 해결하는 방법을 설명한다. 


1. 버츄얼박스에 설치된 우분투에 공유폴더 생성


버츄얼박스에 우분투를 설치하고 공유폴더 및 확장(?) 기능을 사용하기 위해서는 '게스트 확장' 프로그램을 우분투(guest)에 설치해야 한다. 설치하는 방법은 매우 간단하다. 


버츄얼박스의 우분투를 실행하고 아래와 같이 버츄얼박스 메뉴의 [장치 -> 게스트 확장 CD 이미지 삽입] 를 선택한다. 



CD 이미지가 삽입되면 아래와 같은 팝업창이 나온다. 여기서 [실행] 버튼을 클릭한다. 



[실행] 버튼을 클릭하면 터미널 창이 나타나고 '인증'이라는 팝업창이 나타나고 관리자 권한이 필요한 동작을 수행하기 위한 관리자 암호 입력을 요청한다. 이 때, 관리자 암호 (또는 최초 생성한 계정의 암호)를 입력하면 설치가 진행된다. 진행이 완료되면 시스템을 재부팅시켜준다. 




재부팅 후 버츄얼박스 창의 화면을 변경하였을 때, 우분투 화면이 100% 동일하게 변경되면 '게스트 확장 프로그램'이 정상적으로 설치된 것이다. (설치전 상태를 캡쳐안해서 설명할 방법이 없네요;)



게스트 확장 프로그램이 설치 안되어 있을 때 버츄얼박스 프로그램 창의 크기를 크게하면, 위의 이미지에서 빨강색 부분이 희색(?)으로 보이게 된다. 하지만 게스트 확장 프로그램이 정상적으로 설치되며 회색부분이 없이 꽉찬화면으로 보여지게 된다. 



2. 버츄얼박스의 우분투에서 공유폴더 접근하는 방법


먼저 윈도우(host)에 공유할 폴더를 생성합니다. 예를 들어, 'D;\sample\AndroidShare' 라는 폴더를 생성한다. 



공유할 폴더를 생성 후 버츄얼박스 메뉴 중 [장치 -> 공유 폴더 -> 공유 폴더 설정]을 선택한다. 



설정이라는 팝업 창이 보이고 오른쪽 상단에  아이콘을 선택하면 아래와 같은 설정 화면이 나온다. 



'폴더 경로' 는 윈도우(host)의 경로를 지정한다. 예를 들어, 이전에 생성한 'D;\sample\AndroidShare' 폴더를 탐색기를 이용하여 선택한다. 

'폴더 이름' 은 우분투(guest)에 표시되는 디렉토리명이다. 예를 들어, 위의 폴더를 지정하면 자동으로 AndroidShare 라는 이름이 입력되는데, 이를 변경해도 된다. 

그 외 옵션은 사용자가 알맞게 설정하면 되는데, 마지막 옵션인 '항상 사용하기'를 체크하면 다음 부팅시에도 적용되는 것이고 체크되지 않는다면 이번 한번만 설정하여 사용하는 것이다. 


설정이 끝나고 우분투 화면에서 해당 폴더에 접근하려고 하면 아래와 같은 오류 메시지를 확인할 수 있다. 


$ cd /media/sf_AndroidShare/

bash: cd: /media/sf_AndroidShare/: 허가 거부 


그래서 권한을 확인해보면, 아래와 같이 sf_AndroidShare 디렉토리는 사용자 root, 그룹 vboxsf 로 되어 있고, 현재 사용 계정의 그룹에는 vboxsf 가 설정되어 있지 않아서 접근이 안되는 것을 확인할 수 있다.  


$ ls -al /media/

합계 12

drwxr-xr-x    4    root    root        4096    7월    8    10:58    .

drwxr-xr-x    25    root    root        4096    7월    8    10:58    ..

drwxr-x---+   2    root    root        4096    7월    8    10:58    android

drwxrwx---    1    root    vboxsf        0    7월    8    10:58    .sf_AndroidShare


$ groups

android adm cdrom sudo dip plugdev lpadmin sambashre


$



아래와 같이 현재 사용중인 계정에 vboxsf 그룹을 추가하면 접근할 수 있다. 


$ sudo usermod -G vboxsf -a android {현재 사용 계정먕}

[sudo] password for android: {암호}

$ groups 

android adm cdrom sudo dip plugdev lpadmin sambashre vboxsf

$ cd /media/sf_AndroidShare/

$ pwd 

/media/sf_AndroidShare/


336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

원래는 VMWare Player 를 애용하고 있었지만, 게스트(Guest) 머신(?)을 백그라운드로 구동하는 방법을 찾다가 VirtualBox로 갈아타게 되었습니다. 


가상머신의 주 용도는 윈도우 환경에서 개발하기 어려운 것을 가상머신을 설치하여 Ubuntu 환경에서 개발하기 위해서 였습니다. 그런 용도로 사용하기 때문에 Ubuntu 가 구동 중인 화면이 필요하지 않았습니다. 

VMWare Playper 로 가능한지 모르겠지만, 찾을 수 없었고, VirtualBox 를 이용하면 가능하다는 것을 알게되었습니다. 


VirtualBox 를 설치하고 게스트 OS를 설치하고 아래와 같이 실행하면 화면이 없이 Guest OS가 실행되는 것을 확인할 수 있습니다. 



C:\Program Files\Oracle\VirtualBox> VBoxManager.exe startvm {가상머신이름} --type headless
# 위와 같이 실행하면 {가상머신이름}을 구동합니다. 그리고 정상 구동이되면 아래와 같은 메시지를 확인할 수 있습니다.
Waiting for "{가상머신이름}" to power on...
VM "VM-DEV" has been successfully started.

C:\Program Files\Oracle\VirtualBox> 


실행된 VM 제어하기


※ 위 명령어를 실행 후 "Oracle VM VirtualBox 관리자"를 실행하면 해당 Guest OS를 선택하면 미리보기 화면에 해당 OS가 부팅된 화면을 볼 수 있습니다. 


[참고] http://www.virtualbox.org/manual/ch08.html#vboxmanage-startvm

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

VMWare 에서는 물리적 하드를 설정하는 방법은 GUI 로 제공하고 있습니다. 


하지만 VirtualBox는 GUI 환경으로 제공하지 않고 있습니다. 이유는 잘못 될 경우 데이터를 몽땅 날려먹을 수 있기 떄문입니다. 


물리적 하드를 guest os 사용하고 싶다면 한번 더 신중히 생각을 해보시고 설정하시기 바랍니다. 


설정은 아래와 같은 방법으로 가능합니다. 








윈도우(Windows7) 환경에서


  1. 관리자 권한으로 콘솔창 열기
    • 윈도우키 누른 후 cmd 를 입력
    • cmd.exe 파일이 나오면 우클릭 후'관리자 권한으로 실행' 을 클릭

  2. 사용할 물리적 하드 (또는 파티션) 확인
    • C:\Users\User1>diskpart           # diskpart 명령어를 입력
    • DISKPART> list disk                     # 현재 컴퓨터에 연결되어 있는 HDD 리스트 확인
    • DISKPART> select  disk 디스크0    # 디스크0에 파티션을 확인하고 싶면, 리스트에서 디스크을 입력
    • DISKPART> list partition                # 디스크0에 파티션 리스트 확인
    • DISKPART> exit                           # 종료

  3. VirtualBox 설치 경로로 이동
    • C:\Users\User1>cd "C:\Program Files\Oracle\VirtualBox"
      # 윈도우 7 기준으로 VirtualBox가 설치된 경로

  4. rawdisk 파일 생성
    • C:\Program Files\Oracle\VirtualBox>VBoxManager.exe internalcommands createrawvmdk -filename "C:\Users\User1\VM\physical.vmdk" -rawdisk \\.\PhysicalDrive 0 -partition 2
      # VBoxManager.exe 파일을 실행하여 rawdisk 를 사용하도록 합니다. 
      # -filename 뒤에는 가상하드디스크파일의 이름을 지정하면 됩니다. 
      # -rawdisk 뒤에는 사용할 물리적 하드를 표시해주면 됩니다. 만약, 하드전체를 사용하시려면 \\.\PhysicalDrive 1 를 입력하면 1번째 물리적 디스크 전체를 사용하게 됩니다. 
      # 여기에 보려주는 예시는 0번째 디스크의 4번째 파티션을 사용하도록 설정하였습니다. 
      # 정상처리되면 "RAW host disk access VMDK file C:\Users\User1\physical.vmdk created successfully" 메시지가 나옵니다. 

  5. guest os 에 추가하기
    • VIrtualBox 를 실행하고 물리적 하드를 사용할 guest 의 설정 창을 확인하시기 바랍니다. 
    • 4번째 메뉴의 "저장소"를 클릭하시면 저장소에 대한 설정화면이 우측에 나옵니다. 
    • "저장소 트리" 에서 "컨트롤러 SATA" 옆에 두번째 아이콘인 "하드 디스크 추가하기"를 클릭하시기 바랍니다. 
    • "기존 디스크 선택하기"를 누르시기 바랍니다. 
    • physical.vmdk 를 생성한 경로로 이동하여 physical.vmdk 를 선택하시면 됩니다. 
      ※ physical.vmdk 를 생성하면서 physical-pt.vmdk 파일도 생성됩니다. 물리하드를 사용하기 위한 파일로 그냥 무시하시면 됩니다. 

※ 우분투 환경에서는 root 권한으로 실행하시기 바랍니다


[참고] http://www.virtualbox.org/manual/ch09.html#rawdisk