Cómo eliminar un conmutador Ethernet virtual Hyper-V

21

Ya no se usa un interruptor VM obsoleto en Hyper-V y cuando intento eliminarlo, siempre falla con el siguiente mensaje:

PS C:\> Get-VMSwitch nat

Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
nat  Private


PS C:\> Get-VMSwitch nat | Remove-VMSwitch -Force
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = 'acf82f05-c07c-4b35-8588-921498456027':    General access denied error (0x80070005).
At line:1 char:20
+ Get-VMSwitch nat | Remove-VMSwitch -Force
+                    ~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
+ FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

Intentar eliminar dentro de la GUI tampoco funciona:

GUI

flautista
fuente
error de acceso denegado = problema de permiso. ¿usas administrador?
magicandre1981
Sí, me estoy postulando como administrador. Noté que el error es engañoso. El adaptador de red subrayado desapareció en el centro compartido de red, creo que ese es el error, pero ¿cómo puedo eliminar este vmswitch?
Fluter

Respuestas:

13

Un problema similar se resolvió en los foros de TechNet de Microsoft:

Tenemos una configuración de conmutador virtual en el Administrador de conmutador virtual y el adaptador se ha eliminado por error mediante "Cambiar la configuración del adaptador ..." del Centro de redes y recursos compartidos. Ahora, obviamente, el interruptor está en un estado fallido y solo queremos eliminarlo de la lista.

Finalmente, el OP realizó una búsqueda en profundidad dentro del registro y encontró la configuración del conmutador virtual almacenada en la siguiente clave:

HKLM \ SYSTEM \ CurrentControlSet \ Services \ VMSMP \ Parameters \ SwitchList

Después de eliminar el valor correspondiente dentro de esa clave y reiniciar, el conmutador virtual desapareció.

Como siempre, recomendaría que exporte su configuración actual a un .regarchivo para tener una copia de seguridad adecuada antes de intentar cambios similares.

(Fuente: No se puede eliminar el conmutador virtual fallido del Administrador de conmutador virtual de Hyper-V )

Run5k
fuente
1
Puedo confirmar que esto funcionó para mí. Thx
mloskot
No puedo encontrar ese valor en el registro: /
Jurosh
1
Esto funcionó para mí, sin embargo TAMBIÉN tuve que buscar en la conexión de red en el registro para eliminarlo. Esto todavía dejó todas las referencias a la ventana acoplable del registro en el registro: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parámetros \ SwitchList \ {yada yada} y HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
14

No quería instalar las herramientas de Azure Powershell, así que solo seguí los pasos en este video: https://www.youtube.com/watch?v=V5Gb342gSGg

Básicamente, vaya a Conexiones de red -> abrir propiedades para el conmutador virtual que desea eliminar -> haga clic en Configurar -> vaya a la pestaña Controlador -> Desinstalar dispositivo.

Para evitar que el servicio Hyper-V cree uno nuevo la próxima vez que reinicie mi computadora sin desactivarla por completo, cambié el Tipo de inicio de cada servicio Hyper-V para que sea Manual.

mxgg250
fuente
Esto todavía dejó todas las referencias a la ventana acoplable del registro en el registro: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parámetros \ SwitchList \ {yada yada} y HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {yada yada}
JohnZaj
1
Con mucho, la mejor solución. Evitar tocar el registro debería ser una buena práctica.
Soleil
8

Aunque no estoy usando Docker, quería encontrar una solución sin usar regedit, así que después de intentar la respuesta de RobV8R , encontré instrucciones sobre esta pregunta en MS Technet .

Get-HNSNetwork | Remove-HNSNetwork

O, para una optoína más filtrada, esto es lo que necesitaba.

Get-HNSNetwork | ? Name -Like "Default Switch" | Remove-HNSNetwork

Además, voy a suponer que querrás seguir los consejos de @ mxgg250 y establecer todos los servicios de Hyper-V en inicio manual, de lo contrario, volverá a crear el interruptor al reiniciar.

