How to Completely Remove Hyper-V Virtual Switch Extensions from Device Manager (Registry Fix Included)


2 views

Many Windows administrators and developers face this frustrating scenario: after uninstalling Hyper-V, its virtual switch extensions remain stubbornly present in Device Manager. These phantom adapters typically appear under "Network adapters" with names like "Hyper-V Virtual Ethernet Adapter" or under "System devices" as "Microsoft Hyper-V Virtual Switch Extension Adapter".

The standard right-click → Uninstall approach often fails because:

  • These are system-protected devices
  • Windows considers them critical components
  • The uninstall process requires elevated permissions beyond normal admin rights

Here's the most reliable method I've found after dealing with countless Hyper-V cleanup scenarios:

Step 1: Take Ownership of Registry Keys

First, we need to modify permissions for the Hyper-V related registry entries. Create a PowerShell script:


# Take ownership of Hyper-V virtual switch registry keys
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Enum\ROOT\VMS_VSMP"
takeown /F $regPath /A /R
icacls $regPath /grant administrators:F /T /C /Q

Step 2: Delete the Registry Entries

After gaining proper permissions, delete the problematic entries:


# Remove all Hyper-V virtual switch extensions
Remove-Item -Path $regPath -Recurse -Force

# Also clean up associated driver store
pnputil /delete-driver oem*.inf /uninstall /force

Step 3: Clean Up Device Manager

Finally, refresh Device Manager to see changes:


# Refresh device manager
devcon rescan

If registry editing seems too risky, try this deployment image method:


DISM /Online /Remove-Capability /CapabilityName:Microsoft-Hyper-V-All /quiet
DISM /Online /Disable-Feature /FeatureName:Microsoft-Hyper-V /Remove /quiet
  • Create a system restore point before making these changes
  • Some entries may require a reboot to fully disappear
  • Check for residual Hyper-V features in "Turn Windows features on or off"

After uninstalling Hyper-V or disabling its components, you may find virtual switch extension adapters lingering in Device Manager. These phantom devices often resist standard removal methods - right-clicking and selecting "Uninstall" does nothing, leaving your network configuration in a messy state.

The Hyper-V virtual switch extensions are protected system components tied to the Windows networking stack. Microsoft implements them with special security permissions that prevent casual deletion, even with administrator privileges. The registry keys controlling these adapters typically have SYSTEM-level ownership and restrictive ACLs.

Method 1: Using pnputil.exe (Recommended)

The built-in pnputil tool can forcefully remove stubborn drivers:

pnputil.exe /delete-driver oem##.inf /uninstall /force

First, identify the problematic drivers with:

pnputil.exe /enum-drivers

Method 2: Registry Permission Adjustment

If you need manual registry editing, first take ownership of the keys:

takeown /f HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VMS_VSMP /r /d y
icacls HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\ROOT\VMS_VSMP /grant administrators:F /t

Method 3: Using DevCon Utility

Microsoft's DevCon tool provides lower-level device control:

devcon remove "@ROOT\VMS_VSMP\*"

For batch removal of multiple Hyper-V virtual switch adapters:

@echo off
setlocal enabledelayedexpansion

for /f "tokens=2 delims=:" %%a in ('pnputil /enum-drivers ^| findstr "Hyper-V Virtual Switch"') do (
    set inf=%%a
    set inf=!inf:~1!
    echo Removing !inf!
    pnputil /delete-driver !inf! /uninstall /force
)

echo Cleaning registry remnants...
reg delete "HKLM\SYSTEM\CurrentControlSet\Enum\ROOT\VMS_VSMP" /f

After successful removal, prevent Hyper-V components from reinstalling these adapters:

dism /online /disable-feature /featurename:Microsoft-Hyper-V
dism /online /disable-feature /featurename:Microsoft-Hyper-V-All
dism /online /disable-feature /featurename:Microsoft-Hyper-V-Tools-All
  • Always create a system restore point before attempting these modifications
  • Some methods may require booting into Safe Mode
  • For domain-joined systems, additional enterprise policies might interfere with removal