LainyZine: 프로그래머 가이드 🐣

[Windows 10] Hyper-V 비활성화하는 방법

마이크로소프트 윈도우 10에서는 가상화와 관련된 Hyper-V라는 기능을 제공하고 있습니다. Hyper-V를 사용하려면 CPU가 Intel VT-c를 지원해야하며, Windows 10 Pro, Enterprise, Education 에디션을 사용해야합니다. Hyper-V 기능을 활성화하면 VirtualBox나 VMWare 없이도 가상 머신을 만들 수 있으며, (별도의 WSL2 셋업 없이도) Docker Desktop을 사용할 수 있는 등의 장점이 있습니다.

하지만 Hyper-V는 가상화 애플리케이션의 동작에 영향을 끼치고, 하드웨어에 따라서 매우 불안정한 동작을 보이기도 합니다. Hyper-V 기반으로 실행한 Docker Desktop이 자주 종료되거나, VirtualBox에서 Windows 설치가 실패하는 등의 문제가 발생하기도 합니다. Docker의 경우 Hyper-V보다도 2020년에 공개된 WSL2을 사용하는 게 안정적인 경우도 있습니다.

Hyper-V를 사용하지 않더라도 VirutalBox나 VMWare로 가상 머신을 사용하는 데 큰 문제는 없습니다. 따라서 Hyper-V를 직접 사용하지 않거나 가상화 관련 기능이 불안정하다면 Hyper-V 기능 자체를 끄는 것이 좋습니다. 이 글에서는 이미 Hyper-V가 활성화되어있을 때 비활성화하는 방법에 대해서 소개합니다.

Hyper-V 설치 여부를 확인하는 방법

Hyper-V를 사용하려면 다음과 같은 두 가지 조건을 만족해야합니다.

  1. Hyper-V 기능 윈도우 기능이 활성화되어있어야한다.
  2. Hyper-V가 활성화되어있어야한다.

이게 조금 헷갈릴 수 있습니다만, 1번은 사실상 설치라고 이해해도 무방합니다. 즉, Hyper-V가 설치되어있어야하고, 또 기능 자체가 활성 상태여야합니다.

Hyper-V가 설치되어있는지 확인하는 방법

Hyper-V는 Windows 10 Pro, Education, Enterprise 에디션에서 사용할 수 있으며 윈도우 기능(Windows Feature)으로 제공됩니다. 윈도우 기능에서 Hyper-V가 활성화되어있는지 확인하려면 먼저 PowerShell이나 Windows Terminal을 관리자 모드로 실행하고 Get-WindowsOptionalFeature 명령어를 실행해주세요.

$ Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V

FeatureName      : Microsoft-Hyper-V
DisplayName      : Hyper-V 플랫폼
Description      : 가상 컴퓨터와 리소스를 만들고 관리하는 데 사용할 수 있는 서비스를 제공합니다.
RestartRequired  : Possible
State            : Enabled
CustomProperties :

State 속성이 Enabled인 것을 확인할 수 있습니다. 즉, 이 컴퓨터에는 윈도우 기능 Hyper-V가 설치되어있습니다. 단, 윈도우 기능 Hyper-V가 활성화 상태라고 현재 사용중인 것은 아닙니다. 실제로 사용중인지 확인하는 방법을 이어서 알아보겠습니다.

Hyper-V가 실제로 사용중인지 확인하는 방법

Hyper-V가 실제로 사용중인지 확인하려면 bcdedit(부팅 로더 설정) 명령어를 사용해야합니다. 터미널을 관리자 권한으로 열어 다음 명령어를 실행하면, 부팅과 관련된 현재 모든 설정을 확인할 수 있습니다.

$ bcdedit /enum
...
Windows 부팅 로더
-------------------
...
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

아래 쪽에 hypervisorlaunchtype 속성이 Auto로 설정되어있는 것을 확인할 수 있습니다. 이 속성이 Auto면 활성화 상태이고, Off이면 비활성화 상태입니다. 즉, 윈도우 기능 Hyper-V가 설치되어있고, 부팅 로더의 hypervisorlaunchtypeAuto이면 Hyper-V가 사용중인 상태입니다.

부팅 로더에서 Hyper-V를 비활성화 하는 방법

부팅 로더에서 Hyper-V를 비활성화하려면 다음 명령어를 실행해줍니다.

$ bcdedit /set hypervisorlaunchtype off

앞서 확인해본 것처럼 bcdedit /enum을 실행하면 설정이 현재 부팅 로더 설정을 확인할 수 있습니다. 이름에서 유추 가능합니다만, 이 속성은 재부팅 시에 적용됩니다. 따라서 설정 변경 후에는 반드시 윈도우를 재부팅해주시기 바랍니다. 재부팅하면 Hyper-V는 설치되어있지만, 비활성화되어있는 상태가 됩니다.

이 부분이 조금 헷갈릴 수 있습니다만, Hyper-V는 설치만 되어있어도 활성화되어있는 것처럼 보이기 때문에 반드시 부팅 로더 옵션을 함께 확인 및 설정해주어야합니다. 다시 부팅 로더에서 Hyper-V를 활성화하려면 다음 명령어를 실행해줍니다.

$ bcdedit /set hypervisorlaunchtype auto

윈도우 기능 Hyper-V를 삭제(비활성화)하는 방법

부팅 로더 설정이 아닌 윈도우 기능 Hyper-V를 삭제(비활성화)하려면 관리자 권한으로 다음 명령어를 실행해줍니다.

$ Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

혹은 제어판에서도 같은 설정을 작업을 할 수 있습니다. Windows + S를 입력하고 ‘선택적 기능 관리’ 시스템 설정을 검색해 실행합니다.

선택적 기능 창에서 스크롤을 내리면 아래 쪽에 기타 Windows 기능 텍스트가 있습니다. 이 텍스트를 클릭하면 팝업이 하나 더 나타납니다. 여기서 Hyper-V를 체크 해제하고 확인을 클릭합니다.

Windows 기능에서 Hyper-V를 체크 해제합니다

다시 설치하려면 아래 명령어를 실행하거나, 선택적 기능 설정에서 Hyper-V를 체크해주면 됩니다.

$ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

추천 문서

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.