Hyper-V 가상 이더넷 스위치를 제거하는 방법


21

Hyper-V의 오래된 VM 스위치는 더 이상 사용되지 않으며 삭제하려고하면 항상 다음 메시지와 함께 실패합니다.

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 내에서 삭제를 시도해도 작동하지 않습니다.

GUI


액세스 거부 오류 = 권한 문제. 당신은 관리자를 사용합니까?
magicandre1981

예, 관리자로 실행 중입니다. 오류가 잘못되었다고 지적했습니다. 밑줄 네트워크 어댑터가 네트워크 공유 센터에 들어갔습니다. 이것이 오류라고 생각하지만이 vmswitch를 어떻게 제거 할 수 있습니까?
fluter

답변:


13

Microsoft의 TechNet 포럼에서도 비슷한 문제가 해결되었습니다.

Virtual Switch Manager에 가상 스위치 설정이 있으며 네트워크 및 공유 센터의 "어댑터 설정 변경 ..."을 사용하여 어댑터가 실수로 삭제되었습니다. 이제 스위치가 실패 상태에 있고 목록에서 제거하려고합니다.

결국 OP는 레지스트리 내에서 심도있는 검색을 수행하고 다음 키 내에 저장된 가상 스위치 구성을 찾았습니다.

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

해당 키 내에서 해당 값을 삭제하고 재부팅 한 후 가상 스위치가 사라졌습니다.

항상 그렇듯이 .reg유사한 변경을 시도하기 전에 현재 설정을 파일로 내 보내서 적절한 백업을 수행하는 것이 좋습니다 .

(출처 : Hyper-V의 Virtual Switch Manager에서 실패한 가상 스위치를 제거 할 수 없음 )


1
나는 이것이 나를 위해 일한 것을 확인할 수 있습니다. Thx
mloskot

레지스트리에서 이러한 값을 찾을 수 없습니다 : /
Jurosh

1
이것은 나를 위해 일했지만 레지스트리를 삭제하기 위해 네트워크 연결을 파헤쳐 야했습니다. 이것은 여전히 레지스트리에서 고정 표시기의 SVC에 대한 모든 참조를 왼쪽 : HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \ 서비스 \ vmsmp \ 매개 변수 \ SwitchList \ {궁시렁 궁시렁} 및 HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ 컨트롤 \ 네트워크 \ {궁시렁 궁시렁}
JohnZaj

14

https://www.youtube.com/watch?v=V5Gb342gSGg :이 비디오의 단계를 수행하기 위해 Azure Powershell 도구를 설치하고 싶지 않았습니다.

기본적으로 네트워크 연결-> 삭제하려는 가상 스위치의 속성 열기-> 구성-> 드라이버 탭-> 장치 제거로 이동하십시오.

다음 번에 컴퓨터를 비활성화하지 않고 다시 시작할 때 Hyper-V 서비스가 새 컴퓨터를 만들지 못하게하려면 각 Hyper-V 서비스의 시작 유형을 수동으로 변경했습니다.


이것은 여전히 레지스트리에서 고정 표시기의 SVC에 대한 모든 참조를 왼쪽 : HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \ 서비스 \ vmsmp \ 매개 변수 \ SwitchList \ {궁시렁 궁시렁} 및 HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ 컨트롤 \ 네트워크 \ {궁시렁 궁시렁}
JohnZaj

1
지금까지 최고의 솔루션. 레지스트리를 건드리지 않는 것이 가장 좋습니다.
Soleil

9

Docker를 사용하지 않더라도을 사용하지 않고 솔루션 을 찾으려고regedit 했기 때문에 RobV8R에서 답변을 시도한 후 MS Technet 에서이 질문에 대한 지침을 찾았습니다 .

Get-HNSNetwork | Remove-HNSNetwork

또는 더 필터링 된 옵토 인의 경우 이것이 내가 필요한 것입니다.

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

또한 @ mxgg250의 조언을 따르고 모든 hyper-v 서비스를 수동 시작으로 설정한다고 가정합니다. 그렇지 않으면 재부팅시 스위치를 다시 생성합니다.


"Get-HNSNetwork |? Name -Like 'nat'| Remove-HNSNetwork"-Docker for Windows를 제거한 후 남은 'nat'VMSwitch를 제거하는 데 도움이되었습니다. 감사합니다.
Froosh


6

시작 편집

최신 버전의 Windows 10에는 "기본 네트워크"가상 스위치가 도입되었습니다.

이 방법으로 문제가 해결되지 않으면 다른 옵션에 대한 @ bradlis7의 답변을 참조하십시오.

편집 종료

이것은 Windows 10 1607에서 테스트되었습니다.

Docker를 사용하는 경우 짧은 답변 :

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

긴 답변 :

이 상황이 발생하고 컨테이너를 사용하거나 Docker를 설치 한 경우 VMSwitch를 제거하기 전에 Docker를 중지해야합니다.

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

대답은 다소 간단하다는 것이 밝혀졌습니다. natNetNat을 사용하여 VMSwitch를 구성 했으므로 NetNat을 제거했습니다. 이것이 필요한 단계인지 확실하지 않지만 어쨌든했습니다.

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

그런 다음 Docker를 중지했습니다.

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

2
참고로이 절차가 작동하지 않을 수 있습니다. 그것은 나를 위해 작동하지 않습니다. 도커 서비스가 실행되고 있지 않지만 여전히 댕글 링을받을 수 없습니다 nat. 따라서 @ Run5K 답변에 의존해야 할 수도 있습니다
mloskot

4

이것이 맞는지 확실하지 않지만 나를 위해 일했습니다 : https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


