分配给不存在的适配器的 IP 地址

hob*_*ell 5 networking network-adapter hyper-v windows-10

所以我今天下午在我的工作计算机上自动收到了 Windows 10 周年更新(违背我的意愿和我明确的无更新设置)。当我重新登录时,除一个之外我的所有网络适配器都消失了(我以前通过 Hyper-V 设置了一个虚拟交换机以允许模拟设备访问互联网)。

当我尝试为剩余的 NIC 分配 IP 地址时,我收到以下令人愉快的消息:

您为此网络适配器输入的 IP 地址已分配给此计算机上的另一个适配器“Hyper-V 虚拟以太网适配器”。如果将相同的地址分配给两个适配器并且两者都变为活动状态,则只有其中一个将使用该地址。这可能会导致系统配置不正确。

更新似乎无益地卸载了 hyper-v 管理器,但这样做的方式是过去网络的幽灵仍然困扰着我。

在设备管理器中查看时,不会出现列出的适配器。让设备管理器“显示隐藏的设备”也不会让它出现(即使我运行“set devmgr_show_nonpresent_devices=1”命令)。

Ipconfig 也不列出设备。

我想也许如果我重新安装 Hyper-V,我就可以从那里管理它,但是这样做并重新启动后,适配器也不在那里。

我尝试通过“remove-vmswitch”在 Powershell 中删除它,但失败了,说它找不到这样的适配器。

如何删除这个明显不可见的适配器的所有痕迹,以便我的 NIC 重新开始正常工作?

Dav*_*ard 6

警告

在此处插入常用的注册表编辑警告 - 简而言之,在您弄乱注册表之前备份您的系统,如果您不习惯这样做,请不要弄乱它。


现在,这已经不在路上了......

在以下注册表位置搜索 IP 地址:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Run Code Online (Sandbox Code Playgroud)

如果您在 GUID 键(即{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx})下找到有问题的 IP 地址,则在以下位置应该有一个相关键:

HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\####
Run Code Online (Sandbox Code Playgroud)

其中有一个名为“ NetCfgInstanceId”的子值,其 GUID 与您在第一次搜索中标识的相同。

您还将在以下位置找到对该 GUID 的引用:

HKLM\SYSTEM\CurrentControlSet\Control\Network\{4d36e972-e325-11ce-bfc1-08002be10318}
Run Code Online (Sandbox Code Playgroud)

其子键\值Connection\Name包含您在控制面板的网络设备视图中看到的网络连接名称(即“局域网”)。

我还没有在 Windows 10 中这样做过,但在以前版本的 Windows(7 和 2008 R2)中,我已经删除了所有三个引用 NIC/IP 的键(不要删除包含所有 NIC 的父键在系统上 - 只是您遇到问题的特定 NIC/IP 的密钥),以便摆脱您所描述的问题。至少您应该先导出密钥,以便您可以根据需要将它们添加回来。

而且,我不记得了,但如果您必须在更改生效之前重新启动,我不会感到惊讶。

仅供参考:当 Windows 说您尝试分配给网络连接/网卡的名称正在使用中并且您看不到它时,可以使用相同的方法。(名称将在 下HKLM\SYSTEM\CurrentControlSet\Control\Network\{4d36e972-e325-11ce-bfc1-08002be10318}\<GUID>\Connection\Name