일부 사용자들이 WslRegisterDistribution failed with error 0x800700b7 또는 0x80080005 오류를 경험했다고 보고했습니다. 이 오류는 주로 컴퓨터를 재부팅한 후 발생하며, Ubuntu 등 WSL 배포판을 실행할 때 나타납니다. 다행히 해결 방법은 어렵지 않으므로, 이 글에서 단계별로 살펴보겠습니다.
전체 오류 메시지
Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x800700b7/0x80080005
The distribution installation has become corrupted.
Please select Reset from App Settings or uninstall and reinstall the app.
Error: 0x800700b7 Cannot create a file when that file already exists.
Press any key to continue…
원인: LxssManager 서비스 충돌
해결 방법은 핵심적으로 Windows의 LxssManager 서비스를 재시작하는 것입니다. WSL은 사용자 모드(User Mode)와 커널 모드(Kernel Mode)의 두 가지 모드로 구성되어 있으며, 여기에는 Bash, LxssManager, Lxss.sys, lxcore.sys가 포함됩니다. 특히 LxssManager는 WSL의 새 인스턴스를 시작하는 역할을 하는 사용자 모드 세션 관리자 서비스입니다. Microsoft의 공식 설명은 다음과 같습니다:
LXSS Manager 서비스는 네이티브 ELF 바이너리의 실행을 지원합니다. 이 서비스는 ELF 바이너리가 Windows에서 실행될 수 있도록 필요한 인프라를 제공하며, 서비스가 중지되거나 비활성화되면 해당 바이너리는 더 이상 실행되지 않습니다.
방법 1: LxssManager 서비스 재시작하기
Windows 키를 누르고 cmd를 입력해 명령 프롬프트를 검색합니다. 검색 결과에서 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭한 뒤 '관리자 권한으로 실행'을 선택합니다. 그다음 아래 명령어를 순서대로 입력합니다.
sc query LxssManager
sc stop LxssManager
sc start LxssManager
명령 실행이 완료되면 WSL을 다시 실행해 보세요. 정상적으로 작동할 것입니다. 다만 컴퓨터를 재부팅할 때마다 동일한 오류가 반복될 수 있습니다. 이를 근본적으로 방지하려면 아래 명령어로 서비스를 자동 시작으로 설정하세요.
sc config LxssManager start=auto
이후부터는 컴퓨터를 시작하고 WSL을 실행해도 오류 없이 정상 작동합니다.
방법 2: 레지스트리로 LxssManager 자동 시작 설정하기
위 명령어로 서비스 시작 유형을 변경할 수 없는 경우가 있습니다. 예를 들어 서비스가 이미 사용 중일 때 변경을 시도하면 오류가 발생할 수 있습니다. 이럴 때는 레지스트리 편집기를 통해 직접 설정을 변경할 수 있습니다.
- Win + R 키를 눌러 실행(Run) 창을 열고 regedit를 입력한 후 Enter 키를 누릅니다.
- 레지스트리 편집기에서 아래 경로로 이동합니다.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LxssManager\Start
- Start 키를 두 번 클릭하여 편집 창을 연 뒤, 값 데이터를 2로 설정하고 저장합니다.
값 2는 '자동(Automatic)' 시작을 의미합니다. 이렇게 설정하면 LxssManager가 부팅 시 자동으로 실행되어 오류 재발을 막을 수 있습니다.
마무리
WSL 오류 0x800700b7과 0x80080005는 대부분 LxssManager 서비스가 정상적으로 시작되지 않아 발생하는 문제입니다. 서비스를 재시작하고 자동 시작으로 설정만 해두면 손쉽게 해결할 수 있으며, 복잡한 재설치 과정이 필요하지 않은 경우가 많습니다.
참고: 유사한 WslRegisterDistribution 오류 코드 — 0xc03a001a | 0x80041002 | 0x80070422 | 0x80370114 | 0x80370102 | 0x80070003 | 0x80070032 | 0x8007023e | 0x800701bc | 0x8007019e | 0x8000000d