Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

중첩 가상화(Nested Virtualization) - The virtual machine could not be started because this platform does not support nested virtualization.

(2022-07-23 업데이트) 현재 윈도우 11의 버전이 10.0.22000.795이고, AMD CPU를 위한 중첩 가상화 기능이 구현됐습니다.




Hyper-V에서 호스팅 중인 VM 내에서 다시 가상화를 하는 것이 가능한데요,

Hyper-V 내의 VM에서 다시 Hyper-V를 설치: Nested Virtualization
; https://www.sysnet.pe.kr/2/0/11218

아쉽게도 이게 AMD CPU에서는 가능하지 않습니다. 예를 들어, AMD CPU가 장착된 머신에서 ExposeVirtualizationExtensions을 VM에 활성화 시키고 나면,

// VM 이름 testvm이라고 가정

Set-VMProcessor -VMNAME testvm -ExposeVirtualizationExtensions:$True 

해당 VM을 시작 시 다음과 같은 오류 메시지가 발생합니다.

An error occurred while attempting to start the selected virtual machine(s).

'testvm' failed to start.

'testvm' could not initialize.

The virtual machine could not be started because this platform does not support nested virtualization.

'testvm' failed to start. (Virtual machine ID B20F20E6-7F19-4796-BA40-D9FFE2D8FE29)

'testvm' failed to start worker process: Unspecified error (0x80004005). (Virtual machine ID B20F20E6-7F19-4796-BA40-D9FFE2D8FE29)

'testvm' could not initialize. (Virtual machine ID B20F20E6-7F19-4796-BA40-D9FFE2D8FE29)

The virtual machine could not be started because this platform does not support nested virtualization. Consider not exposing virtualization extensions to the virtual machine.

실제로 관련 문서에 "Intel-only"라는 문구가 있습니다.

Run Hyper-V in a Virtual Machine with Nested Virtualization
; https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

An Intel processor with VT-x and EPT technology -- nesting is currently Intel-only.

그리고 다행히, AMD의 지원이 preview 버전 단계로 작업 중인 19636 버전에서 구현되었다는 소식이 있습니다. (참고로, 2021-03-28 기준의 Windows 10 20H2는 19042입니다.)

AMD Nested Virtualization Support
; https://techcommunity.microsoft.com/t5/virtualization/amd-nested-virtualization-support/ba-p/1434841

Disable check for nested virtualization only working on Intel CPUs 
; https://github.com/GNS3/gns3-server/issues/1777

,.. AMD is now allowed on Windows 10 build 19640 or later. This will work in our next release, version 2.2.10.

해당 preview 버전이 언제 정식으로 나올지는 모르겠지만. ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/23/2022]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...
NoWriterDateCnt.TitleFile(s)
12165정성태3/2/202011049.NET Framework: 900. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 네 번째 이야기(Monitor.Enter 후킹)파일 다운로드1
12164정성태2/29/202011901오류 유형: 598. Surface Pro 6 - Windows Hello Face Software Device가 인식이 안 되는 문제
12163정성태2/27/202010364.NET Framework: 899. 익명 함수를 가리키는 delegate 필드에 대한 직렬화 문제
12162정성태2/26/202013214디버깅 기술: 166. C#에서 만든 COM 객체를 C/C++로 P/Invoke Interop 시 메모리 누수(Memory Leak) 발생 [6]파일 다운로드2
12161정성태2/26/20209818오류 유형: 597. manifest - The value "x64" of attribute "processorArchitecture" in element "assemblyIdentity" is invalid.
12160정성태2/26/202010515개발 환경 구성: 469. Reg-free COM 개체 사용을 위한 manifest 파일 생성 도구 - COMRegFreeManifest
12159정성태2/26/20208633오류 유형: 596. Visual Studio - The project needs to include ATL support
12158정성태2/25/202010510디버깅 기술: 165. C# - Marshal.GetIUnknownForObject/GetIDispatchForObject 사용 시 메모리 누수(Memory Leak) 발생파일 다운로드1
12157정성태2/25/202010477디버깅 기술: 164. C# - Marshal.GetNativeVariantForObject 사용 시 메모리 누수(Memory Leak) 발생 및 해결 방법파일 다운로드1
12156정성태2/25/20209778오류 유형: 595. LINK : warning LNK4098: defaultlib 'nafxcw.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
12155정성태2/25/20209011오류 유형: 594. Warning NU1701 - This package may not be fully compatible with your project
12154정성태2/25/20208815오류 유형: 593. warning LNK4070: /OUT:... directive in .EXP differs from output filename
12153정성태2/23/202011574.NET Framework: 898. Trampoline을 이용한 후킹의 한계파일 다운로드1
12152정성태2/23/202011313.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)파일 다운로드1
12151정성태2/22/202011792.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)파일 다운로드1
12150정성태2/21/202011672.NET Framework: 895. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 [1]파일 다운로드1
12149정성태2/20/202011443.NET Framework: 894. eBEST C# XingAPI 래퍼 - 연속 조회 처리 방법 [1]
12148정성태2/19/202012685디버깅 기술: 163. x64 환경에서 구현하는 다양한 Trampoline 기법 [1]
12147정성태2/19/202011334디버깅 기술: 162. x86/x64의 기계어 코드 최대 길이
12146정성태2/18/202011534.NET Framework: 893. eBEST C# XingAPI 래퍼 - 로그인 처리파일 다운로드1
12145정성태2/18/202010755.NET Framework: 892. eBEST C# XingAPI 래퍼 - Sqlite 지원 추가파일 다운로드1
12144정성태2/13/202010793.NET Framework: 891. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 두 번째 이야기파일 다운로드1
12143정성태2/13/20208827.NET Framework: 890. 상황별 GetFunctionPointer 반환값 정리 - x64파일 다운로드1
12142정성태2/12/202010645.NET Framework: 889. C# 코드로 접근하는 MethodDesc, MethodTable파일 다운로드1
12141정성태2/10/202010217.NET Framework: 888. C# - ASP.NET Core 웹 응용 프로그램의 출력 가로채기 [2]파일 다운로드1
12140정성태2/10/202010086.NET Framework: 887. C# - ASP.NET 웹 응용 프로그램의 출력 가로채기파일 다운로드1
... 46  47  48  49  50  51  52  53  54  55  56  57  58  [59]  60  ...