WSL Ubuntu 복제 및 새 환경 만들기 (Export / Import 완벽 가이드)
WSL에서 여러 개의 우분투 환경을 운영하는 방법을, RootFS로 새로 설치하는 길과 기존 환경을 Export/Import로 복제하는 길 두 가지로 나눠 명령어와 함께 정리했습니다.
왜 필요한가 · 개발·블로그·AI 실험처럼 목적이 다른 작업을 한 우분투에 몰아넣으면 패키지 충돌과 설정 꼬임이 생기기 쉬워, 환경을 분리해 운영하는 방법이 필요하기 때문입니다.
누구에게 · WSL을 쓰고 있고, 우분투 환경을 여러 개로 나눠 쓰거나 기존 환경을 백업·복제하고 싶은 사용자
읽고 나면 · RootFS로 새 우분투를 만들거나 기존 환경을 통째로 복제하고, 목적별로 WSL을 분리해 관리할 수 있습니다.
핵심 요약
- WSL은 우분투 하나가 아니라 독립된 리눅스 환경 여러 개를 동시에 운영할 수 있는 플랫폼입니다.
- 완전히 새 환경이 필요하면 Ubuntu RootFS를 받아
wsl --import로 설치하고, 기존 환경을 그대로 쓰려면wsl --export→wsl --import로 복제합니다. - Import는 '복제'라 사용자 계정·SSH 키·설치 패키지까지 그대로 따라옵니다. 깨끗한 환경을 원하면 RootFS 새 설치를 택하세요.
WSL을 쓰다 보면 “지금 환경은 그대로 두고, 블로그용·AI 실험용 환경을 따로 두고 싶다”는 순간이 옵니다. 개발·블로그·실험을 한 우분투에 다 몰아넣으면 패키지 버전이 충돌하거나 설정이 꼬이기 쉽기 때문입니다.
WSL은 사실 우분투 하나만 돌리는 도구가 아니라, 독립된 리눅스 환경을 여러 개 동시에 운영할 수 있는 플랫폼입니다. 이 글에서는 환경을 늘리는 두 가지 길을 명령어와 함께 정리합니다.
- Ubuntu RootFS를 받아 새 환경 생성 — 깨끗한 새 환경
- 기존 환경을 Export 후 다른 이름으로 Import해 복제 — 지금 환경을 통째로 복사
먼저: 현재 설치된 WSL 확인
무엇을 하든, 지금 어떤 WSL이 깔려 있는지부터 확인합니다. PowerShell에서 실행합니다.
wsl -l -v
예시 출력:
NAME STATE VERSION
* Ubuntu Running 2
방법 1. Ubuntu를 새로 설치하기 (RootFS)
기존 환경과 완전히 분리된 깨끗한 우분투가 필요할 때 쓰는 방법입니다.
1) Ubuntu WSL RootFS 다운로드
캐노니컬이 제공하는 공식 WSL용 RootFS 이미지를 내려받습니다.
- 24.04 LTS RootFS: https://cloud-images.ubuntu.com/wsl/releases/24.04/current/ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz
- 버전별 목록: https://cloud-images.ubuntu.com/wsl/releases/24.04/current/
2) 설치 폴더 만들기
환경이 저장될 폴더를 미리 만들어 둡니다. 용량이 늘어날 수 있으니 여유 있는 드라이브(예: D)를 권합니다.
mkdir D:\WSL\Ubuntu-Blog
3) Import로 새 환경 생성
내려받은 RootFS 파일을 새 이름으로 등록합니다.
wsl --import Ubuntu-Blog D:\WSL\Ubuntu-Blog C:\Downloads\ubuntu-noble-wsl-amd64-24.04lts.rootfs.tar.gz
명령의 세 인자는 각각 다음을 뜻합니다.
Ubuntu-Blog ← 새로 만들 WSL 이름
D:\WSL\Ubuntu-Blog ← 이 환경이 저장될 폴더
ubuntu-...tar.gz ← 방금 받은 RootFS 파일 경로
4) 최초 실행
wsl -d Ubuntu-Blog
RootFS로 만든 환경은 처음에 root 계정으로 로그인됩니다. 일상적으로 쓸 일반 사용자를 만들어 줍니다.
5) 사용자 생성과 sudo 권한
우분투 안(리눅스 셸)에서 실행합니다.
adduser blog
usermod -aG sudo blog
adduser는 비밀번호 등 정보를 물어보며 계정을 만들고, usermod -aG sudo는 그 계정에 관리자(sudo) 권한을 더합니다.
6) 기본 사용자 설정
실행할 때마다 root가 아니라 방금 만든 계정으로 들어오게 합니다. /etc/wsl.conf를 편집합니다.
sudo nano /etc/wsl.conf
아래 내용을 적고 저장합니다.
[user]
default=blog
7) WSL 재시작
설정을 적용하려면 해당 환경을 한 번 종료했다가 다시 켭니다. PowerShell에서:
wsl --terminate Ubuntu-Blog
wsl -d Ubuntu-Blog
이제 blog 계정으로 자동 로그인됩니다.
💡 Tip
새 환경을 만들 때 root로만 쓰다가 나중에 권한 문제로 고생하기 쉽습니다. 처음에 일반 사용자 만들고 기본 사용자로 지정하는 단계까지 끝내 두면, 그다음부터는 훨씬 편합니다.
방법 2. 기존 Ubuntu 환경 복제하기 (Export / Import)
지금 쓰는 환경에 이미 Node.js·Python·각종 도구가 깔려 있다면, 그걸 통째로 복사하는 방법입니다.
Ubuntu
├─ 사용자: tbalja
├─ Node.js
├─ Python
└─ 각종 개발 도구
이 상태를 그대로 다른 이름의 환경으로 복제할 수 있습니다.
1) Export (백업 파일로 내보내기)
PowerShell에서 원본 환경을 하나의 .tar 파일로 내보냅니다.
wsl --export Ubuntu D:\Backup\ubuntu_backup.tar
Ubuntu ← 내보낼 원본 WSL 이름
ubuntu_backup.tar ← 만들어질 백업 파일
이 .tar 파일은 그 자체로 백업본이기도 합니다. 다른 PC로 옮겨 복원할 수도 있습니다.
2) Import (새 이름으로 복원/복제)
저장 폴더를 만들고, 백업 파일을 새 이름으로 들여옵니다.
mkdir D:\WSL\Ubuntu-Test
wsl --import Ubuntu-Test D:\WSL\Ubuntu-Test D:\Backup\ubuntu_backup.tar
확인:
wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
Ubuntu-Test Stopped 2
주의 — Import는 “복제”입니다
Export/Import는 환경을 그대로 복사하므로, 아래 내용이 전부 함께 따라옵니다.
- 사용자 계정
- SSH 키
- 설치된 패키지
- 환경 변수
- Node.js / Python / Docker 설정 등
즉, 이런 상태가 됩니다.
Ubuntu
└─ tbalja
Ubuntu-Test
└─ tbalja ← 계정·키까지 동일하게 복제됨
사용자 계정과 키까지 똑같은 게 편할 때도 있지만, 완전히 새로운(깨끗한) 환경을 원한다면 Export/Import가 아니라 방법 1의 RootFS 새 설치를 택하는 편이 낫습니다.
WSL 관리 명령 모음
여러 환경을 운영하다 보면 자주 쓰게 되는 명령들입니다. 모두 PowerShell에서 실행합니다.
특정 환경 실행하기
wsl -d Ubuntu
wsl -d Ubuntu-Blog
특정 환경 종료하기
wsl --terminate Ubuntu-Blog
환경 삭제하기
wsl --unregister Ubuntu-Test
⚠️
--unregister는 해당 WSL의 모든 데이터를 삭제합니다. 되돌릴 수 없으니 이름을 꼭 확인하세요.
설치 목록 확인
wsl --list --verbose
이 명령은 배포판 이름·상태·버전만 보여줍니다. 실제 설치 경로(VHDX 파일 위치)는 나오지 않습니다.
실제 설치 경로(VHDX) 확인
설치 경로는 레지스트리의 BasePath 값에 들어 있습니다. PowerShell에서 다음처럼 한 번에 뽑아볼 수 있습니다.
Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object { Get-ItemProperty $_.PSPath | Select-Object DistributionName, BasePath }
설치 경로를 옮기고 싶다면 레지스트리를 직접 고치지 마세요.
wsl --export로 백업한 뒤 원하는 폴더에wsl --import하는 방식이 안전합니다.
추천 구성 — 목적별로 환경 분리하기
환경을 나눌 때는 “용도 하나에 환경 하나”를 기준으로 두면 관리가 단순해집니다.
Ubuntu
├─ 사용자: tbalja
└─ 앱 개발
Ubuntu-Blog
├─ 사용자: blog
├─ Node.js / PM2
└─ 블로그 자동화
Ubuntu-AI
├─ 사용자: ai
├─ Python
├─ Ollama
└─ AI 실험
이렇게 분리하면 한쪽에서 패키지를 갈아끼워도 다른 환경에 영향이 없어, 충돌이나 설정 꼬임 없이 독립적으로 유지할 수 있습니다.
환경 분리 체크리스트
wsl -l -v로 현재 설치된 환경을 확인했다- 깨끗한 환경이 필요한지(RootFS), 기존 환경 복제가 필요한지(Export/Import) 정했다
- 새 환경의 저장 폴더를 여유 있는 드라이브에 만들었다
- (RootFS) 일반 사용자 생성과 기본 사용자 설정까지 마쳤다
- 쓰지 않는 환경은
wsl --terminate로 꺼 두고 있다
정리
WSL은 리눅스 하나를 실행하는 도구가 아니라, 여러 독립 환경을 동시에 굴릴 수 있는 플랫폼입니다.
- 깨끗한 새 환경이 필요하면 RootFS를 받아
wsl --import - 기존 환경을 그대로 쓰려면
wsl --export→wsl --import로 복제 - 목적별로 분리해 두면 충돌이 줄고 유지보수가 편해집니다
환경이 여러 개가 되면 윈도우와 리눅스 사이 파일을 오갈 일도 많아지는데, 그 흐름은 윈도우·리눅스 파일 공유 글에서 이어서 보면 좋습니다.
자주 묻는 질문
- Export/Import 복제와 RootFS 새 설치, 무엇을 골라야 하나요?
- 기존에 깔아둔 Node.js·Python·도구를 그대로 쓰고 싶다면 Export/Import 복제가 빠릅니다. 반대로 사용자 계정·키·설정이 섞이지 않은 깨끗한 환경이 필요하면 RootFS를 새로 받아 설치하는 편이 좋습니다.
- 환경을 여러 개 만들면 윈도우가 느려지지 않나요?
- WSL 환경은 실행 중일 때만 자원을 씁니다. 쓰지 않는 환경은
wsl --terminate로 꺼두면 되고, 평소 메모리를 차지하지 않습니다. 다만 디스크 용량은 환경 수만큼 늘어나니, 설치 위치(예: D 드라이브)를 정해 두는 편이 좋습니다. - 복제한 환경을 지우고 싶으면 어떻게 하나요?
wsl --unregister <이름>으로 등록 해제하면 해당 환경의 모든 데이터가 삭제됩니다. 되돌릴 수 없으니 이름을 정확히 확인하고 실행하세요.
이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.