VirualBox에서 vdi파일 크기 줄이기

Programming Info 2014. 3. 24. 08:21 Posted by AstinLen

제가 사용하는 Windows환경에서 VirualBox를 활용하여 Ubuntu를 사용하는데 실 용량은 7.9GB입니다.

VirualBox에서 해당 가상머신의 디스크를 동적확장저장소로 지정해놓았으나, 실제 HDD에서 사용하는 공간이... 20GB 가까이 되다보니 128GB짜리 SSD가 부담됩니다. 거의 2배 가까이 뻥튀기 되었네요.

이에 실 용량으로 줄이는 방법을 알아보았습니다.


그림1. 20GB 가까이 되는 가상머신의 디스크(동적확장저장소 방식)

 
그림2. 실제 차지하는 공간(7.9GB)

Ubuntu뿐만 아니라 그 외 리눅스 시스템에서는 대부분 적용될 것으로 보입니다.

1. Ubuntu Terminal에서 아래와 같이 명령을 내립니다. 1번째 명령에서 시간이 조금 걸립니다.


    sudo dd if=/dev/zero of=/bigemptyfile bs=4096k
    sudo rm -fr /bigemptyfile

만약 Windows 가상머신이라면 cmd창에서  

    sdekete -z      <= 해보진않았습니다.

2. 가상머신을 종료합니다.

3. Windows의 cmd를 실행시켜 아래와 같이 명령을 내립니다. 마찬가지로 시간이 조금 걸립니다.


     vboxmanage.exe modifyhd 경로/파일명.vdi --compact

이 명령의 경우 vboxmanage가 있는 경로에서 실행해야 합니다. 기본적으로 C:\Program Files\Oracle\VirtualBox와 같은 경로에 위치합니다. vdi 파일은 C:\abc.vdi라고 가정하면...
예시

    cd C:\Program Files\Oracle\VirtualBox
    vboxmanage.exe modifyhd C:\/abc.vdi --compact

결과는


그림3. 10GB정도로 줄어든 vid 파일

 

이상입니다.

이런쪽 내용은 잘 모르지만 커멘드로만 봐서는 가상머신HDD에 있는 쓰레기 데이터를 0으로 쓴 다음 해당 부분을 잘라내는 것같습니다. 리눅스에서 2개 명령중 1번째 명령만 내리면 HDD 사용률이 100%가 되버립니다. 필히 2번째 명령 내려주세요.