Home > Cloud, Microsoft, Virtualization, Windows 2012 > Removing the ghost Hyper-V vNic adapter when using Converged Networks after in-place upgrade to W2012R2

Removing the ghost Hyper-V vNic adapter when using Converged Networks after in-place upgrade to W2012R2

November 20, 2013 Leave a comment Go to comments

Scenario:

You have a Windows 2012 with NIC Team configured, Hyper-V Virtual Switch and vNIC’s and you have done an in-place upgrade to Windows 2012 R2

What will happen:

You will find out that the Hyper-V Virtual Nic Adapter (vNIC) is disconnected (as shown below). As you can see, the Management and Migration vNIC’s are showing as network cable unplugged.
pic1

You can also use wmi to query for the vNIC’s (pictured below):

gwmi   -nnamespace root\virtualization\v2  -Class MSVM_InternalEthernetPort | select elementname

pic3

What should you do to avoid this situation:

Recommendation: Before upgrading from Windows 2012 to Windows 2012 R2, make sure you remove the Hyper-V Virtual Switches and the Network Team (in this order).

What you could do if you did not follow the recommended approach:

Below I describe the step by step that you need to take in order to get the ghost vNIC’s removed.
Note: The following process was certified by Ben Armstrong (aka Virtual PC Guy), Microsoft PM for Hyper-V and it is supported by Microsoft, as a valid similar approach that fix the Physical Networking by using the registry, as per MS KB : http://support.microsoft.com/kb/146333 ( don’t follow the method described in that article, to fix the VNIC issue.)

Steps:

1. in the Network Connections, take note of the vNIC name (e.g. Hyper-V Virtual Ethernet Adapter #2)  in the properties: Select the vNIC (e.g. Management), right click properties ( as per below):

pic2

2. Open the registry: Windows Key + R, then type regedit

3. Locate the following Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ROOT\VMS_MP

4. Go though the folders until you find the folder that contains the FriendlyName with the SAME name of the ghost vNIC

pic4

5.  Select the Folder, right click and select Permissions, click on Advanced and replace the owner of the folder to Local Server Administrators (currently: System), by clicking on Change, typing Administrators (make sure the From this location show your server name) and click OK.

pic5

6. Disable the inheritance by clicking on Disable inheritance and then clicking on Convert inherited permissions into explicit permissions on this object and then add the local server Administrators group with Full Control

pic6

7. Select all the objects INSIDE the folder, right click and click on Delete

pic7

8. Repeat the steps 5-7 for all ghosts vNIC’s and close the registry

9. Open the Device Manager: Windows Key, type Device Manager and click on Scan for Hardware Changes. ( Select the Server Name, Click on Action and then Scan for Hardware Changes)

pic8

…and you are done! All fixed. Go back to Network Connections and refresh and you will noticed that the ghosts vNIC’s are all gone.

Thanks to Ben Armstrong, who actually found this solution and Taylor Brown.

  1. jon
    April 14, 2014 at 21:51

    There’s a typo in the gwmi command, the first parameter should be -namespace, not -nnamespace.

  2. Steven Gill
    October 25, 2014 at 23:29

    Useful tip:
    copy psexec to system32 then
    use “psexec -si regedit” to run regedit as system then you can delete the keys directly without changing ownership!

  3. steve heller
    September 23, 2017 at 01:15

    How about deleting the virtual switches? Those just keep accumulating in device manager.

    • October 31, 2017 at 22:25

      Run the PowerShell command to find the list of Virtual Switches
      Get-VMNetworkAdapter -ManagementOS
      Then run the command remove-vmnetworkadapter passing the names as parameters

  4. Anony
    July 25, 2020 at 20:21

    Life saver, still a thing in Windows 10 after removing Hyper-V…

  1. November 25, 2013 at 20:02
  2. November 27, 2013 at 22:21
  3. November 27, 2013 at 22:22

Leave a comment