최신 정보

출처 : Windows 10에서 네트워크 어댑터를 삭제할 수 없습니까?

방법 1 – 장치 관리자 사용

가장 먼저 시도 할 수있는 것은 장치 관리자를 열고 (시작을 클릭하고 장치 관리자를 입력) 네트워크 어댑터를 확장 한 다음 제거 할 네트워크 어댑터를 마우스 오른쪽 단추로 클릭하십시오.

여기에 이미지 설명을 입력하십시오

여기에 장치 제거라는 옵션이 표시됩니다. 이것은 회색으로 표시되지 않아야합니다. 그렇다면 다음 방법으로 계속 진행하십시오. 제거 장치를 선택하면 제거 확인을 요청하는 다른 창이 나타납니다.

여기에 이미지 설명을 입력하십시오

장치의 드라이버 소프트웨어를 삭제하는 옵션도 표시됩니다. 네트워크 어댑터를 완전히 제거하려면이 옵션을 선택하여 드라이버도 제거하는 것이 좋습니다. 문제가 해결되지 않으면 장치 관리자와 제어판의 네트워크 어댑터 목록에서 모두 어댑터가 제거 된 것을 볼 수 있습니다.

여기에 장치가 표시되지 않으면 보기 를 클릭 한 다음 숨겨진 장치 표시 를 클릭하십시오 .

방법 2 – 네트워크 프로필 삭제

명령 줄을 통해 네트워크 프로필을 삭제 한 다음 방법 1을 다시 시도 할 수도 있습니다. 먼저 시작을 클릭하고 CMD를 입력 한 다음 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭 하고 관리자 권한으로 실행을 선택하여 관리자 권한 명령 프롬프트를 열어야합니다 .

이제 모든 유선 (이더넷) 어댑터를 보려면 다음 명령을 입력하십시오.

netsh lan show profiles

무선 어댑터를 제거해야하는 경우 다음 명령을 입력하십시오.

netsh wlan show profiles

유선 또는 WLAN 자동 구성 서비스 가 실행되고 있지 않다는 오류 메시지가 표시되면 시작을 클릭하고 services.msc를 입력 한 다음 해당 서비스를 마우스 오른쪽 단추로 클릭하고 시작을 선택 하십시오 .

여기에 이미지 설명을 입력하십시오

이제 명령을 실행할 때 프로파일 목록이 표시됩니다. 제 경우에는이 컴퓨터에 하나의 프로필 만 있습니다.

여기에 이미지 설명을 입력하십시오

다음 명령을 입력하면 원하는 인터페이스가 삭제됩니다.

netsh lan delete profile interface="InterfaceName"

다시 무선 인터페이스 인 경우 lan 대신 wlan 을 사용 하십시오 . show profiles 명령을 실행하면 인터페이스 이름 이 각 표제의 맨 위에 표시됩니다 ( 인터페이스 이름의 프로파일). 프로필이 삭제되면 컴퓨터를 다시 시작하고 방법 1을 다시 시도하십시오.

방법 3 – 레지스트리를 통해 어댑터 설정 제거

중대한

레지스트리를 편집해야 할 경우 먼저 레지스트리를 백업하십시오 .

네트워크 프로파일을 삭제하는 것 외에도 레지스트리를 통해 어댑터 설정을 제거 할 수도 있습니다. 설정을 제거한 후 방법 1로 돌아가서 어댑터를 제거 할 수 있습니다. 설정을 제거하려면 레지스트리 편집기를 열고 (시작을 클릭하고 regedit.msc를 입력) 다음 키로 이동하십시오.

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

일련의 임의의 숫자가 나열된 여러 항목이 표시됩니다. 각각을 클릭하면 해당 네트워크 어댑터에 할당 된 IP 주소가 표시됩니다.

여기에 이미지 설명을 입력하십시오

명령 프롬프트 (Start 및 type cmd)를 열고 ipconfig를 입력하여 해당 레지스트리 키에 해당하는 네트워크 어댑터를 확인할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

보다시피, 이더넷 어댑터는 IP 주소가 192.168.1.233 인 어댑터입니다. 따라서 {73123f2a-ad10-4f4b-900e…}로 시작하는 인터페이스에서 키를 삭제합니다 . 다른 인터페이스를 클릭하면 그 중 하나의 IP 192.168.247.1이 컴퓨터의 VMWare 네트워크 어댑터에 해당합니다. 다시 말하지만, 어댑터 자체가 아닌 어댑터의 설정 만 삭제합니다. 컴퓨터를 다시 시작하고 방법 1을 다시 시도하십시오.

자세한 내용은 다음 링크를 참조하십시오.

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


2

위의 해결 방법을 시도하기 전에 '세부 사항'창에서 오류 메시지를 확인하십시오. 필자의 경우 여전히 스위치를 사용하는 다른 VM으로 인해 오류가 발생했음을 읽었습니다.

VM을 끄고 다시 시도하면 스위치가 제거되었습니다.

세부 정보 창


0

Microsoft TechNet 포럼에서 문제를 해결하는 더 간단한 방법이 있습니다.

" 제어판 > 네트워크 및 인터넷 > 네트워크 연결 " 에서 브리지 어댑터 를 삭제하십시오.

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


1
브리지 어댑터가 없습니다.
johnny

@johnny "네트워크 연결"창에서 네트워크 어댑터의 스크린 샷을 공유 할 수 있습니까? 이 답변 의 지침에 따라 Hyper-V Extensible Virtual Switch 프로토콜을 제거하여 해결할 수 있습니다 .
Alejandro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.