bradlis7
fuente
"Get-HNSNetwork |? Name -Like 'nat' | Remove-HNSNetwork" - Funcionó muy bien para eliminar el VMSwitch 'nat' que quedó después de desinstalar Docker para Windows, ¡gracias!
Froosh
... que también está documentado en las instrucciones de limpieza de Docker de Microsoft docs.microsoft.com/en-us/virtualization/windowscontainers/…
Froosh
6

COMIENCE LA EDICIÓN

Las versiones más recientes de Windows 10 introdujeron un conmutador virtual "Red predeterminada".

Si este método no funciona, consulte la respuesta de @ bradlis7 para obtener otra opción.

EDICIÓN FINAL

Esto fue probado en Windows 10 1607.

Respuesta corta, si está usando Docker:

PS> Stop-Service com.docker.service
PS> Remove-ContainerNetwork -Name nat

Respuesta larga:

Si se encuentra con esta situación y tiene los Contenedores habilitados o Docker instalado, deberá detener Docker antes de poder quitar el VMSwitch.

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
nat                                    Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless

Como puede ver, tengo un VMSwitch llamado nat. Quiero que se vaya

PS> Remove-VMSwitch -Name nat

Confirm
Are you sure you want to remove the virtual switch "nat"?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Remove-VMSwitch : Failed while removing virtual Ethernet switch.
Switch delete failed, switch = '<guid>': General access denied error (0x80070005).
At line:1 char:1
+ Remove-VMSwitch -Name nat
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException
    + FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch

La respuesta resultó ser bastante simple. Como había configurado el natVMSwitch con un NetNat, eliminé el NetNat. No estoy seguro de si este es un paso necesario, pero lo hice de todos modos.

PS> Get-NetNat -Name '<name>' | Remove-NetNat

Entonces detuve a Docker.

PS> Stop-Service com.docker.service

Y finalmente

PS> Remove-ContainerNetwork -Name nat

Confirm
Remove-ContainerNetwork will remove the container network "nat".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):

Para asegurarse de que se haya ido:

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless
RobV8R
fuente
2
Para su información, este procedimiento puede no funcionar. A mi no me funciona. No se está ejecutando el servicio acoplable, aún no se puede volver a colgar nat. Por lo tanto, puede ser necesario recurrir a la respuesta @ Run5K
mloskot
4

No estoy seguro de si esto es correcto, pero funcionó para mí: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


ACTUALIZAR

Fuente: ¿ No se puede eliminar el adaptador de red en Windows 10?

Método 1: usar el Administrador de dispositivos

Lo primero que puede intentar hacer es abrir el Administrador de dispositivos (haga clic en Inicio y escriba Administrador de dispositivos), expanda Adaptadores de red y luego haga clic con el botón derecho en el adaptador de red que desea eliminar.

ingrese la descripción de la imagen aquí

Aquí, verá una opción llamada Desinstalar dispositivo. Esperemos que esto no se atenúe. Si es así, continúe con el siguiente método. Cuando seleccione desinstalar dispositivo, aparecerá otra ventana pidiéndole que confirme la desinstalación.

ingrese la descripción de la imagen aquí

También verá una opción para eliminar el software del controlador para el dispositivo. Si desea eliminar completamente el adaptador de red, le sugiero que seleccione esta opción para eliminar también el controlador. Si todo va bien, debería ver que el adaptador se ha eliminado tanto del Administrador de dispositivos como de la lista de adaptadores de red en el Panel de control.

Si no ve el dispositivo en la lista, puede intentar hacer clic en Ver y luego en Mostrar dispositivos ocultos .

Método 2: eliminar el perfil de red

También podemos intentar eliminar el perfil de red a través de la línea de comando y luego intentar el Método 1 nuevamente. Primero, debe abrir un símbolo del sistema elevado haciendo clic en Inicio, escribiendo CMD y luego haciendo clic derecho en el símbolo del sistema y seleccionando Ejecutar como administrador .

