본문 바로가기
AI_RSS_트래픽 프로젝트

Docker wsl, Virual Machine Platform 활성화 오류 해결

by chol_rang 2025. 11. 20.

2일동안 docker를 실행 시키고자 했던 오류 해결 과정을 작성해보려고 한다.

 

최근 프로젝트를 진행 중 Docker도 써야하니 Docekr가 잘 동작하나 확인 겸 켰는데 갑자기 Docker메인화면에 

 

 

이런 화면이 뜨면서 멈춰있는게 아닌가. 

 

일단 명확하게 뭐가 문제인지 확인을 위해 구글링+AI 검색을 한 결과 Docker를 사용하기 위해서는 wsl이 필수적으로 필요한데

뭔지 부터 알고 넘어가야겠어서 검색을 해봤다. 

 

WSL이란  

WSL(Windows Subsystem for Linux)은 다음을 가능하게 하는 Windows 기능이다:

  • Windows 내부에서 리눅스 커널을 실행
  • Ubuntu, Debian 같은 배포판을 그대로 실행
  • Docker, Kubernetes 같은 리눅스 기반 도구 실행

로써 Docker Desktop은 오직 WSL2만 사용한다. 

 

뭔지 대충 알았으니 powershell 관리자모드를 킨 뒤 docker에 나와있는 명령어인 wsl --update, wsl --install, wsl --updata등등 많은 명령어를 집어넣어봤지만 결과는 

 

PS C:\WINDOWS\system32> wsl --update

클래스가 등록되지 않았습니다.

Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG

라는 내용만 주르륵 볼 수 있었다. 

 

저것 또한 검색을 해보니 

 

Windows 기능을 활성화 시켜야 한다는 소리가 있어서 

 

검색창에 'Windows 기능 켜기/끄기' 를 찾아 확인해본 결과 

 

 

 

다 켜져있는 있었다! 근데도 클래스가 전혀 먹히지 않으니 답답할 노릇이였는데 

어느 블로그를 보니 저것 말고도 하드웨어 BIOS에서 즉 컴퓨터 키자마자 Del를 눌러서 BIOS 환경설정에서 

Advanced 항목에 CPU 관련 탭을 들어가면 

 

  • Intel Virtualization Technology
  • Intel VT-x
  • Intel VT-d (IOMMU 기능, 같이 켜도 상관 없음)
  • Virtualization Support
  • SVM Mode (AMD PC일 때)

이런 비슷한 이름이 있으면 Enabled(활성화)를 해주고 재부팅을 해야한다고 하길래 나도 확인해봤는데 

난 다 되어있었다....

더 답답해진 마음을 가지고 검색을 해보니 

 

어느 블로그에서는 BIOS를 포함한 Windows 기능에서도 전부 비활성화를 한 뒤에야 wsl 명령어가 먹혔다고 하는 글을 보고 

그냥 아무생각없이 따라해보기로했다.

그 결정이 2일을 날리게된 계기가 될 줄은 몰랐는데....

 

BIOS를 포함한 windows기능도 전부 끈 상태에서(재부팅 2번...시간이 숙숙 지나간다..) 다시 powershell 관리자모드에서 

해보았지만 결과는??

 

 

PS C:\WINDOWS\system32> wsl --update

클래스가 등록되지 않았습니다.

Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG

 

욕이 절로 나왔다. 

 

이게 몇번해보고 안되다 보니 검색을 또 했지만 그 글말고는 다른사람들은 전부 다 가상머신플랫폼을 킨 후에 wsl을 하고 있었다...

 

그래서 일단 다시 BIOS부터 키고 

 

 

간단하게 작업관리자에서 확인 후 windows 기능켜기/끄기 에 들어가서 다시 3개를 키려고 한 순간... 재앙이 발생했다. 

활성화 하는데 시간이 걸릴테니 밥을 먹고와야겠다 라고 생각 후 아무생각없이 밥을 먹고오니 

 

컴퓨터가 그냥 꺼져있는게 아닌가???????????????????

 

이게 무슨일이야 하면서 windows 기능켜기/끄기 를 확인해봤지만 그대로 꺼져있는걸 확인 했다.

 

