알아두면 좋은 IT 지식/General

wsl 디스크 용량 줄이기 - ext4.vhdx 압축

uutopia 2024. 6. 26. 16:51

윈도우에서 리눅스를 사용하기 위해서 wsl을 애용 중인데,

윈도우의 리소스를 제한없이 사용할 수 있다보니 이게 양날의 검이다.

그 중 하드디스크를 너무 많이 차지할 경우 디스크 압축을 통해서 공간을 확보할 수 있다.

 

배포된 이름 확인

- 윈도우 파워셀에서 아래 명령어를 실행한다.

(Running 중이라면 작업 전 Stop)

wsl -l -v

실행 결과

 

.vhdx파일 및 디스크 경로 확인

- 윈도우 파워쉘에서 아래 명령어를 통해서 배포된 wsl 의 .vhdx 파일 및 디스크 경로를 찾을 수 있다.

(<distribution-name>을 실제 배포 이름으로 변경)

(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<distribution-name>' }).GetValue("BasePath") + "\ext4.vhdx"

현재 약 20GB 사용 중

 

디스크 압축

- 윈도우 파워쉘에서 아래 명령어를 통해서 diskpart를 실행하고, 

diskpart

 

 - 실행된 diskpart.exe cmd창에서 아래 명령어를 순서대로 실행한다.

(<.vdisk 경로>를 실제 파일 경로로 변경)

select vdisk file="<.vdisk 경로>"
attach vdisk readonly
compact vdisk
detach vdisk

작업 후 약 20GB에서 10GB로 절반 가량 압축 성공

 

디스크 압축이라는게 결국은 현재 안쓰는 공간을 압축하는 거기 때문에 만약 모든 공간이 실제로 사용중이라면 디스크 용량이 다이나믹하게 줄어들진 않는다.

wsl은 한번 늘어난 디스크 용량을 자동으로 감소시키지 않기 때문에 wsl 서버에 접속 후 먼저 쓰지 않는 파일들을 직접 정리해주고 압축을 실행한다면 용량이 확 줄어드는 걸 볼 수 있다.