WSL 사용법 정리: 설치부터 실전 활용까지

핵심 요약
  • WSL 설치부터 배포판 선택, 기본 명령어까지 순서대로 정리합니다.
  • VS Code 연동과 GUI 앱 실행 등 실전 활용법을 다룹니다.
  • .wslconfig로 메모리를 제한해 성능을 최적화하는 방법을 설명합니다.
  • 설치 오류와 네트워크 문제 등 흔한 문제 해결법도 안내합니다.

WSL이란 무엇인가요?

Windows 창 프레임 안에 중첩된 Linux 펭귄 아이콘

WSL(Windows Subsystem for Linux)은 별도의 가상머신이나 듀얼부팅 없이 윈도우 안에서 리눅스 배포판을 실행할 수 있게 해주는 마이크로소프트 공식 기능입니다. 결론부터 말하면, 윈도우 10 버전 2004(빌드 19041) 이상 또는 윈도우 11에서 관리자 권한 PowerShell을 열고 wsl --install 한 줄만 입력하면 리눅스 실행 환경이 자동으로 준비됩니다. 개발자가 Docker, Node.js, Python 같은 리눅스 기반 도구를 쓰거나, 실무에서 리눅스 명령어에 익숙해지고 싶을 때 가장 널리 쓰이는 방법입니다.

WSL은 크게 두 버전으로 나뉩니다. WSL1은 리눅스 시스템 호출을 윈도우 커널이 흉내 내는 방식이고, WSL2는 실제 리눅스 커널을 포함한 경량 가상머신 방식입니다. 2026년 현재는 Docker 호환성과 파일 I/O 성능이 뛰어난 WSL2가 기본값이자 사실상 표준입니다.

WSL 설치 방법

설치 전 확인사항

설치 전에는 윈도우 버전을 먼저 확인해야 합니다. 설정 앱의 시스템 정보에서 버전이 2004 미만이거나 빌드 번호가 19041보다 낮다면 윈도우 업데이트를 먼저 진행해야 wsl --install 명령이 정상 동작합니다. 또한 PowerShell이나 명령 프롬프트를 반드시 관리자 권한으로 실행해야 기능 활성화 과정에서 오류가 나지 않습니다.

기본 설치 명령어

아래 명령 하나로 WSL 기능 활성화, WSL2 설치, 기본 배포판(Ubuntu) 설치, 사용자 계정 생성까지 자동으로 진행됩니다.

wsl --install

설치가 끝나면 컴퓨터를 재시작해야 하며, 재시작 후 처음 실행 시 사용자 이름과 비밀번호를 입력하는 창이 뜹니다. 이 계정은 윈도우 계정과 달라도 되며, 리눅스 안에서 sudo 명령을 쓸 때 필요한 계정입니다.

배포판 목록 확인과 특정 버전 설치

기본값인 Ubuntu 대신 다른 배포판을 쓰고 싶다면, 먼저 설치 가능한 목록을 확인한 뒤 원하는 배포판을 지정해 설치합니다.

wsl --list --online
wsl --install -d Ubuntu-22.04

설치 도중 다운로드가 0%에서 멈추는 경우가 있는데, 이럴 땐 wsl --install --web-download -d <DistroName> 명령으로 웹 다운로드 방식을 강제하면 대부분 해결됩니다.

자주 쓰는 WSL 명령어 정리

어두운 터미널 창에 명령줄과 깜빡이는 커서, 아이콘 및 흐름선이 있는 기술 구성도

배포판 관리 명령어

설치한 배포판이 여러 개라면 상태 확인, 실행, 기본값 변경을 자주 하게 됩니다. 아래 표에 실무에서 가장 많이 쓰는 명령어를 정리했습니다.

명령어 기능
wsl -l -v 설치된 배포판과 실행 상태, WSL 버전 확인
wsl -d Ubuntu-22.04 특정 배포판을 지정해 실행
wsl -s Ubuntu-22.04 기본 배포판 변경
wsl --set-version Ubuntu-22.04 2 특정 배포판을 WSL2로 전환
wsl --shutdown 실행 중인 모든 WSL 배포판 완전 종료
wsl --unregister Ubuntu-22.04 배포판 삭제(데이터 전체 삭제되므로 주의)

파일 시스템 연동

WSL과 윈도우는 서로의 파일 시스템에 접근할 수 있습니다. 리눅스 터미널에서는 /mnt/c/ 경로로 윈도우 드라이브에 접근하고, 반대로 윈도우 탐색기 주소창에 \\wsl$을 입력하면 리눅스 배포판의 전체 파일 시스템을 확인할 수 있습니다.

  • 윈도우 → 리눅스 파일 접근: 탐색기 주소창에 \\wsl$ 입력
  • 리눅스 → 윈도우 파일 접근: 터미널에서 cd /mnt/c/Users
  • IP 주소 확인: 터미널에서 hostname -I

실전 활용 팁

VS Code 연동

VS Code에 WSL 확장(Remote – WSL)을 설치하면 윈도우에서 실행한 VS Code가 리눅스 파일 시스템을 그대로 열어 편집할 수 있습니다. 리눅스 터미널에서 프로젝트 폴더로 이동한 뒤 아래처럼 입력하면 자동으로 연결됩니다.

cd ~/my-project
code .

SSH로 직접 접속하고 싶다면 WSL 안에 OpenSSH 서버를 설치하고 실행한 뒤, 확인한 IP로 접속합니다.

sudo apt update
sudo apt install openssh-server
sudo service ssh start

GUI 앱 실행

