Как удалить виртуальный коммутатор Ethernet Hyper-V

устаревший коммутатор виртуальной машины в Hyper-V больше не используется и при попытке удалить его, он всегда завершается со следующим сообщением:

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

попытка удалить в окне не работает, либо:

GUI

1
задан Run5k
21.12.2022 19:37 Количество просмотров материала 2858
Распечатать страницу

6 ответов

аналогичная проблема была решена на форумах TechNet от Microsoft:

у нас есть настройки виртуального коммутатора в Virtual Switch Manager и адаптер был удален по ошибке с помощью "изменить параметры адаптера..."Центра управления сетями и общим доступом. Теперь, очевидно, коммутатор находится в состоянии сбоя, и мы просто хотим удалить его из списка.

в конечном счете, OP выполнил глубокий поиск в реестре и нашел виртуальный коммутатор конфигурация хранится в следующем ключе:

в HKLM\система\CurrentControlSet на\услуги\VMSMP\параметры\SwitchList

после того, как они удалили соответствующее значение в этом ключе и перезагрузились, виртуальный коммутатор исчез.

как всегда, я бы рекомендовал экспортировать текущие настройки в .reg файл, чтобы иметь соответствующую резервную копию перед попыткой подобных изменений.

(источник: не могу удалить сбой виртуального коммутатора из диспетчера виртуальных коммутаторов Hyper-V)

10
отвечен Run5k 2022-12-23 03:25

Я не хочу, чтобы установить инструменты Azure PowerShell, поэтому я просто следовал инструкциям в этом видео: https://www.youtube.com/watch?v=V5Gb342gSGg

в основном вы идете в сетевые подключения - > открыть свойства для виртуального коммутатора, который вы хотите удалить -> нажмите Настроить -> перейдите на вкладку Драйвер -> Удалить устройство.

чтобы предотвратить создание новой службы Hyper-V при следующей перезагрузке компьютера, не отключая его полностью, я изменил Тип запуска каждой службы Hyper-V вручную.

5
отвечен mxgg250 2022-12-23 05:42

это было протестировано на Windows 10 1607.

короткий ответ, если вы используете Docker:

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

Ответ:

если вы столкнулись с этой ситуацией и контейнеры включены или Докер установлен, вам нужно остановить Докер, прежде чем вы можете удалить VMSwitch.

PS> Get-VMSwitch

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

Как видите, у меня есть VMSwitch по имени nat. Я хочу уйти.

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

ответ получилось довольно просто. Потому что я настроил nat VMSwitch с NetNat, я удалил NetNat. Я не уверен, что это необходимый шаг, но я все равно это сделал.

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

потом я остановил Докера.

PS> Stop-Service com.docker.service

и наконец

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"):

чтобы убедиться, что это было:

PS> Get-VMSwitch

Name                                   SwitchType NetAdapterInterfaceDescription
----                                   ---------- ------------------------------
DockerNAT                              Internal
Windows Phone Emulator Internal Switch Private
Primary Virtual Switch                 External   Intel(R) Wireless
4
отвечен RobV8R 2022-12-23 07:59

хотя я не использую Докер, я хотел найти решение без использования regedit, Так что после попытки ответ от RobV8R, я нашел инструкции на этот вопрос на MS Technet.

Get-HNSNetwork | Remove-HNSNetwork

или, для более отфильтрованное значение, это то, что мне нужно.

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

кроме того, я собираюсь предположить, что вы хотите следовать советам @mxgg250, и установить все службы hyper-v для ручного запуска, в противном случае он собирается воссоздать включите перезагрузку.

1
отвечен bradlis7 2022-12-23 10:16

существует более простой способ решить эту проблему на форумах TechNet от Microsoft:

Попробуйте удалить Мост Адаптер от "Панель Управления > сеть и интернет > Сетевые Подключения"

источник: https://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/e49df568-4f4c-47b7-b30c-952d1e26ca58/#8ecfa676-3184-4035-96de-10df079f706f

0
отвечен Alejandro 2022-12-23 12:33

Я не уверен, если это верно, но работал для меня: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/

0
отвечен Kamran 2022-12-23 14:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх