기술 관련/etc

VirtualBox 파티션 확장 하기

ID 홍차 2010. 2. 1. 12:35
Virtual Box에 Guest OS를 설치해서 사용할 때 처음 할당했던 디스크 크기가 부족해질 수 있다.

예를 들어, Guest OS로 Windows XP를 설치하고 MS Office를 설치할 경우 Service Pack이니 Update등을 실행하면 처음 XP를 설치했을 때 점유했던 공간보다 훨씬 더 많은 용량을 순식간에 잡아 먹는다. 게다가 메모리 Swap와 휴지통 그리고 인터넷 임시 저장 공간까지 사용할 경우 더욱 더 부족해 진다.

만약 가상 디스크 공간을 10GB로 설정 할 경우 위와 같은 경우는 여유 공간이 1GB이하가 된다. 그 외 다른 프로그램을 사용하려면 별도의 설치가 필요한 경우가 대부분이고 보통 C:\Program Files에 설치되니 디스크 용량이 더 부족하다고 경고창이 떠서 매우 귀찮게 된다.

이런 경우 상용 App인 VMWare에서는 가상 디스크의 크기를 자동으로 조절해 주는 유틸리티를 제공하므로 이를 이용하면된다. 그러나, Virtual Box는 별도의 유틸이 없으므로 고민을 하게 된다.

그냥 XP를 처음부터 다시 설치할까? 아니면 Norton Ghost 같은 것으로 백업후 다시 복구 하는 방법도 있을 수 있다. 인터넷에 보니 다양한 유틸리티를 이용하는 방법이 있었는데, 그중 번거롭지 않은 방법을 소개하고자 한다.

원본 링크 : http://www.my-guides.net/en/content/view/122/26/

요점은 간단하다. 원하는 크기의 가상 디스크를 생성하고 Open Source Linux형태로 제공되는 파티션 관리 Tool을 CD 부팅한 후 기존 파티션을 새로운 디스크의 파티션으로 복사하는 것이다.

1. 먼저 파티션 관리 Tool인 GParted ISO파일을 아래의 링크에서 다운로드 받는다.
GParted 홈페이지 : http://sourceforge.net/projects/gparted/

2. 디스크 등록
Virtual Box의 디스크 관리자를 실행하여 다운로드 받은 GParted를 CD 이미지로 등록하고
원본을 복사할 새로운 디스크를 생성한다. 새로운 디스크는 필요에 따라 넉넉히 생성한다.

3. 가상 머신 환경을 설정한다.
기존에 사용하던 가상 머신 환경을 그대로 이용하여 사용할 수도 있지만
설정이 번거롭게 될 수 있으므로 새로운 가상 머신 환경을 만들어 사용한다.

GParted는 리눅스이므로 Guest OS로 Linux, Version은 Other Linux를 선택한다.
메모리는 크게 상관 없을 것 같긴 하지만 되도록 1G 이상을 추천한다. 아무래도 RAM은 많을 수록 좋다.

초기 디스크 설정은 기존 하드 디스크 사용하기를 이용하여 복사할 원본 디스크를 선택한다.
이 때 선택된 디스크는 이 가상 머신에서는 Primary Master로 설정이 된다.
따라서, 가상 머신 생성을 완료 후 머신/설정에 진입한 후 '저장소' 탭에서 아래와 같이 변경해 주어야 한다.

4. 디스크 설정
초기 가상 머신은 IDE Controller에 하나의 디스크 (Primary Master)와 하나의 CD-ROM (Primary Slave)이 설정되어 있다.
파티션을 복사하려면 혼동을 막기 위해 Secondary 채널을 추가해야 한다.

IDE Controller 항목을 선택하면 우측 끝에 Add Hard Disk라는 아이콘이 있다. 이를 클릭하면 새로운 디스크가 하나 추가되며
이제 다음과 같은 방법으로 설정을 한다.

a. CD-ROM : Primary Master (gparted iso 연결)
b. 원본 가상 디스크 : Primary Slave
c. 복사 대상 디스크 : Secondary Slave

이제 설정을 저장하고 가상 머신을 시작하여 CD-ROM 부팅을 한다.
만약 CD-ROM으로 부팅되지 않을 경우 가상 머신 설정에서 '시스템' 탭에 부팅 우선 순위 정보를 확인하여 CD-ROM이 우선 부팅되도록 해야 한다.

7. Virtual PC를 시작한다.
부팅과 함께 나타나는 화면에서 선택 화면은 무조건 기본 선택 (Enter key만 사용) 한다.

a. Gnome Partition Editor
-> GParted Live (Default settings)
b. Policy for handling keymaps:
-> Don't touch keymap
c. Which language do you prefer?
-> [33] US English
d. Which mode do you prefer?
-> (0) Continue to start X to use GParted automatically

8. 파티션 복사
초기 화면에 보이는 파티션 화면은 원본 가상 디스크이므로 마우스를 이용하여 파티션을 선택한 후
Ctrl+C 를 눌러 복사하거나 메뉴의 Partition/Copy 항목을 선택하여 파티션을 복사해 둔다.

9. 파티션 복사할 디스크 선택
화면 우측 상단에 보면 하드디스크 아이콘과 함께 다른 디스크를 선택 할 수 있다.
혹은, 메뉴 GParted/Devices에서 파티션을 복사할 디스크를 선택 할 수 있다.

10. 파티션 테이블 생성
복사 대상 디스크를 선택하면 처음 만들어진 디스크이므로 초기 파티션 테이블조차 없으므로
메뉴의 Device/Create Partiontion Table을 이용하여 기본 파티션을 설정한다.
복사할 파티션이 NTFS일 경우 MS-DOS이므로 기본 파티션 테이블 포맷으로 생성한다.

11. 파티션 붙여넣기
원본 디스크에서 복사한 파티션을 새로운 파티션에 붙여넣기 위해 Ctrl-V나 메뉴Partition/Paste를 선택하면
디스크에 맞춰 복사할 파티션 및 전체 사용할 용량을 결정하는 창이 뜬다.

이때 복사될 파티션 및 추가 할 공간을 지정하게 되는데 마우스를 이용하여 최대 공간을 사용하도록 한다.
만약 별다른 설정이 없다면 디스크만 변경될 뿐 디스크에 할당된 파티션은 원본과 동일하게 된다.

12. 복사 진행
이제 복사를 할 준비가 되었으므로 툴바의 Apply를 누르거나 메뉴 Edit/Apply All Operations를 선택하여 복사를 진행한다.

13. Boot flag 선택
원본 파티션이 부팅되는 경우라면 복사한 디스크에도 부팅 정보를 넣어주어야 한다. 따러서, 복사 후 새롭게 생성된 파티션을 선택하여 메뉴 Partition/Manage Flags에서 boot 플래그를 체크화여 활성화 한다.

14. 완료
모든 과정이 완료되었으므로 GParted의 EXIT 아이콘을 눌러 종료한다.
만약 종료시 어쩌구 메시지가 출력되면 그냥 무시해도 된다.

15. 재설정 및 부팅
원본 디스크가 설정되어 있던 가상 머신에 기존 디스크 대신 새롭게 복사된 디스크를 설정 후 재부팅을 한다.
만약, 원본 파티션이 Windows XP였다면 부팅하면서 디스크 검사가 자동으로 실행되며 부팅 후 변경된 디스크 정보를 업데이트 하므로 재부팅을 한다.

그러나, 리눅스일 경우 Mount 정보가 달라지므로 /etc/fstab 정보를 수정해야 한다. 따라서, 리눅스 복구 CD로 부팅 복구 모드를 이용하여 정보를 갱신해 주어야 한다.