InfraPlatform

How to WSL2 - WSL 기본 설치 디렉토리 커스텀 경로 변경

IT오이시이 2024. 2. 29. 01:20
728x90


WSL 사용법 – How To Start WSL

 



How to WSL2 - WSL 설치 디렉토리 커스텀 경로 변경 : Export and import WSL distros

WSL의 기본 설치 경로는 "C:" 에 설치하므로 OS용으로 사용하는 SSD의 경우 디스크 용량이 부족할 수 있습니다.
WSL 설치 이미지를 보조 디스크 "D:"로 설치 이미지의 경로를 직접 커스텀 저장하는 방법을 정리합니다.

* windows의 Powershell 을 관리자 모드로 실행하여 wsl 명령을 사용하는 것을 Remind하고 진행 바랍니다.

 

(요약) WSL 이미지 관리 명령어 

WSL 배포판( distro) "이미지"를 관리하려면 PowerShell 또는 명령 프롬프트(관리자권한)에서 몇 가지 주요 명령을 사용할 수 있습니다
 
  • List installed distros: wsl --list --verbose or wsl -l -v.
  • Export a distro to a tar/vhdx file: wsl --export <Distro> <FileName> [--vhd].
  • Import a distro from a tar/vhdx file: wsl --import <Distro> <InstallLocation> <FileName> [--vhd].
  • Install from a specific file: wsl --install --from-file <path\to\file.wsl>

 (출처: https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro)

 

WSL 이미지 백업 방법

1. tar 파일 (.tar):
   -  tar 파일 (.tar) 파일은 전체 Linux 배포판을 내보내거나 가져오는 데 사용됩니다.
   - wsl --export <DistroName> <FileName.tar>   

2. vhdx 파일 (.vhdx):  
  - VHDX 파일(.vhdx)은  WSL 2는 각 배포판의 Linux 파일 시스템을 저장하기 위해 가상 하드 디스크(VHDX) 파일을 사용합니다.
  - wsl --export <Distro>   <FileName(.vhdx)>  --vhd
 -  wsl --import <Distro> <InstallLocation> <FileName(.vhdx)>  --vhd

3. 특정 파일에서 직접 설치 
  -  특정 파일에서 설치: wsl --install --from-file <path\to\file.wsl>

  


다음과 같은 순서로 WSL이 설치된 이미지를 백업 받아 새로운 디렉토리로 이전 하여 사용 가능합니다.

0. WSL 명령으로 linux를 설치/삭제합니다.

- windows의 Powershell 을 관리자 모드로 다음 명령을 실행 합니다.

# WSL 특정 Ubuntu 버전 설치
wsl --install  -d Ubuntu-22.04

# WSL 특정 Ubuntu 버전 삭제
wsl --unregister <배포본이름>
  • wsl 설치
    wsl --install -d <배포본이름>
  • wsl --version
  • 이미지 목록
    - wsl --list
    - wsl --list --verbose
  • 이미지 삭제
    - wsl --unregister <배포본이름> :
  • - wsl --unregister Ubuntu-22.04
  • wsl 실행
    - wsl
    - wsl -d <배포본이름>
  • - wsl -d Ubuntu-22.04 ls -al
  • 기본 이미지 설정
    wsl --set-default-version 2
    wsl --set-default <배포본이름>
    wsl --set-version <배포본이름> 2
  • 업그레이드
    - wsl --update
  • 실행상태
    - wsl --status
  • 배포본 종료
    - wsl --terminate <배포본이름>
    - wsl --shutdown

WSL 기본 설치 경로는 아래와 유사한 폴더에 저장됩니다.
C:\Users\YourUsername\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc

  • WSL 배포본은 VHDX 파일 형태로 저장됩니다.
  • 경로는 보통 다음과 같습니다:
# WSL 배포본은 이미지 저장 위치
%LOCALAPPDATA%\Packages\<배포본 패키지 이름>\LocalState\


C:\Users\<사용자명>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_<랜덤문자열>\LocalState\

위와 같이 Ubuntu를 설치하면 C:에 설치가 되므로 운영체체의 디스크가 모자랄 수 있으므로 다른 디스크로 설치 위치를 옮기기 위해서 export로 백업을 받아서 재설치 하는 것입니다. (윈도우에서 기본 설치 위치를 변경하는 설정이 없나봅니다.)

WSL 특정 배포본의 설치 경로 확인:

. wsl --list 명령으로 상태를 확인합니다.

# PowerShell에서 설치된 배포본 확인:

wsl --list --verbose


# 특정 배포본의 설치 경로 확인:
Get-AppxPackage *Ubuntu* | Select InstallLocation

# -해당 경로의 LocalState 폴더 안에 이미지가 있습니다

 


 

1. 설치된 이미지를 export 로 백업 받습니다.(내보내기)

 

