VHD 파일 용량 줄이기, compact 명령, SDelete 다운로드 및 사용법

2019.01.23 13:56

이번 포스팅에서는 'VHD 용량 줄이기'라는 주제로 이야기해보려 합니다.

 

그동안 VHD 파일을 이용해서 멀티 부팅을 한답시고 VHD 파일을 많이 만들고 지우기를 반복해 왔었지만 용량 때문에 크게 신경썼던 적은 없었던 거 같네요.

 

그런데, 최근 하드디스크 용량이 부족해져서 HDD 내의 파일들을 다른 곳으로 옮기거나 지워야 되는 상황에 놓이게 되었습니다. ㅠㅠ

 

더욱 심각한 문제는 이제는 HDD 용량 부족으로 인해 더 이상 예전처럼 VHD 파일을 마음대로 만들어 쓸 수 없게 되어서 각종 프로그램 테스트 등의 작업을 하기가 어려워졌다는 거네요.

 

그러다 보니 당장 발등에 불이 떨어진 것처럼 급하지 않은 일들을 자꾸 다음으로 미루게 되고 결국은 하나둘씩 미뤘던 일들이 눈덩이처럼 불어나서 나중에는 완전 멘붕 상태에 빠져 버리는 일이 종종 있더라고요. ㅎㅎ;

 

요번에 VHD 용량을 줄이는데 관심을 갖게 된 것도 솔직히 발등에 불이 떨어진 상황이라 하게 된 거에요. ㅋㅋ

 

현재 진행 중인 작업은 어떤 컴퓨터에서도 설치가 가능하도록 윈도우7을 최신 업데이트까지 한 후 sysprep을 이용해 봉인해두려는 건데요.

 

실수로 혹은 실패로 삽질을 하며 수 십번을 삭제하고 새로 만들기를 반복한 끝에 드디어 최신 업데이트까지 마친 윈도우7을 봉인한 WIM 파일을 만들었는데요.

 

문제는 요놈이 제대로 작동하는지 아닌지 최종 테스트를 해봐야 하는데.... 헐...

 

VHD 파일을 생성해서 WIM 파일을 풀어 넣고 부팅하면 하드디스크 공간이 1~2GB 정도 모자랄꺼 같더라고요. ㅠㅠ

 

그렇다고 최종 성공 여부가 확인되지 않은 상황에서 현재 사용하고 있는 기존의 VHD 파일을 삭제할 수도 없는 노릇이고...

 

그래서 생각난 것이 'VHD 파일 용량 줄이기'라는 거였네요.

 

일단은 기존에 사용하고 있던 VHD 파일의 용량을 줄이면 새로 만든 VHD로 부팅해도 간신히 디스크 공간 부족은 면할 수 있을 거 같더라고요.

 

 

VHD 용량 줄이는 방법

 

이전까지는 그다지 VHD 용량을 줄이는 것에 대한 필요성을 못 느껴서 관심을 두지 않고 있었는데요.

 

이제는 부족해져 버린 하드디스크 용량 덕분에 어쩔 수 없이 관심을 갖지 않을 수 없게 되었네요.

 

일단 VHD 파일의 용량을 줄이기 위해서는 한 가지 프로그램을 준비해둬야 합니다.

 

SDelete (다운로드)라는 프로그램인데요.

 

제가 다운로드 받은 시점에서 프로그램 버전은 '2.02'이네요.

 

다른 분들의 블로그 설명을 보면 'sdelete -c i:'라는 형태로 하면 된다고 하던데요.

 

그분들이 사용하던 버전과 제가 다운받은 버전이 달라서 그런지 원하는 결과가 안 나오더군요.

 

약 14GB였던 VHD 파일이 '-c'를 적용한 후 최대 용량인 20GB로 늘어나 버렸더라고요. 헐..

 

뭐가 제대로 안 되었나 싶어서 여러 번 다시 시도해 보았으나 용량은 줄어들지 않더군요.

 

그래서 결국 'sdelete /?'으로 사용법을 살펴본 뒤 '-z'를 적용한 후 원하는 결과가 생기는 것을 확인하게 되었네요.

 

약 14GB였던 VHD의 용량이 예상대로 약 12GB 정도로 줄어서 필요한 공간을 확보할 수 있게 되었네요.

 

여기서 귀차니즘으로 인해 생겨난 한 가지 문제...

 

VHD 용량이 줄어든 것은 '-c'를 사용한 후 '-z'를 사용해서 일까요?

 

아니면 '-c'의 사용과 무관하게 '-z'만을 사용해도 되는 걸까요?

 

결과론적으로 본다면 저는 'sdelete -c i:'를 한 후 'sdelete -z i:'를 한 것인데요.

 

확인을 해보려니 한 번 할 때마다 시간이 너무 오래 걸려서 확인은 포기하기로 했답니다. ^^;

 

다음에 또 VHD 용량을 줄일 필요가 있을 때, 그때에는 먼저 'sdelete -z i:'를 시도해본 후 안 되면 '-c'를 먼저 하고 그 다음에 '-z'를 사용해야겠다고 머릿속으로 계획만 세우고 패쓰~ 헤헤..

 

자~, 이제 잡설은 치우고... 정리하자면 이렇습니다.

 

1. 도스창(명령 프롬프트)을 2개를 띄운다.

 

2. 한 쪽에는 diskpart를 실시하고, 다른 쪽에는 SDelete 프로그램을 순서대로 실행한다.

 

diskpart

sel vdisk file="d:\vhd\win7pa.vhd"

attach vdisk

 

위 과정까지 했으면 VHD 파일이 마운트 되었을 거에요.

 

그럼 다른 도스창에서 SDelete 프로그램을 실행하세요.

 

'-c'를 먼저 한 후 '-z'를 해야 될지 확인을 안 해봤기에 편의상 '-z' 사용했네요.

 

sdelete -c i: (찝찝하면 이거 뭔저 실행. 확신있으면 넘어가고 다음 것만 실행.)

sdelete -z i:

 

참고로 위에서 'i:'는 앞에서 마운트된 VHD의 드라이브 명이에요.

 

sdelete 작업이 완료되었다면 이제는 diskpart 작업 중인 도스창으로 넘어갑니다.

 

detach vdisk

compact vdisk

 

위 과정은 VHD 파일을 마운트 해제하고 compact 명령으로 용량을 줄이게 됩니다.

 

참고로 SDelete 프로그램을 자주 사용할 거 같으면 windows\system32 폴더에 복사해두고 사용하면 편하실 거에요.

 

휴~, 별거 아닌데 글을 써놓고 보니 정신 없네요. ㅋㅋ

 

VHD 파일 용량 줄이는 핵심 명령어는 diskpart 내의 compact 명령인데 이것을 실행하기 전의 준비 과정이 좀 요란해 보이는 거 같네요.

 

간단히 정리하자면 '용량을 줄이려는 VHD 파일을 마운트한 뒤 SDelete 프로그램 사용하고, 이후 마운트 해제한 뒤 compact 명령을 사용한다'입니다.

Posted by googlinfo(원래버핏)
이 댓글을 비밀 댓글로