-
[Hyper-V] Hyper-V 관리자 실행 시 0x80131040 오류서버 관리/Windows 2025. 2. 24. 23:38반응형
어느새부터인가 `Newtonsoft.Json Version=12.0.0.0` 어셈블리 로드 실패로 인해 Hyper-V에서 VM 빨리만들기를 사용할 수 없는 문제가 생겼다. 결론부터 말하자면 Hyper-V 버그이다.
Hyper-V 설치위치를 가면 Newtonsoft.Json.dll을 확인할 수 있다.
C:\Program Files\Hyper-V
2025년 기준 해당 dll 파일의 버전을 보면 13.0.3 인것을 확인할 수 있는데, 빨리 만들기 기능을 담당하는 `VMCreate.exe` 는 12 버전을 찾고 있으니 안되는게 어찌보면 당연하다.
dll을 교체할 필요 없이 해당 위치에 아래 내용과 같이 버전을 새로 정의한 VMCreate.exe.config 파일을 추가해주면 된다.
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
급한게 아니라면 MS가 고쳐줄 때 까지 기다려야 하지만, 급히 생성이 필요하다면 아래와 같이 dll을 강제로 교체해보자1. Newtonsoft.Json.dll 변경을 위한 권한 부여Hyper-V의 파일은 관리자 권한만으로도 삭제나 이동이 불가하다. 따라서 아래와 같은 명령어로 권한 설정 작업이 필요하다. 명령어를 수행하는 powershell이나 cmd 는 관리자 권한으로 열어줘야 한다.takeown /f ".\Newtonsoft.Json.dll" /a
그 다음 아래 명령어를 수행한다.icacls.exe .\Newtonsoft.Json.dll /grant Users:F
이제 일반 유저 권한으로 삭제 및 이동이 가능해진다.2. 구 버전 Newtonsoft.Json 받기Hyper-V 에 맞는 dll로 교체하기위해 아무 dotnet 프로젝트를 생성 한 뒤, nuget을 통해 v12 버전의 Newtonsoft.Json을 받도록 하자. 다른 안전한 방법이 있다면 해당 방법을 써도 무방하다.Newtonsoft.Json 12버전을 구했다면 Hyper-V 경로에 이동 시킨 뒤, Hyper-V를 재실행하면 된다.반응형'서버 관리 > Windows' 카테고리의 다른 글
[SSH] Windows OS에서 SSH 연결시 bad owner or permissions 오류 해결 (0) 2021.11.06 [Docker] Windows 10 환경에서 Docker 개발환경 구축 (0) 2021.02.21 [IIS] IIS는 URL인코딩에서 "+" 와 공란을 구분하지 못한다. (0) 2021.01.16 [Windows] CMD로 계정 추가/삭제 (0) 2017.11.18 [VM] 무료 Windows VM 제공 사이트 (developer.microsoft.com) (0) 2017.05.21