별 대수롭지 않게 생각하자 라고 생각 후 이번엔 PowerShell 관리자 모드에서 명령어를 사용해서 키면 조금 더 원활하게 될 것같은 생각에 

# 1단계: 시스템 이미지 상태 확인 (빠른 검사, 복구 안 함)
dism.exe /online /cleanup-image /checkhealth
#   → 이미지 손상 여부만 확인 (1-2분 소요)
#   → "구성 요소 저장소가 손상되지 않았습니다" 메시지면 정상

# 2단계: 시스템 이미지 복구 (손상 발견 시)
dism.exe /online /cleanup-image /restorehealth
#   → Windows Update를 통해 손상된 이미지 파일 복구
#   → 인터넷 연결 필요 (10-30분 소요)
#   → "복원 작업이 성공적으로 완료되었습니다" 메시지 확인

# 3단계: 시스템 파일 검사 및 복구
sfc /scannow
#   → 시스템 파일 전체 검사 및 손상된 파일 자동 복구
#   → DISM으로 복구된 이미지를 기반으로 파일 복구
#   → 15-30분 소요

를 실행 이후 다시 Powershell 관리자모드 새창으로 

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# → Linux용 Windows 하위 시스템(WSL) 기능 활성화

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# → WSL2 실행을 위한 가상 머신 플랫폼 활성화

dism.exe /online /enable-feature /featurename:HypervisorPlatform /all /norestart
# → Windows 하이퍼바이저 플랫폼(WSL2가 가상화 기반으로 동작하도록 지원) 활성화

 

를 해놓고 기다리고 있는데 도중에 에러가 나면서 끊겨버렸다. 이것도 약 1시간 반정도 걸린거같다 ㅠㅠ

 

어떤 에러인지 확인 해본 결과 windows 업데이트 문제라고 하여 업데이트를 먼저 진행 했는데 

 

 

업데이트 또한 에러가 나는게 아닌가

 

하여 보니 나 말고도 이번 업데이트가 안되는 사람들이 꽤 많은 것 같았다. 다른사람들 글을 쭉 살펴보니 수동 업데이트를 하면 된다 , 그냥 기다려라 등등 결국 해결 한 글을 못봐서

 

이대로 포기해야하나 싶은 찰나에 

 

이상한 생각이 들었다. 

혹시.... 컴퓨터를 포맷해버리면 

 

 

얘들도 다시 다 켜져있고 업데이트도 잘 되지않을까..?

저것들이 잘 되어있으면 wsl 명령어도 먹지않을까...??

라는 생각에 

 

포맷을 해버렸다...

 

포맷하는것도 시간이 걸려 기다리고 

 

다시 확인해본 결과... 똑같았다......

 

그래서 일단 Powershell 관리자 모드로 wsl를 설치 해보자 해서 Powershell관리자모드로 

설치해봤는데 역시나 똑같이 

PS C:\WINDOWS\system32> wsl --update

클래스가 등록되지 않았습니다.

Error code: Wsl/CallMsi/REGDB_E_CLASSNOTREG

똑같이 떠서 windows 업데이트를 진행했지만 업데이트가 되는가 싶더니 

업데이트를 분명 다 완료했다고 떴는데 '업데이트 확인' 버튼을 다시 누르면 또 업데이트를 하라고 뜨는게 아닌가....

 

어찌어찌 업데이트가 다 됐다고 해서 

 

wsl --update, wsl --install 을 쳐봤는데 갑자기 설치가 되었다!!

약간 희망을 본 채로 windows 기능켜기/끄기 를 확인해봤는데 가상머신관련 기능들은 전부다 꺼져있어서 

 

어... 이거 이것들만 키면 되겠는데?? 싶어서 powershell 명령어들을 다시 집어넣고 

조금 더 많이 기다린 결과... 약간의 에러가 있었지만 결국 다 켜졌다 

 

설레는 마음으로 포맷을 한 컴퓨터니 docker를 다시 깔고 docker를 켜서 확인해본 결과 

 

 

설레는 화면이 떳다.

 

 

많이 줄이고 줄인 내용인데 2일동안 개고생한 결과 조금이나마 wsl과 가상머신플랫폼에 대해서 알아갈 수 있었던 시간이였다.