. wsl --export <WSL Image Name> <Export file>  [--vhd]

d:/WSL_Data 디렉토리에 Ubuntu 이미지를 백업 받을 디렉토리로 이동 합니다.
그리고 wsl --export 명령으로 백업파일은 "exp_ubuntu2204.tar"로 저장하였습니다.
 (권장)  --vhd 옵션을 추가하여  배포판을 .vhdx 이미지 파일로 저장이 가능합니다.

PS C:\Users\AgileBus> d:
PS D:\> cd .\WSL_Data\

# 배포판을 tar 압축 파일로 저장
PS D:\WSL_Data> wsl --export "Ubuntu-22.04" exp_ubuntu2204.tar 

# 배포판을 이미지 파일로 저장 (권장)
PS D:\WSL_Data> wsl --export "Ubuntu-22.04" exp_ubuntu2204.vhdx   --vhd

D:\WSL_Data>wsl --export Ubuntu-22  Ubuntu-22.2026.vhdx  --vhd
내보내기가 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
작업을 완료했습니다.

 


 

2. export 로 백업 받은 파일을 확인 합니다.

 

백업 명령 실행 후 디렉토리에 백업 데이터가 저장 되어 있는지 확인합니다.

PS D:\WSL_Data> dir

    디렉터리: D:\WSL_Data
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----      2024-02-22   오후 2:49     1051955200 exp_ubuntu2204.tar
-a----      2026-01-19   오후 2:23    21382561792 Ubuntu-22.2026.vhdx

내보내기 후 Ubuntu 20.04 WSL 이미지 .tar 파일은 약 1.0GB였습니다. 위의 요구 사항 섹션에서 설명한 대로 WSL 이미지를 네트워크 위치로 내보낼 수도 있습니다.

 tar 파일을 import 하는 경우 배포판의 파일이 일반 파일로 import 되는 경우가 있으므로 "--vhd" 명령을 사용하여 백업 하였습니다.

 


 

3. 백업 받은 이미지를 import 합니다.

 

. wsl --import  명령으로 백업 받은 이미지를 복구 합니다. 복구하는 디렉토리를 설정하여 WSL 이미지를 저장합니다.

 

3.1 tar 파일로 import 

. wsl –import <새로운 배포 이미지 이름> <새로 설치할 디렉터리 위치> <백업받은 .tar 파일 이름>

# 백업 받은 이미지를 특정 디렉토리로 import하여 등록합니다.

PS D:\WSL_Data> wsl --import ubnutu2204  D:\WSL_Data\wsl_ubuntu2204   exp_ubuntu2204.tar


# 이동되는 디렉토리의 파일로 "ext4.vhdx" 이 확인됩니다.

PS D:\WSL_Data> dir .\wsl_ubuntu2204\

    디렉터리: D:\WSL_Data\wsl_ubuntu2204
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----      2024-02-22   오후 2:56     1170210816 ext4.vhdx

 


 

3.2  vhdx 파일로 import 

# wsl --import <배포판이름> <설치경로> <백업파일.vhdx>  --vhd   명령으로 백업받은 이미지를 업로드 합니다.
# import가 완료되면 wsl_ubuntu2204_llm/ext4.vhdx 파일이 생성됩니다.

# wsl --import <배포판이름> <설치경로> <백업파일.vhdx>  --vhd
PS D:\WSL_Data> wsl --import ubuntu2204_llm D:\WSL_Data\wsl_ubuntu2204_llm  Ubuntu-22.2026.vhdx  --vhd  --vhd
가져오기가 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
작업을 완료했습니다.


# --vhd  옵션이 없는 경우 .tar 파일로 인식해서 업로드가 실패 합니다.

PS D:\WSL_Data> wsl --import ubuntu2204_llm D:\WSL_Data\wsl_ubuntu2204_llm  Ubuntu-22.2026.vhdx
가져오기가 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
지정되지 않은 오류입니다.
Error code: Wsl/Service/RegisterDistro/E_FAIL


# import가 완료되면 wsl_ubuntu2204_llm/ext4.vhdx 파일이 생성됩니다.

PS D:\WSL_Data> dir  wsl_ubuntu2204_llm/ext4.vhdx

    디렉터리: D:\WSL_Data\wsl_ubuntu2204_llm
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----      2026-01-19   오후 3:00    21382561792 ext4.vhdx

(주의)   vhdx 파일을  import  할때 --vhd  옵션이 없는 경우 .tar 파일로 인식해서 업로드가 실패 합니다. 

wsl --list -v
  NAME              STATE           VERSION
* Ubuntu-22         Stopped         2
  ubuntu2204_llm    Installing      2

 

 


 

4. import된 이미지를 확인 합니다.

