Windows 11 WSL2 설치 및 Ubuntu 개발 환경 구축 완벽 가이드

Windows 11 환경에서 리눅스(Linux) 기반 개발을 시작할 때 가장 빠르고 강력한 방법은 WSL2(Windows Subsystem for Linux 2)를 사용하는 것입니다. 과거에는 무거운 가상머신(VirtualBox, VMware)이나 듀얼 부팅을 이용해야 했지만, 이제는 윈도우 터미널에서 단 한 줄의 명령어로 실제 리눅스 커널 기반의 Ubuntu 환경을 완벽하게 실행할 수 있습니다.

목차

  1. WSL2란 무엇이며 가상머신과 어떻게 다를까
  2. 설치 전 필수 확인 사항 (하드웨어 가상화 활성화)
  3. Windows 11 WSL2 및 Ubuntu 단계별 설치 방법
  4. VS Code 연동 및 필수 개발 환경 구성
  5. WSL2 핵심 성능 최적화: 파일 시스템 및 메모리 관리
  6. 자주 발생하는 오류 및 문제 해결(Troubleshooting)
  7. 자주 묻는 질문 (FAQ)
  8. 결론 및 다음 단계
  9. 출처 및 참고 사이트

1. WSL2란 무엇이며 가상머신과 어떻게 다를까

WSL2는 Microsoft가 경량 가상화 기술(Hyper-V 서브셋)을 활용하여 윈도우 내부에서 실제 리눅스 커널을 구동할 수 있도록 만든 공식 기능입니다. 시스템 전체를 에뮬레이션하는 일반 가상머신과 달리, 윈도우 OS와 리소스 및 네트워크를 유기적으로 공유하므로 부팅 속도가 빠르고 가볍습니다.

구분WSL2전통적 가상머신 (VMware / VirtualBox)WSL1 (이전 버전)
리눅스 커널실제 커널 (Microsoft 최적화)독립된 전체 OS 가상화에뮬레이션 계층 (커널 없음)
부팅 시간1~2초 이내30초~1분 이상즉시 실행
시스템 리소스 소모필요할 때만 동적 할당사전 고정 할당 (무거움)매우 낮음
시스템 호출 호환성100% 완전 호환 (Docker 지원)100% 완전 호환일부 미지원
윈도우 파일 연동완벽 지원 (CLI & 탐색기)공유 폴더 설정 필요지원

2. 설치 전 필수 확인 사항 (하드웨어 가상화 활성화)

WSL2를 정상 작동시키려면 메인보드(BIOS/UEFI)에서 하드웨어 가상화 기술이 활성화되어 있어야 합니다.

가상화 상태 확인 단계

  • 단축키 Ctrl + Shift + Esc를 눌러 작업 관리자를 실행합니다.
  • 상단 또는 좌측 메뉴에서 성능 탭을 클릭한 뒤 CPU를 선택합니다.
  • 우측 하단 세부 항목 중 가상화 항목이 사용으로 표시되어 있는지 확인합니다.

3. Windows 11 WSL2 및 Ubuntu 단계별 설치 방법

Windows 11에서는 단 하나의 명령어로 WSL 기능 활성화, 최신 커널 업데이트, Ubuntu 기본 배포판 설치까지 모두 한 번에 처리할 수 있습니다.

Step 1. 터미널 관리자 권한 실행

Windows 시작 버튼을 마우스 우클릭한 후 터미널(관리자) 또는 PowerShell(관리자)을 실행합니다.

Step 2. 기본 설치 명령어 입력

wsl --install

위 명령어를 실행하면 최신 리눅스 커널 패키지 다운로드와 함께 기본 배포판인 Ubuntu가 자동으로 설치됩니다.

특정 배포판을 지정하여 설치하고 싶은 경우:
사용 가능한 배포판 목록 확인: wsl --list --online
원하는 버전 지정 설치(예: Ubuntu 24.04): wsl --install -d Ubuntu-24.04

Step 3. 시스템 재부팅 및 초기 계정 설정

설치가 완료되면 화면의 안내에 따라 컴퓨터를 재부팅합니다. 재부팅 후 몇 초 이내에 Ubuntu 터미널 창이 자동으로 열리며 초기 설정이 시작됩니다.

  • Enter new UNIX username: → 사용할 사용자 이름을 영문 소문자로 입력합니다.
  • New password: → 사용할 비밀번호를 입력합니다. (보안상 화면에 글자나 별표가 보이지 않으나 정상 입력 중입니다.)
  • Retype new password: → 비밀번호를 한 번 더 입력합니다.

Step 4. 패키지 업데이트 및 최신화

계정 생성이 끝나면 다음 명령어를 실행하여 리눅스 패키지 목록을 최신 상태로 갱신합니다.

sudo apt update && sudo apt upgrade -y

4. VS Code 연동 및 필수 개발 환경 구성

WSL2 내부의 파일과 툴체인을 윈도우용 Visual Studio Code(VS Code)와 결합하면 네이티브 리눅스 수준의 쾌적한 개발 경험을 누릴 수 있습니다.

1) VS Code 확장 프로그램 설치

  • Windows에 설치된 VS Code를 실행합니다.
  • 좌측 확장(Extensions) 탭(Ctrl + Shift + X)에서 WSL (Microsoft 공식)을 검색하여 설치합니다.

2) WSL 터미널에서 VS Code 즉시 열기

Ubuntu 터미널 창에서 작업할 프로젝트 폴더를 만들고 code . 명령어를 입력하면, 해당 리눅스 경로를 바탕으로 VS Code가 즉시 실행됩니다.

