AMD CPU에서 중첩가상화 설정하기(Win10 20H2, Preview Release)

개요

Windows 10 20H1 이 업데이트된지 얼마되지 않았습니다. 그리고 6월 11일 기준으로 Windows 10 20H2 Preview Release(FastRing) 업데이트를 통해 나온 소식으로 AMD CPU(Ryzen 1세대 이상)에서도 중첩가상화(Nested Virtualization)이 제공된다는 소식이 들려왔습니다(링크). 그래서 저도 즉시 업데이트를 진행했고, 테스트를 했습니다. 그 방법을 소개합니다.

준비하기

이 기능은 미리보기(Preview)이기 떄문에 Windows 참가자 프로그램(Windows Insider Program)에서도 초기 릴리즈(Fast Ring)으로 선택해야합니다. 초기 릴리즈는 실험적인 기능이나, 버그 리포트를 기준으로 여러 수정사항이 빠르게 적용된 것으로 매우 불안정하며, OS 업데이트가 일주일에 1~2회로 매우 자주 업데이트가 진행됩니다.

이 문서를 참고해서 설정하는 것을 권장합니다.

이후 다음의 조건이 필요합니다.

  • Windows Version이 19636 또는 그 이후 버전
  • AMD Ryzen/Epyc 1세대 또는 그 이후 출시된 프로세스
  • 생성하려는 VM이 19636 또는 그 이후 버전
  • Hyper-V VM 버전이 9.3

9.3 버전으로 VM 생성하기

우선, 중첩 가상화를 위해 9.3 버전으로 VM을 생성합니다.

New-VM -VMName "WinSvr2019-1809" -Version 9.3

이후 9.3 으로 생성되었는지 확인합니다.

Get-VM * | Format-Table Name, Version
Name            Version
----            -------
minikube        9.0
Windows 10      9.0
CentOS-7        9.0
WinSvr2019-1809 9.3
ubuntu-18.04    9.0
CentOS-8        9.0

생성한 VM이 중첩가상화가 가능하도록 설정하기

Set-VMProcessor -VMName "WinSvr2019-1809" -ExposeVirtualizationExtensions $true
Get-VMProcessor -VMName "WinSvr2019-1809" | fl VMName,ExposeVirtualizationExtensions

VMName                         : WinSvr2019-1809
ExposeVirtualizationExtensions : True

네트워크 설정

MAC Address 스푸핑 설정하기

네트워크 어댑터를 공유하여 그대로 연결하는경우에 사용한다.

Get-VMNetworkAdapter -VMName "WinSvr2019-1809" | Set-VMNetworkAdapter -MacAddressSpoofing On
Get-VMNetworkAdapter -VMName "WinSvr2019-1809" | fl VMName,MacAddressSpoofing

VMName             : WinSvr2019-1809
MacAddressSpoofing : On

NAT 설정하기

이 부분은 공식 문서를 참고하는 것을 권장한다.

VM 및 중첩 VM 생성결과

위의 순서대로 진행하면 정상적으로 중첩 가상화가 잘 이루어지는 것을 확인할 수 있다. 이제 각종 테스트를 할 수 있는 환경이 더욱 더 좋아졌다는 것을 피부로 느낄 수 있게 되었다.