일상 공부

Virtual Box 가상 하드 디스크 용량 조절

모카롤 2020. 7. 24. 10:57

 

Qiskit을 이용하려고 Ocracle Virtual Box를 이용해 리눅스를 사용하고 있었다 실은 초기 설정을 하기 싫어서 예전에 교수님이 다 세팅해서 넘겨주신 Ubuntu 18.04.1 버전의 리눅스를 그대로 가져와서 쓰려고 했는데 용량이 없다고 알림이 뜨면서 Qiskit 툴 설치가 멈췄다...! (용량 부족하다, 휴지통을 비울까? 라고 뜬 팝업 처음 봤다...) 

 

그래서 용량을 늘리기 위해서 구글링하는데 뭔가 복잡해서 한번 정리해보려고 한다. 나중에 또 다시 헤매면서 찾을 미래의 나를 위해서라도!

*참고로 용량을 늘린 후, 과정을 적기 시작했기 때문에 Before와 After는 각각 다른 가상머신입니다. 하지만 Before 머신을 그대로 복제해서 만들고 용량을 늘린것이 After 가상머신이니 참고하시기 바랍니다. 

 

 

Step 1. 용량 확인하기

일단 자신이 얼마나 용량을 잡았고, 얼마나 용량이 찼는지 확인하는 방법은 크게 두가지가 있다. 

 

1. Oracle Virtual Box 

설정-저장소

설정에서 보면 컨트롤러 밑에 달린 vdi를 확인할 수 있다. 이 vdi의 정보를 보면 가상 크기가 얼마이고, 실제 크기가 얼마인지 적혀있다. 여기서 필자의 경우 '동적 확장 저장소'이기 때문에 가상크기와 실제크기가 다른데 만약 정적이라면 가상이랑 실제크기가 같을 것이다. 여기서 가상 크기가 우리가 사용할 수 있는 총 용량이라고 보면 된다.

 

2. Ubuntu 

Application에서 찾으면 뜬다

가상머신 OS로 알수도 있다.  System Monitor를 찾아서 들어가면 아래처럼 확인이 가능하다.

 

 File System

현재 용량을 늘린 가상머신을 미리 캡처안해둬서 다른 가상머신을 가져왔다. 지금 용량을 늘린 가상머신의 원본이었던 가상머신인데 이렇게 용량이 아주 조금 남아있음을 알 수 있다. (1기가면 괜찮을 줄 알았는데 pip3 업그레이드하고 파이썬 업그레이드랑 설치하고 그랬더니 순삭되었다. 내 용량 내놔ㅠㅠ)

 

 

Step2. 호스트 OS에서 디스크 용량 늘려주기

호스트 OS, 즉 Virtual Box를 실행시키고 있는 본컴퓨터에서(가상머신 OS가 아니다!) cmd를 통해서 다음과 같이 실행시킨다. 

 

"C\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "(가상머신 vdi)" -- resize (원하는 크기, MB)

 

참고로 늘릴 가상머신 OS의 vdi가 있는 폴더에서 실행시켜야하며, VBoxManage.exe가 있는 경로를 찾아서 해야한다. 

 

해당파일은 보통 C:\Users\(사용자이름)\VirtualBox VMs\(가상머신 이름) 을 통해 접근할 수 있으며, 어디있는지 모르겠다면 VirtualBox 관리자창에서 오른쪽마우스 클릭후 '탐색기 띄우기'를 누르면 해당 폴더가 뜬다. 그 폴더에서 cmd를 띄워도 된다.

그리고 VBoxManage.exe는 보통 "C\Program Files\Oracle\VirtualBox"에 존재한다. 

 

필자의 예시는 아래와 같다. 

 

 

그 결과,

이렇게 나온다, 가상 크기가 늘어나있으니 성공! 이라고 생각하기는 아직 이르다. 

아마 이 상태로 가상머신에 들어가 아까처럼 'System Monitor'를 확인하면 여전히 공간이 늘어나있지 않음을 알 수 있다. 이는 바로 파티션때문이다. 우리가 디스크를 늘려줬지만 여전히 사용하지 않는 파티션으로 되어있기 때문에 가상머신 OS에서 늘어난 용량을 사용하지 않는 것이다. 따라서 파티션을 합쳐야하는데 이는 Ubuntu를 처음 설치할 때 뜨는 그 화면에서 설정을 해야한다. 만약 Ubuntu 이미지가 존재한다면 step3는 넘어가도 좋다. 하지만 필자의 경우 없어서 애를 먹었기 때문에, 만약 없다면 Step3를 따라가자.

 

 

Step3. 광학 드라이브 추가

