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


アクセス拒否エラー=許可の問題。adminを使用していますか?
magicandre1981

はい、管理者として実行しています。私はエラーが誤解を招くことに注意しました。下線のネットワークアダプターはネットワーク共有センターにありません。これはエラーだと思いますが、このvmswitchを削除するにはどうすればよいですか。
fluter

回答:


13

同様の問題は、MicrosoftのTechNetフォーラムで解決されました。

Virtual Switch Managerに仮想スイッチがセットアップされており、ネットワークと共有センターの「アダプター設定の変更...」を使用して、アダプターが誤って削除されています。さて、明らかにスイッチは障害状態にあり、リストから削除したいだけです。

最終的に、OPはレジストリ内で詳細な検索を実行し、次のキー内に格納された仮想スイッチ構成を見つけました。

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

そのキー内の対応する値を削除して再起動すると、仮想スイッチはなくなりました。

いつものように、現在の設定をエクスポートすることをお勧めします .reg同様の変更を試みる前ファイルにして適切なバックアップを取る。

(ソース:失敗した仮想スイッチをHyper-Vの仮想スイッチマネージャーから削除できません


1
これが私のために働いたことを確認できます。Thx
mloskot

レジストリにそのような値が見つかりません:/
Jurosh

1
これでうまくいきましたが、レジストリのネットワーク接続を掘り下げて削除する必要がありました。これにより、レジストリ内のdocker svcへのすべての参照が残ります。HKEY_LOCAL_MACHINE\ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada}およびHKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {
yada yada

14

Azure Powershellツールをインストールしたくなかったので、このビデオの手順に従ってくださいhttps : //www.youtube.com/watch?v=V5Gb342gSGg

基本的には、ネットワーク接続に移動->削除する仮想スイッチのプロパティを開く->構成->ドライバータブに移動->デバイスのアンインストール

次にHyper-Vサービスが新しいものを作成しないように、コンピューターを完全に無効にせずに再起動すると、各Hyper-Vサービスのスタートアップの種類を手動に変更しました。


これにより、レジストリ内のdocker svcへのすべての参照が残ります。HKEY_LOCAL_MACHINE\ SYSTEM \ CurrentControlSet \ Services \ vmsmp \ parameters \ SwitchList \ {yada yada}およびHKEY_LOCAL_MACHINE \ SYSTEM \ ControlSEt001 \ Control \ Network \ {
yada yada

1
断然最高のソリューション。レジストリに触れないようにすることをお勧めします。
ソレイユ

8

Dockerを使用していないにもかかわらず、使用せずに解決策を見つけたかったのでRobV8Rからの回答をregedit試み、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を削除するようにうまく機能しました。
フロッシュ

...また、Microsoftのクリーンアップドッカー指示に文書化されてdocs.microsoft.com/en-us/virtualization/windowscontainers/...
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

答えはかなり単純であることが判明しました。私が設定したのでnatNetSwitchを 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
参考までに、この手順は機能しない場合があります。私にはうまくいきません。Dockerサービスは実行されていませんが、まだぶら下がることはできません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

WiredまたはWLAN AutoConfigサービスが実行されていないというエラーメッセージが表示される場合は、[スタート]をクリックし、services.mscと入力して、適切なサービスを右クリックし、[ スタート]を選択します。

ここに画像の説明を入力してください

これで、コマンドを実行すると、プロファイルのリストが表示されます。私の場合、このコンピューターにはプロファイルが1つしかありません。

ここに画像の説明を入力してください

次に、次のコマンドを入力すると、目的のインターフェイスが削除されます。

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アドレスが表示されます。

ここに画像の説明を入力してください

そのレジストリキーに対応するネットワークアダプターを確認するには、コマンドプロンプトを開き(スタートしてcmdと入力)、ipconfigを入力します。

ここに画像の説明を入力してください

ご覧のとおり、イーサネットアダプタはIPアドレスが192.168.1.233のものです。したがって、{73123f2a-ad10-4f4b-900e…}で始まるInterfacesの下のキーを削除します。別のインターフェイスをクリックすると、そのうちの1つに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


ブリッジアダプターがありません。
ジョニー

@johnny「ネットワーク接続」ウィンドウからネットワークアダプターのスクリーンショットを共有できますか?この回答の手順に従って、Hyper-V拡張仮想スイッチプロトコルをアンインストールすることで解決できるかもしれません。
アレハンドロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.