mkdir ~/dev-project
cd ~/dev-project
code .

VS Code 좌측 하단 상태 표시줄에 WSL: Ubuntu가 파란색으로 표시되면 리눅스 환경과 정상 연동된 것입니다.

3) 필수 개발 도구(Git & Zsh) 설치 (선택사항)

# Git 설치 및 기본 설정
sudo apt install git -y
git config --global user.name "당신의이름"
git config --global user.email "당신의이메일@example.com"

5. WSL2 핵심 성능 최적화: 파일 시스템 및 메모리 관리

WSL2를 실무에서 쾌적하게 사용하기 위해서는 파일 저장 위치와 메모리 할당 기준을 올바르게 이해해야 합니다.

가장 중요한 규칙: 리눅스 파일 시스템 내부에서 작업하기

윈도우 드라이브 경로(예: /mnt/c/Users/...)에서 npm install, cargo build, git status 등을 실행하면 파일 입출력(I/O) 성능이 최대 10배 이상 저하됩니다.

  • 권장 경로: /home/사용자명/projects/ (리눅스 루트 파일 시스템)
  • 비권장 경로: /mnt/c/... (윈도우 마운트 드라이브)

윈도우 파일 탐색기에서 리눅스 파일 접근하기:
Ubuntu 터미널에서 explorer.exe .를 입력하면 현재 리눅스 디렉터리가 윈도우 탐색기 창으로 즉시 열립니다. (경로: \\wsl$\Ubuntu\home\...)

메모리 과점유 방지 (.wslconfig 설정)

WSL2는 시스템 메모리를 동적으로 사용하지만, 대규모 빌드 작업 시 메모리를 과도하게 점유할 수 있습니다. 이를 방지하려면 상한선을 설정할 수 있습니다.

  • 윈도우 키 + R을 누르고 %UserProfile%을 입력하여 사용자 홈 폴더로 이동합니다.
  • 해당 위치에 .wslconfig 파일을 생성하고 다음 내용을 입력 후 저장합니다.
[wsl2]
memory=8GB   # 시스템 메모리에 맞게 조절 (예: 16GB RAM PC의 경우 6GB~8GB 권장)
processors=4 # 사용할 가상 CPU 코어 수

설정 적용을 위해 PowerShell(관리자)에서 WSL을 재시작합니다.

wsl --shutdown

6. 자주 발생하는 오류 및 문제 해결(Troubleshooting)

오류 1: 0x80370102 또는 ‘가상화가 비활성화되어 있습니다’

원인: BIOS에서 CPU 가상화(VT-x/SVM)가 꺼져 있거나 Hyper-V 관련 기능이 비활성화된 경우입니다.
해결 방법: BIOS에 진입하여 가상화 기술을 켜고, 윈도우 ‘기능 켜기/끄기’에서 Virtual Machine Platform(가상 머신 플랫폼)이 체크되어 있는지 확인합니다.

오류 2: WSL 버전이 1로 실행되는 경우

설치된 배포판의 버전을 확인하려면 PowerShell에서 wsl -l -v를 실행합니다. VERSION 열에 1로 표시되어 있다면 다음 명령어로 WSL2로 전환합니다.

wsl --set-version Ubuntu 2
wsl --set-default-version 2

7. 자주 묻는 질문 (FAQ)

Q. WSL2를 사용하면 Windows가 느려지거나 무거워지지 않나요?

아닙니다. WSL2는 상시 구동되는 무거운 가상머신과 달리 터미널을 사용할 때만 필요한 메모리를 유동적으로 사용하며, 터미널을 종료하고 일정 시간이 지나면 리소스를 반환합니다. 필요한 경우 .wslconfig 파일로 최대 메모리 사용량을 제어할 수 있습니다.

Q. Docker Desktop 없이도 WSL2 내부에서 Docker를 쓸 수 있나요?

네, 가능합니다. Ubuntu 터미널 내부에서 일반 리눅스 환경과 동일하게 docker.io 패키지 또는 공식 도커 저장소를 등록하여 CLI 환경으로 직접 설치 및 구동할 수 있습니다. GUI 편의성이 필요하다면 Docker Desktop의 WSL2 통합 백엔드를 활성화하여 사용할 수도 있습니다.

Q. GUI(그래픽 화면)가 필요한 리눅스 앱도 실행할 수 있나요?

네, Windows 11에서는 WSLg(WSL GUI)가 기본 내장되어 있어 별도의 X-Server 설정 없이도 리눅스용 브라우저, 텍스트 에디터(Gedit) 등 GUI 프로그램을 명령어로 실행하면 윈도우 창 형태로 자연스럽게 팝업됩니다.

Q. 리눅스를 완전히 초기화하거나 삭제하고 다시 설치하려면 어떻게 하나요?

PowerShell에서 wsl --unregister Ubuntu 명령어를 입력하면 해당 배포판과 내부 데이터가 완전히 삭제됩니다. 이후 다시 wsl --install -d Ubuntu를 입력하여 깨끗한 상태로 재설치할 수 있습니다.

8. 결론 및 다음 단계

Windows 11의 WSL2는 윈도우의 편리한 사용자 인터페이스와 리눅스의 강력한 개발 생태계를 완벽하게 결합한 환경입니다. 본 가이드의 절차대로 기본 설치 → VS Code 연동 → 리눅스 파일 시스템(~) 기반 프로젝트 생성 순서를 지켜 세팅하면 쾌적하고 빠른 개발 환경을 구축할 수 있습니다.

Microsoft 공식 WSL 설치 문서 확인하기

9. 출처 및 참고 사이트

댓글 남기기