Cannot remove Hyper-V default switch

Guide to understanding why the "Default Switch" exists in Hyper-V and how to manage or hide it.

Why You Can't Remove It

Since Windows 10 Fall Creators Update (1709), Hyper-V includes a permanent "Default Switch".

The Problem

Users often want to remove it because:

  1. It creates clutter in network adapters.
  2. It changes IP subnets after every reboot (breaking static IPs).
  3. It interferes with other network configurations.

Solution 1: Use a Different Switch (Recommended)

Instead of trying to remove the Default Switch, simply don't use it.

  1. Open Hyper-V Manager.
  2. Go to Virtual Switch Manager.
  3. Create a New virtual network switch.
    • External: Connects directly to your physical network (Best for servers).
    • Internal: For private communication between host and VMs.
  4. Assign your VMs to this new switch instead of "Default Switch".

Solution 2: Disable the Adapter (Not Permanent)

You can disable the network adapter, but Windows may re-enable it on reboot.

  1. Press Win + R, type ncpa.cpl.
  2. Right-click vEthernet (Default Switch).
  3. Select Disable.

Solution 3: Hide the Adapter (PowerShell)

You can't delete it, but you can hide it from the "Network Connections" window so it doesn't annoy you.

Run PowerShell as Administrator:

# Hide the Default Switch
$netAdapter = Get-NetAdapter -Name "vEthernet (Default Switch)"
$netAdapter | Set-NetAdapter -InterfaceDescription "Hidden Default Switch" -Confirm:$false

(Note: Hiding options are limited in newer Windows versions)

Static IP Issues

The Default Switch changes its subnet dynamically on every reboot. This means you cannot set a static IP inside a VM using the Default Switch.

Fix: Use an Internal Switch with NAT if you need static IPs but want NAT functionality.

# Create stable NAT switch
New-VMSwitch -Name "StableNAT" -SwitchType Internal
New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias "vEthernet (StableNAT)"
New-NetNat -Name "StableNATNetwork" -InternalIPInterfaceAddressPrefix 192.168.100.0/24

Then connect VMs to "StableNAT".

User