본문 바로가기
목차
Linux

WSL 배포판(distro) 백업 및 복원하기: export, import

by ds31x 2026. 1. 5.
728x90
반응형

0. 이 매뉴얼의 전제와 목적

이 문서는 다음의 목적을 가진 사용자를 대상으로 작성:

  • WSL2 환경에서 사용 중인 Linux 배포판을 안전하게 백업하고 복원하려는 경우
  • 기존 사용자 환경(홈 디렉터리, 설정, 권한)을 유지하고 싶은 경우
  • 또는 기존 환경과 분리된 새로운 사용자 계정을 만들고 싶은 경우
  • wsl --export / wsl --import를 사용하면서 발생하기 쉬운 문제(systemd, root 로그인 등)를 피하고 싶은 경우

이 매뉴얼에서 사용하는 사용자 이름 ds31x 와 배포판 Debian은 예시이며,
모든 명령에서 이를 각각의 실제 계정명 과 배포판 명으로 변경해서 사용해야 함.


1. 배포판 백업 (Export)

1-1. 설치된 배포판 확인

wsl -l -v
  • 이 명령은 현재 시스템에 등록된 WSL 배포판과 각 배포판이 WSL1인지 WSL2인지 확인하기 위한 것임.
  • 백업 대상 배포판의 정확한 이름을 알아야 이후 과정을 진행할 수 있음.

1-2. 실행 중인 배포판 종료

wsl --shutdown
  • 실행 중인 상태에서도 export는 가능하기 하나..,
  • 파일 시스템 일관성과 안정성을 위해 모든 WSL 인스턴스를 종료한 상태에서 백업하는 것을 권장.

1-3. 배포판 전체 백업

wsl --export Debian D:\backup\Debian.tar

이 명령은 다음을 모두 포함하여 백업을 진행:

  • 루트 파일 시스템 전체
  • /home 아래 사용자 홈 디렉터리
  • /etc의 사용자 및 시스템 설정
  • UID/GID, 그룹(sudo 포함) 정보

즉, 단순한 파일 백업이 아니라 사용자 계정과 환경을 그대로 보존하는 이미지 백업 에 해당함.

때문에 이전 사용자 계정을 그대로 복원 가능함.


2. 복원 전 준비 작업

2-1. import 대상 디렉터리 생성

mkdir C:\WSL
mkdir C:\WSL\Debian
  • 주의할 점은 wsl --import 명령은 ext4.vhdx가 저장될 대상 디렉터리를 자동으로 생성하지 않음.
  • 따라서 반드시 사전에 디렉터리를 생성해 둬야 함

참고로 일반적으로 wsl --install 로 특정 배포판을 설치되는 경우는 다음 경로에 저장됨:

%USERPROFILE%\AppData\Local\Packages\
  <배포판_패키지_ID>\LocalState\ext4.vhdx

2-2. ext4.vhdx 파일

ext4.vhdx 파일은 Linux 파일 시스템이 저장되는 하나의 가상 디스크 파일임.

  • 가급적, 용량과 관리 편의성을 고려해 로컬 NTFS 디스크 경로를 사용하는 것이 편함.
  • 동일한 wsl2 환경과 windows 환경에서는 이 파일만 있어도 복원 가능
  • 하지만 권장되는 백업은 아님.

3. 배포판 복원 (Import)

wsl --import Debian C:\WSL\Debian D:\backup\Debian.tar --version 2

이 명령은 백업된 tar 파일을 기반으로 새로운 WSL 배포판을 등록.

 

다음을 주의할 것:

  • 복원 직후 기본 로그인 사용자는 항상 root
  • 이는 오류가 아니라 wsl --import의 기본 동작
  • 이후 단계에서 일반 사용자로 전환해야 정상적인 사용 환경이 됨.

4. 복원 후 사용자 설정 방법 개요

복원 이후에는 두 가지 선택지가 있음:

  • 선택지 A: 기존 사용자 계정을 그대로 사용하는 경우
  • 선택지 B: 새로운 사용자 계정을 추가해서 사용하는 경우

두 방식은 목적이 다르므로, 상황에 맞게 하나만 선택해서 진행하는게 좋음.

보통은 기존 사용자 계정을 그대로 쓰는게 제일 편함.


선택지 A. 기존 사용자 계정을 그대로 사용하는 경우

이 방법은 이전 WSL 환경을 최대한 동일하게 복원하고 싶을 때 적합함.

A-1. root로 배포판에 진입