윈도우 11에서는 WSLg가 기본 포함되어 있어 별도 설정 없이 리눅스 GUI 애플리케이션을 실행할 수 있습니다. 예를 들어 텍스트 편집기를 설치해 실행하면 윈도우 창으로 그대로 뜹니다.

sudo apt install gedit
gedit

네트워크 접근

WSL에서 실행한 서버는 윈도우의 localhost로 자동 연결됩니다. 예를 들어 리눅스에서 python3 -m http.server 8000을 실행하면, 윈도우 브라우저에서 http://localhost:8000으로 바로 접근할 수 있습니다. 다만 외부 네트워크에서 접근하려면 공유기 포트포워딩 설정이 별도로 필요합니다.

성능 최적화와 리소스 관리

메모리 칩과 게이지 다이얼이 감소하는 리소스 바로 연결된 시각화

.wslconfig로 메모리 제한하기

WSL2는 기본적으로 필요한 만큼 메모리와 CPU를 유동적으로 사용하는데, 개발용 PC에서 다른 프로그램과 리소스를 나눠 써야 한다면 상한선을 정해두는 것이 좋습니다. 사용자 폴더에 .wslconfig 파일을 만들어 아래처럼 설정합니다.

[wsl2]
memory=4GB
processors=2
swap=2GB

설정 파일 경로는 C:\Users\사용자명\.wslconfig이며, 저장 후에는 wsl --shutdown으로 WSL을 완전히 종료했다가 다시 실행해야 설정이 반영됩니다.

파일 위치에 따른 속도 차이

개발 프로젝트는 가급적 /mnt/c/ 아래(윈도우 드라이브)가 아니라 리눅스 파일 시스템 안(예: ~/projects)에 두는 것이 훨씬 빠릅니다. WSL2는 윈도우와 리눅스 간 파일 시스템 경계를 넘나들 때 오버헤드가 발생하므로, git clone이나 npm install처럼 파일 I/O가 많은 작업은 리눅스 홈 디렉터리 안에서 진행하는 것이 체감 속도 차이가 큽니다.

  • 개발 프로젝트는 /mnt/c/ 대신 리눅스 홈 디렉터리에 두기
  • Docker 이미지 빌드도 리눅스 파일 시스템 기준으로 진행하기
  • 불필요하게 큰 배포판은 wsl --unregister로 정리해 디스크 용량 확보하기

자주 발생하는 오류와 해결법

WSL을 처음 설치할 때 자주 마주치는 문제들은 대체로 원인이 정해져 있습니다.

  • 설치가 0%에서 멈춤 → --web-download 옵션을 추가해 재시도
  • 가상화 관련 오류 메시지 → BIOS/UEFI에서 가상화 기술(Intel VT-x, AMD-V)이 꺼져 있는지 확인
  • 배포판 실행 시 커널 업데이트 요구 → wsl --update 명령으로 리눅스 커널만 별도 업데이트
  • WSL2 전환 후 속도가 오히려 느림 → 프로젝트 파일이 /mnt/c/에 있는지 확인 후 리눅스 홈으로 이동

이 목록으로 해결되지 않는 문제라면, 오류 메시지를 그대로 검색하거나 리눅스 명령어 정리: 실무 필수 40선 총정리 글에서 기본 명령어부터 다시 점검해보는 것도 도움이 됩니다.

자주 묻는 질문

Q. WSL1과 WSL2 중 어떤 것을 써야 하나요?

대부분의 경우 WSL2를 권장합니다. 실제 리눅스 커널을 포함해 Docker 호환성이 높고 시스템 호출 처리 속도가 빠릅니다. 다만 윈도우 드라이브(/mnt/c/) 안의 파일에 자주 접근하는 작업은 WSL1이 더 빠를 수 있어, 특수한 경우가 아니라면 WSL2를 기본으로 사용하면 됩니다.

Q. WSL 설치 후 GUI 프로그램이 안 열려요.

윈도우 11은 WSLg가 기본 내장되어 있어 별도 설정 없이 GUI 앱이 실행됩니다. 윈도우 10이라면 WSLg가 지원되지 않는 빌드일 수 있으므로 윈도우 업데이트를 최신 상태로 유지하거나, X서버(VcXsrv 등)를 별도로 설치하는 방법을 검토해야 합니다.

Q. WSL의 리눅스 파일을 윈도우 탐색기에서 열 수 있나요?

가능합니다. 윈도우 탐색기 주소창에 \\wsl$을 입력하면 설치된 배포판 목록이 나타나고, 원하는 배포판을 클릭하면 리눅스 파일 시스템 전체에 접근할 수 있습니다. 단, 성능을 위해 파일 편집은 되도록 VS Code의 Remote – WSL 확장을 사용하는 것이 좋습니다.

Q. WSL을 완전히 삭제하려면 어떻게 하나요?

배포판 단위로 삭제하려면 wsl --unregister <배포판이름>을 실행하면 해당 배포판의 데이터가 전부 삭제됩니다. WSL 기능 자체를 끄려면 제어판의 Windows 기능 켜기/끄기에서 ‘리눅스용 Windows 하위 시스템’ 항목의 체크를 해제하고 재부팅하면 됩니다.

Q. WSL에서 Docker를 반드시 Docker Desktop과 함께 써야 하나요?

필수는 아닙니다. WSL2는 리눅스 커널을 포함하므로 Docker Desktop 없이도 리눅스 배포판 안에 Docker 엔진을 직접 설치해 사용할 수 있습니다. 다만 윈도우와의 통합, GUI 관리 편의성을 원한다면 Docker Desktop을 설치해 WSL2 백엔드로 연결하는 조합이 일반적으로 더 안정적입니다.

관련 글 보기