일단 하고 보는 사람

나중보단 지금에 집중하되, 지금보단 나중에 완벽해지자💪🏻

카테고리 없음

🐳[WSL+Docker Desktop] WSL2 설치 중 삽질 기록⛏

JanginTech 2025. 7. 11. 17:34

June 15, 2025 3:53 PM

 

 

Fastapi 기본 세팅을 마쳤으니 도커를 설정해 볼 차례다.

실제로 도커는 거의 필수로 사용되고 있는 만큼, 원격 접속 및 개발 실습을 위해 도커를 설정하고자 한다.

 

vscode 원격 접속 설정 전에 윈도우에 도커를 설치해보려고 한다.

  • window: Windows 11(24H2)
  • WSL

 

🛠️ WSL2(Windows Subsystem for Linux 2)

  • 윈도우 환경에서 GNU/Linux 환경에서 쓰이는 대부분의 명령어나 유틸리티, 애플리케이션 등을 쓸 수 있는 환경
  • 도커도 이 위에서 실행된다
  • 설치 후 컴퓨터 재부팅 필수!!

 

파워셸 관리자 모드> wsl --install 실행 (이제부터 삽질대시작..) 

- WSL 2.5.7 설치 완료

- VirtualMachinePlatform 설치 완료

- Ubuntu 배포판 설치 중에 Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_SERVICE_NOT_AVAILABLE

발생

 

HCS_E_SERVICE_NOT_AVAILBLE?

  • WSL2는 Hypter-V 기반으로 동작하는데, 이를 위한 가상화 서비스가 비활성화되어 있는 것이 원인으로 보여짐
  • 물론 그 밖에도 여러 원인이 존재하겠으나, 우선 BIOS에서 가상화 기능을 확인할 수 있다고 함
  • 근데 보니까 관련 설정은 이미 다 Enabled 임.
  • DISM 실행 시도해 보겠음

※ 찾아보니, Window 10 Home이면 Hypter-V 전체 설치가 안 된다고 함(나는 해당사항 없음)

 

 

DISM 실행하기

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
dism.exe /online /enable-feature /featurename:HypervisorPlatform /all /norestart

 

재부팅 후 재시도했는데 아래와 같이 됨

CPU 가상화는 활성화되어 있는데

윈도우 커널이 Hypervisor 모드를 사용하지 못하고 있는 문제

 

bcdedit 수정 시도

1. bcdedit /set hypervisor launchtype auto

2. 작업 완료 후 재부팅

3. bcdedit에서 hypervisorlaunchtype Auto 확인하면 됨

 

 

진짜 뭐가 문제인가 싶은데

최신 WSL과 최신 Windows 버전에서 종종 발생하는 이슈라고 한다(gpt가).

 

WSL에서 가상 머신을 생성하는 단계에서 발생하는 에러인데, 이 단계에서 오류가 발생한다는 것은 내부적으로 HCS 서비스에 문제가 있다는 의미라고 한다.

 

뭐라는 건지 모르겠고 암튼, 가상 머신 생성에서 뭐뭐끼리 충돌? 하는 것 같다.

더 찾아보니 메모리 무결성 설정 때문에 서비스 설치를 튕기는 거라길래 혹시나 해서 이 옵션을 끄고 재부팅 후 다시 시도해 보았다.

 

된다..

 

 

허무하다..

 

WSL 배포판 설치에서 VM 생성 단계가 자꾸 실패한 이유가 꽤나 있나 보다

 

 

 

🎉 해결, 그리고 원인 분석

ms store에서 제시한 WSL에 대한 수동 설치 가이드를 참고했다.

https://learn.microsoft.com/ko-kr/windows/wsl/install-manual

 

이전 버전의 WSL에 대한 수동 설치 단계

wsl install 명령을 사용하는 대신 이전 버전의 Windows에 WSL을 수동으로 설치하는 단계별 지침입니다.

learn.microsoft.com

 

 

내 오류는

WSL 배포판 설치에서 VM 생성 단계에서 자꾸 실패했다. 

이것저것 다 해본 결과, 내가 가상 서비스 설정이 안 됐던 이유는 Memory Integrity 활성화 상태여서 그렇다.

WSL2의 Hyper-V 기반 VM이 실행할 수 없었던 것이다!(HCS 단계에서 VM 생성 실패 뜬 이유)

 

아까도 말했지만 자주 발생하는 오류다.

내가 쓰는 Windows 11v24H2부터 VBS 보안 정책이 강화되며 제약사항이 많아졌다.

WSL2는 내부적으로 Hyper-V 가상머신 기반 동작 서비스고,

이 두 가지가 동일한 커널 자원을 건드리다 보니 충돌이 발생한 것.

 

 

한 줄 정리:

💡 Memory Integrity 보안 기능이 WSL2가 가상머신을 띄울 때 내부 커널을 호출하는 것을 막아서 설치 실패했고, 메모리 무결성 옵션을 비활성화하면서 이 문제를 해결할 수 있었음.

 

 

 

아무튼,

이제야 도커를 설치해봐야 한다. 이건 따로 정리해야지