Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

VirtualBox 'VT-x 사용 불가(VERR_VMX_NO_VMX)' 오류 해결 방법

VT-x 사용 불가(VERR_VMX_NO_VMX) 오류란?

일부 사용자들은 VirtualBox 또는 유사한 가상화 소프트웨어로 가상 머신(VM)을 시작하려고 할 때마다 VT-x is not available (VERR_VMX_NO_VMX) 오류 메시지가 반복적으로 표시되는 문제를 겪고 있습니다.

오류의 주요 원인

다양한 사용자 보고와 문제 재현 테스트를 통해 조사한 결과, 이 오류 메시지가 나타나는 대표적인 시나리오는 다음과 같습니다.

  • BIOS 설정에서 VT-x가 비활성화됨 – VT-x는 BIOS 설정에서 수동으로 비활성화되거나, 일부 서드파티 애플리케이션에 의해 원격으로 꺼질 수 있습니다.
  • CPU가 VT-x를 지원하지 않음 – 드문 경우지만, PC 자체가 VT-x 기술을 지원하지 않아 오류가 발생하는 경우도 있습니다.
  • Windows에서 Hyper-V 가상화가 활성화됨 – 가장 흔한 원인입니다. Microsoft의 Hyper-V는 VT-x와 충돌하는 것으로 알려져 있어, Hyper-V가 켜져 있으면 운영체제가 자동으로 VT-x를 비활성화합니다.
  • Avast 업데이트가 VT-x를 비활성화함 – Avast는 실시간 보호가 활성화된 상태에서 설정 메뉴의 중첩 가상화(nested virtualization) 옵션을 켜지 않으면 VT-x를 사실상 차단하는 업데이트를 배포한 바 있습니다.
  • 코어 격리(Core Isolation)가 활성화됨 – Windows Defender의 보안 옵션인 코어 격리는 활성화 시 VT-x와 충돌하는 것으로 알려져 있습니다.

이 문제로 어려움을 겪고 있다면, 아래에서 검증된 문제 해결 단계를 순서대로 확인해 보세요. 방법들은 복잡도와 효율성 순으로 정렬되어 있으므로, 제시된 순서대로 하나씩 적용하며 본인의 환경에 맞는 해결책을 찾을 때까지 진행하는 것이 좋습니다.

1. Hyper-V 가상화 비활성화

Windows 10 Fall Creators Update 이후 많은 사용자가 이 문제를 겪기 시작했기 때문에, Hyper-V 충돌은 가장 흔한 원인 중 하나입니다. Hyper-V 가상화가 활성화되어 있으면 VT-x가 자동으로 비활성화되므로, 먼저 이를 확인하고 수동으로 비활성화해야 합니다.

Docker와 같은 애플리케이션 설치 후 이 문제가 발생했을 수도 있습니다. 대부분의 경우 해당 애플리케이션을 제거해도 Hyper-V는 계속 활성화 상태로 남아 VT-x 실행을 막는다는 점에 유의하세요.

관리자 권한 명령 프롬프트에서 Microsoft Hyper-V를 비활성화하는 방법은 다음과 같습니다.

  1. Windows 키 + R을 눌러 실행 대화 상자를 연 뒤, "cmd"를 입력하고 Ctrl + Shift + Enter를 눌러 관리자 권한 명령 프롬프트를 엽니다. UAC(사용자 계정 컨트롤) 창이 나타나면 를 클릭합니다.
  2. 명령 프롬프트에 아래 명령어를 한 줄씩 입력하고 Enter를 눌러 Hyper-V를 비활성화합니다.
    bcdedit /set hypervisorlaunchtype Off
    bcdedit /set vm No
    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
  3. 명령이 정상적으로 실행되면 명령 프롬프트를 닫고 컴퓨터를 재시작합니다.
  4. 재부팅 후 VirtualBox 가상 머신을 다시 실행하여 동일한 오류가 여전히 발생하는지 확인합니다.

여전히 VM 시작 시 VT-x is not available (VERR_VMX_NO_VMX) 오류가 발생한다면 다음 방법으로 넘어갑니다.

2. Avast 설정에서 중첩 가상화 활성화(해당하는 경우)

Avast를 사용 중이라면 주의가 필요합니다. 2017년 6월에 배포된 업데이트에는 특정 조건이 충족되면 시스템에서 VT-x 실행을 자동으로 차단하는 기능이 포함되어 있습니다.

다행히 보안 프로그램을 제거하지 않고도 문제를 해결할 수 있습니다. 많은 사용자가 Avast 설정 > 문제 해결(Troubleshooting) 메뉴로 이동하여 사용 가능한 경우 중첩 가상화 사용(Use nested virtualization where available)하드웨어 지원 가상화 활성화(Enable hardware-assisted virtualization) 옵션을 켠 뒤 문제가 해결되었다고 보고했습니다.

이 방법이 본인의 상황에 해당하지 않는다면 다음 방법으로 넘어갑니다.

3. Windows Defender에서 코어 격리 비활성화

코어 격리(Core Isolation)는 Windows Defender의 디바이스 보안 옵션으로, VT-x와 충돌하는 것으로 알려져 있습니다. Windows Defender를 기본 보안 솔루션으로 사용 중이라면 코어 격리가 활성화되어 있는지 확인해 보세요.

  1. 화면 왼쪽 하단의 시작 버튼을 클릭하고 "Windows Defender"를 검색한 뒤, Windows Defender 보안 센터를 엽니다.
  2. 보안 센터에서 왼쪽 메뉴의 디바이스 보안(Device security) 항목을 클릭합니다.
  3. 디바이스 보안 메뉴에서 코어 격리 아래의 코어 격리 세부 정보(Core isolation details)를 클릭합니다.
  4. 메모리 무결성(Memory integrity) 토글이 꺼짐(OFF) 상태인지 확인하고, 켜져 있다면 끕니다.
  5. 설정을 변경한 후 컴퓨터를 재시작하고 문제가 해결되었는지 확인합니다.

그래도 VirtualBox VM을 오류 없이 실행할 수 없다면 마지막 방법으로 넘어갑니다.

4. BIOS 설정에서 VT-x 활성화

여기까지 진행했는데도 해결되지 않았다면, BIOS 설정에서 VT-x가 비활성화되어 있을 가능성이 높습니다. 일부 서드파티 애플리케이션이 BIOS 설정을 덮어쓸 수 있으므로, 이 시나리오를 직접 확인하기 전에는 이 방법을 건너뛰지 마세요.

BIOS에 진입하는 방법과 메뉴 구성은 메인보드 제조사마다 다르지만, 일반적으로 보안(Security) 또는 시스템 보안(System Security) 메뉴 아래에서 Virtualization Technology 또는 VTx/VTd라는 이름의 설정을 찾아 활성화하면 됩니다.

위의 모든 방법이 실패했다면, 사용 중인 CPU가 VT-x를 지원하지 않을 가능성이 큽니다. Microsoft에서 제공하는 HAV(Hardware-Assisted Virtualization) 감지 도구를 설치해 실행하면, 본인의 CPU가 VT-x의 기반이 되는 기술을 지원하는지 확인할 수 있습니다.