본문 바로가기
Development

WSL 2 특징 및 설치방법

by 곽동현 IMCOMKING 2019. 11. 8.

WSL 2의 특징

WSL 2에서야 Windows 10은 진정한 ubuntu와의 결합이 이루어졌다고 말한다. WSL 1은 파일시스템이 제대로 통합되지 않아, 다수의 파일을 처리하는 작업이 매우 느렸는데, 이제 기존보다 훨씬 빠른 파일 시스템을 제공하고, 더 많은 커널함수를 구현하여 ubuntu native docker를 설치할 수가 있다. 그러나 아직까지는 CUDA를 지원하지 않고, 여러 안정화가 덜되어있어서 불편한 사항이 있다. 좋은 점은 모든 인터페이스가 WSL 1과 완전히 동일하여 적응하는 데 거의 코스트가 들지 않는다는 점이다.

 

WSL 2 Public Release 소식(2020.05.21)

드디어 Windows 10에서 정식으로 WSL 2가 release되었다. 이제 불안정한 윈도우즈 참가자 프로그램(Insider Program)에 가입하지 않아도 강력한 WSL 2의 기능을 사용해볼 수 있다. 게다가 WSL 2에서 cuda와 docker 또한 사용할 수 있다고 한다. 

 

WSL 2 설치 조건: 윈도우 최신 업데이트

아마 대부분의 사용자는 이미 2020.5.21자 windows 10 - 2004 버전으로 업데이트가 되었을 것이다. 그렇지만 확인삼아 체크해보자.

 

윈도우키-설정-시스템-정보에서 버전이 2004이상인지 확인한다.

만약 그렇지 않다면, Windows 업데이트에서 최신 버전으로 업데이트해주자.

 

WSL 2 설치: (이미 WSL 1을 사용하던 유저는 4번 항목만 실행)

0. WSL 1을 설치한다.

1. Windows Insider Program에 초기버전으로 가입해서 최신 빌드를 설치한다.

2. Powershell을 관리자모드로 실행하고, 다음을 입력한다.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

3. 재부팅

 

4. 파워 쉘에서 다음을 입력해 wsl 1을 wsl 2로 바꾼다.
wsl --list -v: OS확인

wsl --set-version Ubuntu-16.04 2

(만약 다시 wsl 1으로 돌아가려면, wsl --set-version Ubuntu-16.04 1 을 입력한다.)

https://docs.microsoft.com/en-us/windows/wsl/wsl2-install

https://www.lesstif.com/pages/viewpage.action?pageId=71401661

 

* 다양한 버전의 Ubuntu 설치 링크: https://docs.microsoft.com/ko-kr/windows/wsl/install-win10#install-your-linux-distribution-of-choice

 

WSL 2 설치 관련 Troubleshooting

WLS 2로 업데이트하려고, 시도했는데 다음의 에러가 뜰 경우

1. WSL 2에 커널 구성 요소 업데이트가 필요합니다.

Windows 10 - 2004 이상의 버전인데도 불구하고 이런 에러가 뜬다면, 아래의 링크에 접속하여 "Linux 커널 업데이트 패키지 다운로드"의 파일(wsl_update_x64.msi)을 설치한다.

https://docs.microsoft.com/ko-kr/windows/wsl/wsl2-kernel

 

WSL 2 Linux 커널 업데이트

WSL 2 Linux 커널을 수동으로 업데이트하는 방법에 대한 지침입니다.

docs.microsoft.com

 

2. 가상 컴퓨터 플랫폼 Windows 기능을 사용하도록 설정하고 BIOS에서 가상화가 사용하도록 설정되어 있는지 확인하세요.

PowerShell을 관리자 권한으로 열어실행하고, 다음을 입력한다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

https://docs.microsoft.com/ko-kr/windows/wsl/install-win10#enable-the-virtual-machine-platform-optional-component


3. 가상 디스크 시스템 제한으로 인해 요청한 작업을 완료할 수 없습니다. 가상 하드 디스크 파일은 압축이 풀려 있는 상태이고 암 호화되지 않아야 하며 스파스가 아니어야 합니다.

위의 에러가 발생하면 다음과 같이 압축특징을 해제한다.(내 경우 모든 하위폴더에 적용해야 해결되었다.)

그리고 파워쉘에서 다음을 실행후 재부팅한다.

fsutil behavior set disableencryption 1

fsutil behavior set disablecompression 1

https://github.com/microsoft/WSL/issues/4103

 

 

WSL 2에 CUDA driver 설치하기

드디어 WSL 2를 위한 cuda driver가 나왔다. 

https://developer.nvidia.com/cuda/wsl

6월 중에 Windows Insider Program에 도입된다고 한다.

- 그러나 아직 WSL2에서의 cuda driver가 최적화가 되어있지 않아서, 속도는 바닐라 Ubuntu에 비해 훨씬 느리다.

https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/nvidia-linux/1189634-an-early-benchmark-of-the-nvidia-cuda-gpu-performance-on-wsl2

 

An Early Benchmark Of The NVIDIA CUDA GPU Performance On WSL2 - Phoronix Forums

Phoronix: An Early Benchmark Of The NVIDIA CUDA GPU Performance On WSL2 Our recent benchmarks have shown WSL/WSL2 performance on the latest Windows 10 builds to generally be quite good compared to running bare metal Linux. But past the May 2020 Update and

www.phoronix.com

 

JetBrain 계열 terminal 을 wsl 로 적용하시는 방법
Settings>Tools>Terminal
Application Settings 의 Shell path를 C:\Windows\System32\wsl.exe 로 지정

 

 

 


 

 

2주간의 Windows Insider Program을 통한 WSL 2 사용후기

(이는 2020년 1월의 사용 경험으로, 5월 출시한 버전과 다를 수 있습니다.)

WSL 2자체적으로도 아직 필수 기능이 구현되지 않은 문제들은 남아 있었고, 특히나 Windows Insider Program에 가입해서 강제로 beta버전의 윈도우10 빌드를 써야하는 문제가 있었다. Beta 버전 윈도우10 자체가 매우 심각하게 불안정해서 컴퓨터가 정상 종료가 안되거나, 블루스크린이 뜨거나하는 등의 문제가 있었다. 게다가 WSL 1에서는 웹서버를 띄우고 외부에서 접속하는 것이 가능했는데, WSL 2에서는 그 기능이 아직 구현되지 않았었다.

그래서 다시 윈도우10 베타 빌드를 롤백해서 제거하고 싶었으나, 심지어 윈도우 업그레이드 후 1주일이 지나면 다시 롤백을 할 수도 없었다.... 결국 포멧을 하고 말았다. 따라서 WLS 2이 Windows 10 beta가 아니라 정식으로 출시하면 사용하길 권한다.

 

사용하면서 발생했던 문제
- WSL 1과 달리 WSL 2에서는 bash에서 웹서버를 띄우고 외부에서 접속하는 것이 안된다. WSL 1으로 downgrade하자 바로 해결되었다.
https://github.com/microsoft/WSL/issues/2471#issuecomment-503202897

댓글2