[Troubleshooting] Como Remover Placas de Redes Ocultas em Máquinas Virtuais no Hyper-V
Se você trabalha com Hyper-V provavelmente se depará algum dia com o seguinte cenário : Você cria uma máquina virtual, configura as placas de redes virtuais (nomes e ip), em seguida exporta. Ao importá-la em um outro servidor ou até no mesmo servidor você não consegue, algum erro ocorre que impede a importação (vou falar melhor sobre estes problemas de importação em outro artigo). Você não vai pensar duas vezes em criar uma nova máquina virtual, atribuir uma nova placa de rede e vincular o VHD existente certo ? Sim, mas considere que se a máquina virtual tinha snapshots elas serão perdidas, adote este modelo somente quando a VM não tiver nenhum snapshot, essa opção é válida mas saiba você vai se deparar com um problema esperado quando for tentar renomear ou informar o mesmo endereço IP nessa nova máquina.
Quando você ligar a VM, efetuar o logon, e tentar renomear a placa de rede em Network Connections com o nome que estava quando a máquina foi exportada, ou até mesmo informar o mesmo IP, você será notificado que não é possível pois já existe uma placa de rede com o mesmo nome e IP e pede para especificar um nome diferente.
Na figura acima, tentei renomear a placa Local Area Connection para Public e recebo a mensagem “Cannot rename this connection. A connection with the name you specified already exists. Specify a different name.”
Isso ocorre porque, quando você não Importa uma VM que foi exportada, você descarta o uso do arquivo GUID.XML original, neste arquivo contém o Hardware ID da placa de rede virtual que é comparada ao valor que fica armazenada no registro da VM, quando você cria uma nova VM e anexa o VHD um novo GUID é criado e ele não contém o mesmo valor anterior. Para a máquina virtual a placa de rede anterior ainda existe e mantém as informações originais, por isso que ocorre a mensagem de erro, ao tentar alterar ele lê o registro e não permite usar o mesmo nome. Essa informação fica perdida no registro da VM e precisa ser eliminada. Você pode ver este Hardware ID indo na placa de rede em Advanced ou Details e no campo Properties selecione Hardware Ids, o exemplo abaixo é de uma máquina física, para uma máquina virtutal o valor se inicia com VMBUS\.
Cuidado, se você pensou em alterar o arquivo .XML para alterar o Hardware ID da placa antiga, descarte esta opção, alterações neste arquivo não são suportadas pela Microsoft, a solução vai ser remover as placas de redes antigas, porém ao abrir o Device Manager elas não aparecem.
Repare que as placas de rede Microsoft Virtual Machine Bus Network Adapter #4, #5 e #6, são as três novas, e as antigas Microsoft Virtual Machine Bus Adapter, #2 e #3 ?.
Por padrão as placas antigas/legadas ficam ocultas no Device Manager, porém mesmo se você ir no menu View e clicar em Show Hidden Devices, elas ainda insistem em não aparecer. Você precisará executar um comando na VM para habilitá-lo.
Abra um prompt de comando com direitos elevados ( Run as Administrator ) e execute o comando C:\set devmgr_show_nonpresent_devices=1
Aqui ainda tem uma “pegadinha”, se você abrir o Device Manager pelo Server Manager, repare que as placas ainda insistem em não aparecer (talvez seja um bug), na imagem abaixo a imagem a esquerda que é o Server Manager ao cliar em Device Manager e expandir Network adapters, não lista as placas Virtual Machine Bus Network Adapter, #2 e #3 e se compararmos ao com o MMC do Device Manager ( lado direito) observe que as placas aparecem.
Abra diretamente o Device Manager (start devmgmt.msc) e finalmente exclua as placas que aparecem em cinza, depois disso poderá renomear a placa de rede e informar o mesmo IP.
Este comportamento também pode ocorrer com Hypervisors não Microsoft, como VMWare e Xen Server entre outros. Siga o mesmo procedimento e pronto !
Comments
Anonymous
January 01, 2003
E ai Alexandre, exatamente. Em cenários de P2V e mudanças de tipo de placa de rede realmente isso pode ocorrer. Obrigado pelo feedback ! []sAnonymous
March 30, 2011
GIlsao, vale a pena lembrar tbm em processo de P2V e tbm atualização de Drivers ou mudanca do tipo de adaptador de rede (synthetic para emulated e vice versa ou vmx2 para 3) esse problema pode ocorrer tbm. AbsAnonymous
September 17, 2014
Gilson, sei que o post é bem antigo, mas vou acrescentar uma info pra complementar.
Tua dica me ajudou muito, mas mesmo após o procedimento informado, continuou a não aparecer as placas ocultas no Device Manager.
O que tive que fazer foi TAMBÉM executar o comando "start devmgmt.msc" no prompt elevado. Desta forma, todas as placas apareceram.
Valeu.