자신의 버전에 맞는 iso를 찾아야한다. 우분투 커널 버전을 확인하는 방법은 여기를 참고!

혹은 터미널에서 uname -a 를 치면 커널 버전이 뜬다.

 

필자의 커널 버전은 ubuntu 18.04.1이었기 때문에 해당 (커널버전)-desktop-amd64.iso를 다운받았다. 참고로 이미지들은 크기가 크기 때문에 용량을 주의하자.

 

http://old-releases.ubuntu.com/releases/18.04.1/

다운을 다 받았다면 이제 이미지를 Virtual Box에 추가해야한다. 설정을 통해서 추가할 수 있다. 

 

설정-저장소-저장장치 추가

저장소로 접근해서 컨트롤러: IDE 옆의 CD모양을 클릭한다. 그러면 위와 같은 창이 뜬다. 디스크 선택하기를 클릭하면 아래와 같이 창이 하나 뜬다. 필자는 이미 추가를 해둬서 Attached에 떴지만 여기서도 추가를 눌러서 다운받은 iso 이미지를 추가하면 된다. 그러면 아마 처음에는 Not Attached 에 뜰 것이다. 정상이다! 정상이 아닌줄 알고 헤매던 과거의 날들이여...

 

일단 위처럼 추가하고 나면 아래처럼 추가한 드라이브의 설정을 바꿔야한다. 속성-광학드라이브에서 IDE 세컨더리 마스터로 설정한 후, 밑의 체크박스를 선택한다. (참고한 글에서는 체크가 안 되어있었는데, 필자는 체크를 해서 실행했다.)

 

이렇게 설정하고 나서 확인을 누르면 설정은 끝났다. 이제 가상머신을 켜서 파티션을 늘리면 된다!

 

 

Step4. 파티션 늘리기

이제 파티션을 늘린다. 파티션을 늘리려면 아래와 같은 창에서 Try Ubuntu를 눌러야한다. 그래서 step 3에서 이미지를 찾았던 것!

Try Ubuntu

그러면 아래처럼 평상시와 같지만 조금 다른 환경이 뜰 것이다. 

 

Applications에서 Gparted를 찾아 실행하거나, 터미널을 통해서 Gparted를 실행하자.

터미널에서 실행할 때는, sudo gparted 명령어를 치면 된다.

 

그러면 아래 같은 어플리케이션이 실행된다.

 

위처럼 지금 추가한 용량은 파티션때문에 사용하지 못하고 있음을 알 수 있다. 그렇기 때문에 파티션을 조정해하므로 더블클릭 혹은 위의 resize 버튼을 눌러서 크기를 재조정한다. 

 

필자는 아래와 같이 조정했으며, swap partition과 swap 재조정은 여기를 참고하길 바란다. 필자는 하지 않았기 때문에 ㅎㅎㅎ

늘어난 파티션은 30G, 뒤에 2G의 여유를 두었다.

사이즈 재조정을 하면 아래와 같은 경고문이 뜨고, 적용(Apply)를 누르면 된다.

 

그러면 복잡한 것들이 뜨고 나서 아래처럼 정리가 되고, 끝났다고 알려준다. 

 

이제 파티션까지 끝났다. 끄고나서 추가한 이미지를 삭제 후, 다시 가상머신을 켜고 System Monitor를 확인하면...

 

용량이 이렇게 늘어나있는 것을 알 수 있다. 혹은 아래처럼 터미널을 통해서 살펴볼 수 있다.

터미널 명령어는 df -h

(너무 많은 것이 나와서 당황했지만) 주된 용량을 보면 30G로 늘어있고 사용가능한 용량이 20G로 바뀐것을 볼 수 있다. 

 

 

 


간단하지만 먼길을 걸어온 당신, 이제 용량 걱정없이 가상머신을 부려(?)먹자! :D

 

 

참고자료

https://technote.kr/156

 

VirtualBox, 가상 하드 디스크 용량 조절하기.

 VirtualBox 를 이용해 Linux Kernel Compile을 진행하고 있다. 그 동안의 기억으로 Linux는 크게 용량을 먹지 않았던 것으로 알고 있었는데, 막상 kernel compile을 해보니 용량 증가 속도가 상당이 빠르고 많

technote.kr

https://technology.amis.nl/2017/01/30/ubuntu-vm-virtualbox-increase-size-disk-make-smaller-exports-distribution/

 

Ubuntu VM in VirtualBox: How to increase the size of a disk and make small(er) exports for distribution - AMIS, Data Driven Blog

Sometimes I create a VirtualBox disk for usage in a VM with a certain size. I think it will be enough for what I want to use the VM for. After using the VM for a while, it happens (often) that I need more space than I initially assigned. For […]

technology.amis.nl