조용한 담장

virtualbox 디스크 이미지 크기 줄이기 (Windows host) 본문

tips

virtualbox 디스크 이미지 크기 줄이기 (Windows host)

iosroid 2019. 8. 1. 15:24

디스크 이미지가 dynamic disk 이면 동적으로 이미지 크기가 늘지만 줄지는 않는다.

guest os 안에서 파일을 지워도 실제 이미지의 크기가 줄지 않으므로 툴을 사용해 줄인다.

 

virtual box storage setting

storage 가 Dynamically allocated storage 인지 확인한다.

Windows Guest 의 경우

1. 게스트 윈도우즈에서 디스크 조각모음을 한번 실행한다.

2. SDelete 를 다운받는다.

3. Command Prompt 에서 아래의 명령을 실행한다.

sdelete.exe c: -z

4. 게스트 윈도우즈를 종료한다.

 

Linux Guest 의 경우

1. zerofree 를 설치한다.

sudo apt install zerofree

2. 게스트 리눅스를 재부팅 하고 GRUB 에서 "Advanced options ..." 를 선택한 후

   최신 커널 버전의 "... Linux 4.xx ... (recovery mode)" 를 선택하여 recovery mode로 실행한다.

3. recovery menu 선택 화면에서 root를 선택한다.

4. 크기를 줄일 디스크 이미지의 장치를 "df" 로 확인한 후 아래의 명령을 실행한다.

zerofree -v /dev/sda1

4.1. "zerofree: filesystem /dev/sda1 is mounted rw" 에러가 발생하면?

4.2. 해당 디스크를 read only 모드로 재 마운트 하여 실행한다.

4.3. 그래도 안되면 부팅 이미지 iso 파일을 다운받아 iso 이미지로 부팅을 한 후

     해당 디스크를 read only 모드로 마운트 하여 실행한다.

5. 게스트 리눅스를 종료한다.

VBoxManage compact

1. Command prompt 를 실행하여 VBoxManage.exe 파일이 있는 곳으로 디렉토리를 변경한다.

   보통 C:\Program Files\Oracle\VirtualBox 에 있다.

cd "C:\Program Files\Oracle\VirtualBox"

2. 크기를 줄일 디스크 이미지의 경로를 변경하여 아래의 명령을 실행한다.

VBoxManage.exe modifymedium disk "C:\path\to\disk.vdi" --compact

참고

아래의 사이트를 참고하면 좋다.

https://www.howtogeek.com/312883/how-to-shrink-a-virtualbox-virtual-machine-and-free-up-disk-space/

 

 

 

 

 

 

Comments