WSL2 디스크 압축때마다 찾아다니지 않기 위해 기록용으로 작성하는 포스트 입니다.
WSL은 윈도우에서 리눅스를 사용할 수 있다는 점에서 간편하지만 리소스를 많이 잡아먹는다는 문제가 있는데요. 특히 한번 디스크가 할당되면 WSL 가상 머신 내에서 파일을 지워도 윈도우로 용량이 돌아오지 않는다는 문제가 있습니다.
이 경우 수동으로 가상 머신의 디스크를 압축해주어야 합니다.
파워쉘에서 작업 기준
$ wsl -l -v
$ wsl -t <NAME>
가상 머신과 연결된 프로그램이 실행되고 있으면 안됩니다. (VS Code 등)
$ wsl -d <NAME>
파워쉘에서 작업 기준
diskpart
실행diskpart
select vdisk file="<VDISK_FILE_PATH>"
vdisk 경로를 모르는 경우 다음과 같이 조회 가능
(Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<NAME>' }).GetValue("BasePath") + "\ext4.vhdx"
<NAME>
에 앞서wsl -l -v
로 조회한 NAME 입력
compact vdisk
exit