본문 바로가기
Development

WSL 2 특징 및 설치방법

by IMCOMKING 2019. 11. 8.

WSL2 설치하기(2023.02.15)

https://gaesae.com/161

1. 관리자모드로 파워쉘 실행
2. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
4. MS Store에서 Ubuntu 22.04 다운로드하여 설치

 

문제 해결

0x800701bc에러

1. 제어판-프로그램 및 기능-windows 기능 켜기/끄기에서 HyperV를 켜줌

2. 윈도우즈 업데이트를 한 번 더 해줌

 

원격 데스크탑 연결로 GUI접근하기

https://bagng.tistory.com/224


sudo apt-get install xrdp
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini

sudo apt-get install -y xfce4  

sudo vi /etc/xrdp/startwm.sh

맨 마지막에 다음 두줄을 입력합니다.
# xfce
startxfce4

sudo /etc/init.d/xrdp start

원격 데스크탑 접속에서 localhost:3390에 접속을 함

 

 

 

한글 입력 하기

=> 굳이 이렇게 안해도 문제 없이 입력이 되는 듯하다.

https://coolstufflab.com/?vid=13

https://velog.io/@alyac/wsl2-Korean-input

 

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install fonts-nanum fonts-nanum-coding fonts-nanum-extra fonts-noto-cjk dbus-x11

wget https://github.com/Riey/kime/releases/download/v2.5.6/kime_debian-buster_v2.5.6_amd64.deb
sudo apt install ./kime_debian-buster_v2.5.6_amd64.deb

sudo apt install language-selector-gnome
sudo gnome-language-selector  // 여기서  cannot open display라고 떠서 더이상 진행이 안되는데, 한글이 잘 출력이 되네?

 

 

 

 

 


MS Store에서 다운로드 문제 해결

https://answers.microsoft.com/ko-kr/windows/forum/all/%EC%9C%88%EB%8F%84%EC%9A%B0-10/cf106788-147e-4735-bf33-8223d24f630a


WSL 인스톨 이슈에 대한 여러가지 해결 책
https://learn.microsoft.com/ko-kr/windows/wsl/troubleshooting#installation-issues

수동 설치 목록
https://learn.microsoft.com/ko-kr/windows/wsl/install-manual

수동설치 CLI로 하기
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile Ubuntu.appx -UseBasicParsing

 

 

 

WSL 2의 특징

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

 

WSL2와 WSL1 장단점 비교

https://learn.microsoft.com/ko-kr/windows/wsl/compare-versions

Ubuntu에서 windows 파일 시스템을 엑세스하는 경우 WSL1이 더 빠르다.

 

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

댓글