Windows에서 WSL(Windows Subsystem for Linux)을 설치하는 도중 WslRegisterDistribution failed with error: 0x80370102라는 오류 메시지가 나타난다면, 이 글이 문제 해결에 큰 도움이 될 것입니다. 이 오류는 주로 중첩 가상화(Nested Virtualization) 미설정, CPUID 제한, BIOS 수준의 가상화 지원 부족 등 몇 가지 원인으로 발생합니다.
WslRegisterDistribution failed with error: 0x80370102.
오류 0x80370102: 필수 기능이 설치되어 있지 않아 가상 머신을 시작할 수 없습니다.
WSL 오류 0x80370102 해결 방법
아래의 해결 방법을 순서대로 따라 하면 대부분의 경우 문제를 해결할 수 있습니다. 각 작업에는 관리자 권한이 필요하며, BIOS 설정 변경이 포함되므로 기본적인 BIOS 조작 방법을 알고 있는 것이 좋습니다.
- 중첩 가상화(Nested Virtualization) 활성화
- BIOS 수준에서 Hyper-V 및 가상화 지원 활성화
- CPUID 제한 옵션 비활성화
1. 중첩 가상화(Nested Virtualization) 활성화
VMware나 Hyper-V 같은 가상 머신(VM) 안에 Windows를 설치한 상태에서 WSL을 설치하려는 경우, 반드시 중첩 가상화를 활성화해야 합니다. 관리자 권한으로 PowerShell을 실행한 뒤 아래 명령어를 입력하세요.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true<VMName> 부분에는 실제 사용 중인 가상 머신 이름을 입력하면 됩니다. 이 명령으로도 해결되지 않는다면, 물리적 하드웨어 수준에서 가상화 기능을 켜야 합니다. 이는 BIOS 또는 UEFI 설정에서 진행할 수 있으며, 자세한 내용은 Microsoft 공식 문서를 참고하세요.
2. BIOS 수준에서 Hyper-V(가상화) 지원 활성화
컴퓨터를 재부팅하고 BIOS/UEFI 설정 화면에 진입한 뒤, VT-x, AMD-V, SVM, Vanderpool, Intel VT-d, AMD IOMMU 등으로 불리는 가상화 관련 설정을 찾아 활성화합니다.
AMD CPU를 사용한다면 AMD-V 또는 SVM Mode 항목을, Intel CPU를 사용한다면 일반적으로 Intel VT-x(Intel Virtualization Technology) 항목을 찾으면 됩니다. 제조사별 BIOS 진입 방법과 설정 위치는 Dell, ASUS, Acer 등 각 제조사의 공식 가이드를 참고하는 것이 정확합니다.
3. CPUID 제한(Limit CPUID Max) 비활성화
컴퓨터가 부팅될 때 운영체제는 CPUID 명령을 실행해 프로세서의 종류와 지원 기능을 확인합니다. 최신 프로세서를 구형 운영체제와 함께 사용할 때 이 CPUID 정보 처리에 문제가 생길 수 있으며, Windows가 해당 정보를 올바르게 해석하지 못해 오류가 발생하기도 합니다.
이 경우 BIOS/UEFI에서 Limit CPUID Max(또는 CPUID Maximum Value Limit) 옵션을 찾아 Disabled로 설정하세요. 이 옵션의 위치는 메인보드 제조사마다 다르므로, Advanced(고급) 또는 CPU Configuration 메뉴 등을 살펴보며 찾아야 합니다.
마무리
위 세 가지 방법만 차근차근 적용하면 WSL 설치 시 나타나는 0x80370102 오류를 대부분 해결할 수 있습니다. 특히 VM 환경이라면 중첩 가상화, 실제 PC라면 BIOS 가상화 설정을 우선적으로 확인하는 것을 추천합니다.
참고: 유사한 WslRegisterDistribution 오류 코드로는 0xc03a001a, 0x80041002, 0x800700b7, 0x80080005, 0x80070422, 0x80370114, 0x80070003, 0x80070032, 0x8007023e, 0x800701bc, 0x8007019e, 0x8000000d 등이 있으며, 각 오류별 해결 방법도 함께 확인해 보세요.