- 이전에 설치한 배포판과 백업 파일로 새로운 이름으로 import된 배포판이 등록된 것을 확인 합니다.

PS D:\WSL_Data> wsl --list -v
  NAME              STATE           VERSION
* Ubuntu-22         Stopped         2
  ubuntu2204_llm    Stopped         2
  
  
PS D:\WSL_Data> wsl --set-default ubuntu2204_llm
작업을 완료했습니다.


# 기본 이미지를 "ubuntu2204_llm" 로 변경

PS D:\WSL_Data\wsl_ubuntu2204_llm> wsl --set-default ubuntu2204_llm
작업을 완료했습니다.
PS D:\WSL_Data\wsl_ubuntu2204_llm> wsl -l -v
  NAME              STATE           VERSION
* ubuntu2204_llm    Stopped         2
  Ubuntu-22         Stopped         2

 (참고) wsl --set-default ubuntu2204_llm   을 이용해서  자동으로 실행되는 기본 이미지를 변경합니다.

 


 

5. 기존 설치된 버전을 삭제 합니다.

 

. wsl --unregister <배포판명 : DISTRO-NAME>
"wsl --unregister" 를 이용하여 설치된 배포판을 삭제 합니다.

wsl --unregister "Ubuntu-22.04"

wsl --list : 삭제 결과를 확인 합니다.

#------------------------------------
PS D:\WSL_Data> wsl --unregister Ubuntu-22.04
등록 취소 중...

PS D:\WSL_Data> wsl --list
Linux용 Windows 하위 시스템 배포:
ubnutu2204(기본값)

 


 

6. 실행중인 배포판을 확인 합니다.

. wsl --list --running 으로 실행중인 배포판을 확인 합니다.

PS D:\WSL_Data> wsl --list --running
Linux용 Windows 하위 시스템 배포:
Ubuntu-22.04(기본값)


PS D:\WSL_Data> wsl -l --verbose
  NAME            STATE           VERSION
* Ubuntu-22.04    Stopped         2
  ubnutu2204      Stopped         2

 


 

7. WSL을 실행하여 접속 합니다.

# wsl -u root 명령으로 "root" 계정을 지정하여 접속을 할 수 있습니다.

기본 경로가 "/mnt/d/VM_OS/WSL_ubuntu" 로 표시되며, 리눅스 명령을 실행할 수있습니다.

# root 계정으로 wsl 을 접속합니다.

PS D:\WSL_Data> wsl -u root
이제 Linux용 Windows 하위 시스템을 Microsoft Store에서 사용할 수 있습니다.

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)

root@DESKTOP-VPVS04M:/mnt/d/VM_OS/WSL_ubuntu# pwd
/mnt/d/VM_OS/WSL_ubuntu

root@DESKTOP-VPVS04M:/mnt/d/VM_OS/WSL_ubuntu# w
 09:08:01 up 0 min,  0 users,  load average: 0.52, 0.58, 0.59
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

# 기본 경로가 "/mnt/d/VM_OS/WSL_ubuntu" 로 표시되며, 리눅스 명령을 실행할 수있습니다.

 


 

ㅁ WSL 시작과 종료 기본 명령

* 아래 명령어를 windows Command.exe (CLI)에서 실행하여야 합니다.

WSL은 실행 시 자동 시작되고, 종료는 --shutdown 또는 --terminate로 제어합니다.

 


 

WSL 기본 명령어 치트시트

 

WSL 기본 명령어
구분 명령어 설명
설치 wsl --install 기본 Ubuntu 설치
  wsl --install -d <배포본> 특정 배포본 설치 (예: Debian)
조회 wsl --list 설치된 배포본 목록 확인
  wsl --list --verbose 배포본 상태 및 버전 확인
삭제 wsl --unregister <배포본> 해당 배포본 및 이미지 완전 삭제
시작 wsl 기본 배포본 실행
  wsl -d <배포본> 특정 배포본 실행
  wsl -d <배포본> <명령어> 특정 배포본에서 명령 실행 (예: wsl -d Ubuntu-22.04 ls -al)
종류/버전 wsl --version WSL 버전 확인
  wsl --set-default-version 2 기본 설치 버전을 WSL2로 설정
  wsl --set-version <배포본> 2 특정 배포본을 WSL2로 변환
업데이트 wsl --update WSL 최신 업데이트 적용
  wsl --status 커널 및 상태 확인
기타 wsl --set-default <배포본> 기본 배포본 변경
  wsl --terminate <배포본> 특정 배포본 종료
  wsl --shutdown 모든 WSL 인스턴스 종료

 


[참고]

WSL사용법- How To Start WSL

Export and import WSL distros : Export and import Windows Subsystem for Linux (WSL) – 4sysops

(관련 기술 문서)
Import any Linux distribution to use with WSL:
 - https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro


 

728x90
반응형