[TIL] WSL2 디스크 압축

cjkangme·2024년 11월 1일
0

TIL

목록 보기
34/37

WSL2 디스크 압축때마다 찾아다니지 않기 위해 기록용으로 작성하는 포스트 입니다.

WSL은 윈도우에서 리눅스를 사용할 수 있다는 점에서 간편하지만 리소스를 많이 잡아먹는다는 문제가 있는데요. 특히 한번 디스크가 할당되면 WSL 가상 머신 내에서 파일을 지워도 윈도우로 용량이 돌아오지 않는다는 문제가 있습니다.

이 경우 수동으로 가상 머신의 디스크를 압축해주어야 합니다.

현재 프로세스 종료

파워쉘에서 작업 기준

  1. 현재 구동중인 가상 머신 확인
$ wsl -l -v
  1. 압축할 가상 머신 종료
$ wsl -t <NAME>

가상 머신과 연결된 프로그램이 실행되고 있으면 안됩니다. (VS Code 등)

  1. (작업 완로 후) 가상 머신 재실행
$ wsl -d <NAME>

디스크 압축

파워쉘에서 작업 기준

  1. diskpart 실행
diskpart
  1. vdisk 선택
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 입력

  1. 가상 디스크를 읽기 전용으로 연결
attach vdisk readonly
  1. 디스크 압축
compact vdisk
  1. 가상디스크 분리
detach vdisk
  1. diskpart 종료
exit

0개의 댓글

관련 채용 정보