평소에 개발환경을 WSL2로 세팅해놓고 개발을 하곤 했는데, 어느날 갑자기
가상 머신 플랫폼 Windows 기능을 사용하도록 설정하고 BIOS에서 가상화를 사용 하도록 설정되어 있는지 확인하세요. 자세한 내용은 https://aka.ms/wsl2-install을 참조하세요. [코드 4294967295로 프로세스 종료됨]
이런 로그가 뜨며 WSL이 작동이 안되더라
에러 메시지 그대로 구글링 해봤지만 1페이지에 올라온 거의 모든 글들이 같은내용.. 해결은 되지 않고 겨우 github issue를 하나 찾았고 거기서 해결 방법을 얻었다.
Spacedesk 문제일거라곤 상상도 못했고, 한글로 검색했을땐 감도 못잡았다. 역시 구글링은 영어로..
허무하고 열받아서 한글로 검색해서 나같이 삽질하지 마시라고 내가 정리해서 올려본다. 😂
해결 방법
1. Windows 기능 켜기 / 끄기
Windows 기능 켜기/끄기 에서
- 가상 머신 플랫폼
- Linux용 Windows 하위 시스템
항목을 해제 후 재시작, 체크 후 재시작 하면 잘 작동한다고 나와있길레 이대로 해봤는데 안된다.
2. 최근 VM 소프트웨어, 안드로이드 에뮬레이터를 사용한 경우
- power shell 관리자권한 시작
bcdedit /set hypervisorlaunchtype auto
- 시스템 재시작
3. 최근 Spacedesk를 설치한 경우 *
- spacedesk 삭제
- 장치 관리자
- 동작 -> 레거시 하드웨어 추가
목록에서 직접 선택한 하드웨어 설치
선택 -> 다음시스템 장치
선택 -> 다음- 제조업체 에서
Microsoft
선택 -> 모델 에서Microsoft Hyper-V 가상화 인프라 드라이버
선택 - 설치
- 시스템 재시작
https://github.com/microsoft/WSL/issues/4930
*1, 2를 수없이 반복하다가 겨우 3번을 알아내서 해결했다. 😂
에러 메시지에 BIOS에서 가상화를 사용 하도록 설정하라고 나와있기에
BIOS에서 가상화 설정을 껏다 키고 해도 안된다.
그래서 더 구글링 해보니, VM 소프트웨어나
, 안드로이드 에뮬레이터
를 사용한 경우 hyper v 관련 옵션이 꺼지기 때문에
bcdedit /set hypervisorlaunchtype auto
- 시스템 재시작
을 실행해 보라는것.
최근 안드로이드 개발을 시작했기 때문에 이게 원인이겠거니 하고 위 방법대로 해봤지만 안된다.
해당 이슈를 더 내려가다 보니 Spacedesk(https://www.spacedesk.net/)
을 설치한 후 해당 이슈가 발생했다는 사람들이 있었고 결국 포맷으로 해결했다는 사람들이 더러 보였다.
다행히도 더 내려가다 보니 아래와 같은 방법이 있었고 해결할 수 있었다.