본문 바로가기

softwares/quick reference

[Hyper-V] VHD 이동(복사) 후, 권한 문제로 VM 시작이 안 될 시

시나리오1.
Hyper-V Host 에서 VHD 가 담긴 디스크의 물리/논리적 재구성이 필요하여, 드라이브를 비웠다가 다시 구성해야할 경우

시나리오2.
VM 을 정상적으로 내보내지 않고 오프라인 상태로 VM 의 파일들을 (Virtual Machines 의 XML 파일과 Virtual Hard Disks) 의
구조를 그대로 복사해서 백업하거나 가져올 경우

 

시나리오1의 경우로 VHD 파일이 저장된 디스크의 재구성 (DISK * 6 에서 DISK * 2 로 축소)이 필요하여 D:\VHD\ 아래에 저장된 VM 별 폴더를 다른 디스크로 이동 후 (이동 시 삭제하지 못하는 문제는 서비스에서 Hyper-V 가상 컴퓨터 관리를 잠시 중지) 디스크 재구성 후, 기존 환경과 동일한 경로로 다시 이동 후 VM 을 시작 시, 아래와 같은 권한의 문제로 VM 을 시작하지 못하는 문제가 있습니다.

정상적인 Hyper-V VM 의 디스크 VHD 의 권한을 보면 Hyper-V VM GUID 의 이름으로 VHD(X)의 권한이 들어가게 되는데, 이 권한이 파일을 복사하는 과정에서 유실 되어 발생 되는 문제입니다. icacls 를 통해 각 VM 의 GUID(SID) 권한을 할당하여 이를 해결할 수 있습니다. 그렇지 않은 경우라면, Hyper-V 관리자에서 내보내기 후, 가져오기를 시행(새로운 GUID 권한을 할당 하는 과정을 수행)하거나, 새로운 VM 을 생성 후, 기존 DISK만 연결하는 방식으로 복구 할 수 있습니다. (Virtual Machines XML에 저장된 VM 설정이 초기화 되기 때문에 이 경우는...)

ICACLS 를 통해 아래와 같은 명령어로 권한을 다시 할당할 수 있고, GUID/SID 는 Virtual Machines 폴더 밑에 GUID.XML 의 이름으로 파일이 생성 됩니다.

ICACLS SYSTEM.VHDX /GRANT "NT VIRTUAL MACHINE\SID:(R,W)"

 





시나리오3.

정상적으로 내보내기 및 가져오기 과정을 거쳤음에도 불구하고, 'Unnamed VM'이(가) 가상 컴퓨터 구성을 읽거나 업데이트할 수 없습니다. 보안 식별자 구조가 올바르지 않습니다. (0x80070539). 메시지와 함께 정상적으로 시작이 안 되는 경우 파워쉘 Get-VM 후, Grant-VMConnectAccess -Username Administrator -VMName "VMName" 의 명령어로 권한을 복구 해주면 정상적으로 시작이 됩니다.