Introdução



Caso você não tenha previamente exportado uma máquina virtual, não será possível usar o menu “importar” no Hyper-V.

Isso pode acontecer se a sua ferramenta de backup não marca as máquinas virtuais como “importáveis”. Ferramentas como o System Center DPM não tem esse problema.

Mas, caso aconteça contigo, pode usar esse método manual para adicionar a máquina ao Hyper-V. Vale ressaltar que não é um método “oficial”.

 

Vídeo Demonstração

 

Cenário

Para o exemplo, vou utilizar o caminho T:\Servidor_para_restaurar. Nesta pasta está a VM (virtual machine) para ser restaurada, o caminho completo está assim T:\Servidor_para_restaurar\Virtual Machines.

Vamos imaginar que essa VM foi simplesmente copiada para esse local e agora precisa ser importada novamente para o Hyper-V.

O Windows utilizado é em inglês.



Descobrindo o SID

O Hyper-V utiliza um recurso inaugurado no Windows 2008, chamado de “Service SIDs”. Você precisará descobrir o SID de sua VM para continuarmos o procedimento.

Navegue na pasta da VM e copie o nome do arquivo XML, que no meu caso ficou assim: B5CFFFE2-426B-4FE3-9235-1D17591E5CBC.



Links simbólicos e permissões

Agora precisamos “montar” a estrutura da máquina virtual, com links simbólicos e suas devidas permissões, para que o Hyper-V possa “enxergar” a VM.

No meu caso eu preciso criar um link simbólico da minha VM na pasta: "%systemdrive%\programdata\Microsoft\Windows\Hyper-V\Virtual Machines"

Abra o prompt de comando (CMD) e execute o comando:

C:\>mklink "%systemdrive%\programdata\Microsoft\Windows\Hyper-V\Virtual Machines\ B5CFFFE2-426B-4FE3-9235-1D17591E5CBC.xml" " T:\Servidor_para_restaurar\Virtual Machines \ B5CFFFE2-426B-4FE3-9235-1D17591E5CBC.xml"

Lembre-se de alterar o que está em negrito para o seu caso.

Agora vamos colocar a permissão para esse apontamento:

C:\>icacls "%systemdrive%\programdata\Microsoft\Windows\Hyper-V\Virtual Machines\ B5CFFFE2-426B-4FE3-9235-1D17591E5CBC.xml" /grant "NT VIRTUAL MACHINE\ B5CFFFE2-426B-4FE3-9235-1D17591E5CBC ":(F) /L

C:\>icacls T:\Servidor_para_restaurar \ /T /grant "NT VIRTUAL MACHINE\ B5CFFFE2-426B-4FE3-9235-1D17591E5CBC ":(F)

Com isso a VM já deve aparecer no Hyper-V, reinicie o serviço ou o próprio servidor para verificar.

(em alguns casos você pode não ter o NT VIRTUAL MACHINE, procure por algo do tipo S-1-5-83)



Acertando os instantâneos (ou snapshots)

Caso a sua VM tenha instantâneos (prefiro chamar de snapshot) você deverá criar o link simbólico e configurar as permissões também.

Cada snapshot tem o seu SID (que é diferente do SID da VM) e será necessário repetir os passos abaixo para cada um:

C:\>mklink "%systemdrive%\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\7DD74401-C2B4-4BD9-8079-3D48D8A78B32.xml" " T:\Servidor_para_restaurar \Snapshots\7DD74401-C2B4-4BD9-8079-3D48D8A78B32.xml"

E as permissões:

 C:\>icacls "%systemdrive%\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\7DD74401-C2B4-4BD9-8079-3D48D8A78B32.xml" /grant "NT VIRTUAL MACHINE\2F855D88-F990-47BA-95D6-0029BCD8C059":(F) /L



Finalizando

Antes de religar a sua VM, entre nas configurações e acerte as conexões de rede, que devem estar com “network error”.

Esse método não é oficial e não é suportado pela Microsoft.