공식 문서: How to install Linux on Windows with WSL, Manual installation steps for older versions of WSL, Basic commands for WSL
WSL(Windows Subsystem for Linux) 은 Windows 위에서 Linux 환경을 사용할 수 있게 해주는 기능이다. 별도 가상 머신을 직접 만들지 않아도 Ubuntu 같은 Linux distribution을 설치하고 Bash, apt, gcc, Python, Docker 같은 도구를 사용할 수 있다.
이 글에서는 Windows 10/11에서 WSL2와 Ubuntu를 설치하는 기본 흐름을 정리한다.
설치 조건
Microsoft 공식 문서 기준으로 아래 명령어 방식은 다음 환경에서 사용할 수 있다.
| 항목 | 조건 |
|---|---|
| Windows 11 | 지원 |
| Windows 10 | Version 2004 이상, Build 19041 이상 |
Windows 버전은 PowerShell이나 실행 창에서 다음 명령어로 확인할 수 있다.
winver
Windows 10의 오래된 버전을 사용 중이라면 Windows Update를 먼저 진행하는 것이 좋다.
WSL 설치
PowerShell을 관리자 권한으로 실행한다.
시작 메뉴에서 PowerShell을 검색한 뒤, Run as administrator로 실행하면 된다.
관리자 PowerShell에서 다음 명령어를 입력한다.
wsl --install
이 명령어는 WSL 실행에 필요한 Windows 기능을 활성화하고, 기본 Linux distribution인 Ubuntu를 설치한다.
설치가 끝나면 Windows를 재부팅한다.
Restart-Computer
재부팅 후 Ubuntu terminal이 열리면 Linux 사용자 이름과 비밀번호를 만든다. 이 계정은 Windows 계정과 별개인 Ubuntu 내부 계정이다.
특정 배포판 설치
기본값은 Ubuntu이다. 설치 가능한 distribution 목록은 다음 명령어로 확인한다.
wsl --list --online
줄여서 다음처럼 쓸 수도 있다.
wsl -l -o
특정 distribution을 설치하려면 -d option을 사용한다.
wsl --install -d Ubuntu
예를 들어 Debian을 설치하려면 다음처럼 입력한다.
wsl --install -d Debian
Windows 10이나 일부 환경에서는 distribution 이름을 명시해야 설치가 더 안정적으로 진행될 수 있다.
WSL2 확인
설치된 distribution과 WSL version은 다음 명령어로 확인한다.
wsl --list --verbose
줄여서 다음처럼 쓸 수도 있다.
wsl -l -v
출력 예시는 다음과 같다.
NAME STATE VERSION
* Ubuntu Running 2
VERSION이 2이면 WSL2로 실행 중인 것이다.
새로 설치되는 distribution의 기본 version을 WSL2로 지정하려면 다음 명령어를 사용한다.
wsl --set-default-version 2
이미 설치된 distribution을 WSL2로 변경하려면 다음처럼 입력한다.
wsl --set-version Ubuntu 2
여기서 Ubuntu는 wsl -l -v에 표시되는 distribution 이름이다.
WSL 업데이트
WSL 자체를 최신 버전으로 업데이트하려면 다음 명령어를 사용한다.
wsl --update
현재 WSL 상태는 다음 명령어로 확인한다.
wsl --status
WSL version 정보는 다음 명령어로 확인한다.
wsl --version
구버전 Windows 10에서 수동 설치
Windows 10 구버전에서는 wsl --update 또는 wsl --install -d Ubuntu-22.04 명령어가 동작하지 않을 수 있다.
이 경우 최신 명령어 방식 대신 WSL 기능을 직접 켜고, WSL2 Linux kernel update package와 Ubuntu package를 수동으로 설치하면 된다.
구버전 WSL 환경에서는 wsl --update가 없을 수 있으므로, WSL 기능 활성화, WSL2 kernel MSI 설치, Ubuntu appx 설치 순서로 진행한다.
1. WSL2 기능 켜기
관리자 PowerShell에서 Windows Subsystem for Linux 기능을 활성화한다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
그 다음 WSL2에 필요한 Virtual Machine Platform 기능을 활성화한다.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
두 명령을 실행한 뒤 Windows를 재부팅한다.
Restart-Computer
2. WSL2 kernel update package 설치
구버전 Windows 10에서는 WSL2 Linux kernel update package를 수동으로 설치해야 할 수 있다. x64 환경이라면 Microsoft에서 제공하는 MSI installer를 내려받아 실행한다.
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
설치가 끝나면 새로 설치되는 distribution의 기본 WSL version을 2로 지정한다.
wsl --set-default-version 2
3. Ubuntu 22.04 수동 설치
Microsoft Store를 사용할 수 없거나 Store 설치가 실패한다면 Ubuntu package를 직접 내려받아 설치할 수 있다.
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu2204.appx
다운로드한 appx package를 설치한다.
Add-AppxPackage .\Ubuntu2204.appx
설치가 끝나면 시작 메뉴에서 Ubuntu 22.04 LTS를 실행한다.
처음 실행할 때 Ubuntu 파일이 풀리고, Linux 사용자 이름과 비밀번호를 설정하게 된다.
수동 설치 후에도 WSL version은 반드시 확인한다.
wsl -l -v
출력에서 Ubuntu의 VERSION이 2이면 WSL2로 실행 중인 것이다.
NAME STATE VERSION
* Ubuntu-22.04 Running 2
Ubuntu 기본 설정
Ubuntu에 들어간 뒤 package index를 업데이트한다.
sudo apt update
설치된 package를 업그레이드한다.
sudo apt upgrade -y
자주 쓰는 기본 도구를 설치한다.
sudo apt install -y build-essential curl wget git vim
설치 확인은 다음처럼 한다.
git --version
gcc --version
Windows와 파일 경로
WSL 안에서는 Windows의 C drive가 /mnt/c에 mount된다.
예를 들어 Windows의 C:\Users\br4c3\Downloads는 WSL에서 다음 경로로 접근할 수 있다.
/mnt/c/Users/br4c3/Downloads
반대로 Windows Explorer에서 WSL 파일을 보고 싶다면 주소창에 다음을 입력한다.
\\wsl$
개발 프로젝트는 가능하면 WSL 내부 home directory에 두는 것이 좋다.
cd ~
mkdir Projects
Windows 파일 시스템인 /mnt/c 아래에서 Linux 개발 도구를 많이 돌리면 I/O가 느리거나 권한 문제가 생길 수 있다.
WSL 실행과 종료
기본 distribution을 실행하려면 PowerShell에서 다음을 입력한다.
wsl
특정 distribution을 실행하려면 다음처럼 입력한다.
wsl --distribution Ubuntu
WSL 안에서 빠져나오려면 다음을 입력한다.
exit
모든 WSL distribution과 WSL2 VM을 종료하려면 PowerShell에서 다음을 입력한다.
wsl --shutdown
특정 distribution만 종료하려면 다음처럼 입력한다.
wsl --terminate Ubuntu
기본 distribution 변경
여러 distribution을 설치했다면 기본 distribution을 바꿀 수 있다.
먼저 설치 목록을 확인한다.
wsl -l -v
기본 distribution을 Ubuntu로 바꾸려면 다음처럼 입력한다.
wsl --set-default Ubuntu
이후 PowerShell에서 wsl만 입력하면 Ubuntu가 실행된다.
자주 쓰는 명령어
| 명령어 | 의미 |
|---|---|
wsl --install | WSL과 기본 Ubuntu 설치 |
wsl -l -o | 설치 가능한 distribution 목록 |
wsl -l -v | 설치된 distribution과 WSL version 확인 |
wsl --set-default-version 2 | 새 distribution의 기본 version을 WSL2로 설정 |
wsl --set-version Ubuntu 2 | Ubuntu를 WSL2로 변경 |
wsl --update | WSL 업데이트 |
wsl --status | WSL 상태 확인 |
wsl --shutdown | 실행 중인 WSL 종료 |
Add-AppxPackage .\Ubuntu2204.appx | Store 없이 Ubuntu package 수동 설치 |
문제 상황
wsl --install을 실행했는데 도움말만 출력된다면 이미 WSL이 설치되어 있을 수 있다.
이 경우 설치 가능한 distribution 목록을 확인하고 직접 설치한다.
wsl --list --online
wsl --install -d Ubuntu
설치가 0%에서 멈춘다면 Microsoft Store 대신 web download option을 사용할 수 있다.
wsl --install --web-download -d Ubuntu
wsl --update가 없는 경우에는 Windows에 포함된 WSL이 구버전일 가능성이 크다.
이때는 위의 구버전 Windows 10 수동 설치 절차처럼 WSL 기능을 dism.exe로 활성화하고, WSL2 kernel update package를 MSI로 설치한다.
가상화 관련 오류가 난다면 BIOS/UEFI에서 CPU virtualization이 켜져 있는지 확인해야 한다.
Intel CPU는 보통 Intel Virtualization Technology, AMD CPU는 SVM Mode 같은 이름으로 표시된다.
정리
WSL2 설치 흐름은 다음과 같다.
- Windows 10 Version 2004 이상 또는 Windows 11인지 확인한다.
- 관리자 PowerShell에서
wsl --install을 실행한다. - 재부팅 후 Ubuntu 사용자 이름과 비밀번호를 만든다.
wsl -l -v로 WSL2 여부를 확인한다.- Ubuntu에서
sudo apt update,sudo apt upgrade -y를 실행한다. - 프로젝트는 가능하면 WSL 내부 home directory에 둔다.
구버전 Windows 10에서 wsl --update나 wsl --install -d Ubuntu-22.04가 동작하지 않는다면 수동 설치 절차를 사용한다.
핵심은 WSL 기능 활성화, WSL2 kernel MSI 설치, Ubuntu appx 설치다.
Windows에서 Linux 개발 환경을 가장 간단하게 시작하려면 WSL2와 Ubuntu 조합이 무난하다.