wsl -d Debian -u root
  • 복원 직후에는 기본 사용자가 root
  • 때문에, 설정 작업은 root 권한에서 진행.

A-2. 기존 사용자 계정 확인

다시 한 번 더 애기하지만

아래에서 ds31x는 예시 계정명임.
각 복원한 시스템에서 백업 전 사용하던 계정명으로 대체할 것.

id ds31x
groups ds31x

여기서 확인하는 사항은 다음과 같음:

  • 사용자가 실제로 존재하는지
  • UID/GID가 이전과 동일한지 (보통 1000)
  • sudo 그룹에 포함되어 있는지

만약, sudu 그룹이 없다면, 일반 사용자로서 시스템 관리 작업이 불가능함.

A-3. sudo 그룹이 없는 경우 추가

usermod -aG sudo ds31x
  • 이 명령은 기존 그룹을 유지한 채 sudo 그룹만 추가.

추가 후 반드시 다음의 명령어로 sudo 그룹이 추가되었는지 확인할 것:

groups ds31x

A-4. systemd 설정 점검

cat /etc/wsl.conf

복원된 환경에 다음 설정이 있다면 문제가 됨:

[boot]
systemd=true

이 설정은 import 로 복원된 환경에서 사용자 로그인 실패를 유발하는 대표적인 원인임.
기존 환경에서는 문제가 없었더라도, import 후 기본 사용자 전환 시 처음으로 활성화되어 오류를 일으킴.

A-5. 안전한 기본 사용자 설정

[user]
default=ds31x
  • /etc/wsl.conf에는 위 내용만 남기고
  • [boot] systemd=true는 삭제할 것.

A-6. WSL 재시작

wsl --shutdown
  • wsl.conf 변경 사항은 재시작 이후에만 반영됨.

A-7. 정상 동작 확인

wsl

 

Linux 안에서 다음을 확인할 것:

whoami
pwd
groups

정상이라면 다음과 같은 상태임:

  • 사용자: ds31x
  • 홈 디렉터리: /home/ds31x
  • 그룹에 sudo 포함

선택지 B. 새로운 사용자 계정을 추가해서 사용하는 경우

이 방법은 기존 환경과 분리된 깨끗한 사용자 환경이 필요할 때 적합.

 

설치하다가 root만 만들어지고 사용자 계정이 없는 경우에 대한 해법과 같음:

2023.09.19 - [Errors] - [WSL] root계정으로만 로그인 되는 경우.

 

[WSL] root계정으로만 로그인 되는 경우.

WSL로 ubuntu등을 설치할 때, 중간에 해당 배포판의 계정을 입력하라는 다음의 문구가 나온다.Installing: Ubuntu 20.04 LTSUbuntu 20.04 LTS has been installed.Launching Ubuntu 20.04 LTS...Installing, this may take a few minutes...

ds31x.tistory.com

B-1. root로 진입

wsl -d Debian -u root

B-2. 새 사용자 생성

예시로 newuser를 사용.

adduser newuser

이 과정에서 홈 디렉터리가 자동으로 생성되며, 비밀번호도 설정하게 됨.

B-3. sudo 권한 부여

usermod -aG sudo newuser

앞서 설명과 같음.

B-4. 기본 사용자 변경

[user]
default=newuser

앞서 설명과 같음.

B-5. systemd 설정 재확인

이 경우에도 /etc/wsl.confsystemd=true가 없어야 함.
필요하지 않은 경우 제거하는 것이 안정적.

B-6. WSL 재시작 및 확인

wsl --shutdown
wsl

Linux 안에서 다음을 확인할 것:.

whoami
pwd
groups

새 사용자와 해당 홈 디렉터리로 정상 진입해야 함.


5. 두 방식의 선택 기준 요약

구분 기존 계정 유지 새 계정 추가
이전 환경 그대로 사용 가능 불가
설정/히스토리 유지 가능 불가
깨끗한 시작 불가 가능
권한 관리 그대로 유지 새로 설정
권장 상황 환경 이전 새 프로젝트/실습

같이보면 좋은 자료들

2026.01.05 - [Linux] - WSL (WSL2 포함) 정리

 

WSL (WSL2 포함) 정리

WSL(Windows Subsystem for Linux)Windows 환경에서 GNU/Linux 실행 환경을 제공가상 머신이나 듀얼 부팅 없이 Linux용 개발 도구와 소프트웨어를 사용할 수 있게 해주는 Windows의 하위 시스템.기존의 가상화, 듀

ds31x.tistory.com

 

728x90