web-dev-qa-db-ja.com

Hyper-V仮想イーサネットスイッチを削除する方法

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

16
fluter

同様の問題がマイクロソフトのTechNetフォーラムで解決されました。

仮想スイッチマネージャで仮想スイッチを設定しましたが、ネットワークと共有センターの[アダプタ設定の変更...]を使って誤ってアダプタが削除されました。今、明らかにスイッチは失敗状態にあり、私達はただリストからそれを削除したいと思います。

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

HKLM¥SYSTEM¥CurrentControlSet¥Services¥VMSMP¥Parameters¥SwitchList

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

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

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

12
Run5k

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

基本的には、ネットワーク接続 - >削除したい仮想スイッチのプロパティを開く - >設定をクリック - >ドライバタブ - >デバイスのアンインストールへと進みます。

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

9
mxgg250

BEGIN EDIT

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

ご覧のとおり、natという名前のVMSwitchがあります。それを消してほしいのです。

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

答えはかなり単純であることがわかりました。 NetNatでnat 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
6
RobV8R

私はDockerを使用していませんが、regeditを使用せずに解決策を見つけたかったので、 RobV8R からの回答を試みた後、 thisに関する指示を見つけました。 MS Technet に関する質問。

Get-HNSNetwork | Remove-HNSNetwork

あるいは、もっとフィルターされたオプトインのために、これは私が必要としたものです。

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

また、@ mxgg250のアドバイスに従い、すべてのhyper-vサービスを手動で開始するように設定します。そうしないと、再起動時にスイッチが再作成されます。

4
bradlis7

私はこれが正しいかどうかわからないが私のために働いた: https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows- 10 /


更新

出典: Windows 10でネットワークアダプタを削除できませんか?

方法1 - デバイスマネージャを使用する

最初に試すことができるのは、[デバイスマネージャ]を開き([スタート]ボタンをクリックし、[デバイスマネージャ]と入力します)、[ネットワークアダプタ]を展開し、削除するネットワークアダプタを右クリックすることです。

enter image description here

ここに、Uninstall deviceというオプションが表示されます。うまくいけば、これはグレーアウトされてはいけません。そうであれば、次の方法に進みます。デバイスのアンインストールを選択すると、アンインストールの確認を求める別のウィンドウが表示されます。

enter image description here

デバイスのドライバソフトウェアを削除するオプションも表示されます。ネットワークアダプタを完全に削除したい場合は、このオプションを選択してドライバも削除することをお勧めします。すべてうまくいけば、デバイスマネージャとコントロールパネルのネットワークアダプタの一覧の両方からアダプタが削除されたことがわかります。

ここにデバイスが表示されていない場合は、表示をクリックしてから非表示デバイスを表示をクリックしてみてください。

方法2 - ネットワークプロファイルを削除する

コマンドラインからネットワークプロファイルを削除してから、方法1をもう一度試すこともできます。まず、[スタート]ボタンをクリックし、[CMD]と入力して[コマンドプロンプト]を右クリックし、 [管理者として実行] を選択して昇格したコマンドプロンプトを開く必要があります。

次のコマンドを入力して、すべての有線(イーサネット)アダプタを確認します。

netsh lan show profiles

ワイヤレスアダプタを取り外す必要がある場合は、次のコマンドを入力してください。

netsh wlan show profiles

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

enter image description here

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

enter image description here

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

netsh lan delete profile interface="InterfaceName"

繰り返しますが、それがワイヤレスインターフェースの場合は、 lan の代わりに wlan を使用します。 show profilesコマンドを実行したときに、インターフェイス名は各見出しの上に表示されます( Profile on interface name )。プロファイルが削除されたら、コンピュータを再起動して方法1をもう一度試してください。

方法3 - レジストリからアダプタ設定を削除する

重要

レジストリを編集する必要がある場合は、必ずレジストリを最初にバックアップ してください

ネットワークプロファイルを削除するだけでなく、レジストリからアダプタ設定を削除することもできます。設定を削除したら、方法1に戻って、アダプタを削除しようとします。設定を削除するには、レジストリエディタを開き([スタート]ボタンをクリックしてregedit.mscと入力)、次のキーに移動します。

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

いくつかの項目が長い一連の乱数でリストされているのがわかります。それぞれをクリックすると、そのネットワークアダプタに割り当てられているIPアドレスが表示されます。

enter image description here

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

enter image description here

ご覧のとおり、イーサネットアダプタは192.168.1.233のIPアドレスを持つものです。そのため、 {73123f2a-ad10-4f4b-900e…} で始まるインタフェースの下のキーを削除します。別のインターフェースをクリックすると、そのうちの1つにIP 192.168.247.1が表示されます。これは、コンピューターのVMWareネットワークアダプターに対応しています。繰り返しますが、これはアダプタの設定のみを削除し、アダプタ自体は削除しません。コンピュータを再起動して方法1をもう一度試してください。

詳細については、次のリンクを参照してください。

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

2
Kamran

上記の解決策を試す前に、エラーメッセージの「詳細」ペインを確認してください。私の場合は、他の仮想マシンがまだスイッチを使用しているために障害が発生したことがわかります。

VMをオフにしてもう一度やり直すと、スイッチは削除されました。

詳細ペイン

1
Vaibhav Singh

MicrosoftのTechNetフォーラムで問題を解決するためのもっと簡単な方法があります。

ブリッジアダプタ を「 コントロールパネル > ネットワークとインターネットから削除してみます > ネットワーク接続

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

0
Alejandro