Tips/Windows

자식 VHD에서 Hyper-V가 안될때

Maximer 2014. 2. 2.
728x90

윈도우 7 출시이후 VHD 부팅을 사용하는 유저가 점점 늘어나는거 같습니다. 

제주변에도 한번 세팅해주면 다들 VHD에 빠져버리더군요.;

사설은 접어두고,

윈도우 8부터는 Hyper-V 기능이 추가되어서, 윈도우 8 부모 VHD에 모든 세팅을 한 뒤 

자식 VHD로 부팅하여 Hyper-V로 가상머신을 동작시키려면 아래와 같은 에러창이 생깁니다.

"하이퍼바이저가 실행되고 있지 않아 가상 컴퓨터를 시작할 수 없습니다."


답은 3번에 있습니다.


분명 부모VHD는 되는데 자식VHD는 안되니, BCD를 살펴서 차이점이 무엇인지 찾아볼까요?


위 스샷과 같이 자식 VHD에는 hypervisorlaunchtype 옵션이 없네요.

결국 bcd에서 Hyper-V 관련 옵션을 활성화시켜 주면 되겠네요.


그럼 왜 자식에는 이 옵션이 빠져있던걸까요?

부모 VHD는 Hyper-V기능을 활성화시켜주면 자동으로 BCD에 해당 옵션이 추가되니 문제가 없습니다.

그런데 스크립트(bcdedit)나 툴을 사용해 자식VHD를 부트메뉴에 추가해줄때 위 옵션이 빠지기 때문에 (대부분 윈7 기준이기에)

자식VHD로 부팅시에는 Hyper-V가 제대로 동작하지 않는 것이죠. 

(*아마 bcdboot로 추가시켜주면 자동으로 부모가 하이퍼V기능이 있다면 자식도 알아서 될거 같습니다.)

이럴경우 아래와 같이 명령어 한줄이면 됩니다.


bcdedit /set {GUID} hypervisorlaunchtype auto


{GUID}는 자식VHD걸로 적으면 되며 위스샷처럼 자식으로 부팅해서 {current}로 하셔도 되겠죠.




728x90

댓글