Ahora escriba el siguiente comando para ver todos los adaptadores con cable (Ethernet):

netsh lan show profiles

Si necesita quitar un adaptador inalámbrico, escriba este comando:

netsh wlan show profiles

Si recibe algún mensaje de error sobre el servicio de configuración automática de Wired o WLAN que no se está ejecutando, haga clic en Inicio, escriba services.msc, haga clic con el botón derecho en el servicio apropiado y seleccione Iniciar .

ingrese la descripción de la imagen aquí

Ahora, cuando ejecuta el comando, debería ver una lista de perfiles. En mi caso, solo tengo un perfil en esta computadora.

ingrese la descripción de la imagen aquí

Luego, escriba el siguiente comando, que eliminará la interfaz deseada.

netsh lan delete profile interface="InterfaceName"

Nuevamente, si se trata de una interfaz inalámbrica, use wlan en lugar de lan . El nombre de la interfaz aparece en la parte superior de cada encabezado ( Perfil en el nombre de la interfaz ) cuando ejecutó el comando show profiles. Una vez que se haya eliminado el perfil, reinicie su computadora e intente el Método 1 nuevamente.

Método 3: eliminar la configuración del adaptador a través del registro

IMPORTANTE

Si necesita editar el registro, asegúrese de hacer una copia de seguridad del registro primero .

Además de eliminar el perfil de red, también puede intentar eliminar la configuración del adaptador a través del registro. Después de eliminar la configuración, puede volver al método 1 e intentar eliminar el adaptador. Para eliminar la configuración, abra el editor del registro (haga clic en Inicio y escriba regedit.msc), y navegue a la siguiente clave:

HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - Tcpip - Parameters - Interfaces

Verá varios elementos enumerados con una larga serie de números aleatorios. Si hace clic en cada uno, verá la dirección IP asignada a ese adaptador de red.

ingrese la descripción de la imagen aquí

Puede confirmar qué adaptador de red corresponde a esa clave de registro abriendo un símbolo del sistema (Inicio y escriba cmd) y escribiendo ipconfig .

ingrese la descripción de la imagen aquí

Como puede ver, el adaptador Ethernet es el que tiene una dirección IP de 192.168.1.233. Por lo tanto, eliminaría la clave en Interfaces que comienza con {73123f2a-ad10-4f4b-900e ...} . Si hace clic en una interfaz diferente, una de ellas tendrá la IP 192.168.247.1, que corresponde al adaptador de red VMWare en la computadora. Nuevamente, esto solo elimina la configuración del adaptador, no el adaptador en sí. Reinicie la computadora e intente el Método 1 nuevamente.

Para más información, consulte el siguiente enlace:

https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/

Kamran
fuente
2

Antes de probar las soluciones anteriores, asegúrese de verificar el panel de "detalles" para ver el mensaje de error. En mi caso, se lee que la falla se produjo debido a que otras máquinas virtuales todavía usan el conmutador.

Apagar las máquinas virtuales y volver a intentarlo eliminó el interruptor.

Panel de detalles

Vaibhav Singh
fuente
0

Hay una forma más sencilla de solucionar el problema en los foros de TechNet de Microsoft:

Intente eliminar el adaptador de puente del " Panel de control > Redes e Internet > Conexiones de red "

Fuente: https://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/e49df568-4f4c-47b7-b30c-952d1e26ca58/#8ecfa676-3184-4035-96de-10df079f706f

Alejandro
fuente
1
No tengo un adaptador de puente.
Johnny
@johnny ¿Puede compartir una captura de pantalla de sus adaptadores de red desde la ventana "Conexiones de red"? Quizás pueda resolverlo desinstalando el protocolo del conmutador virtual extensible Hyper-V siguiendo las instrucciones de esta respuesta .
Alejandro