没有可用的网卡适配器

问题现象

登录到Windows操作系统的云服务器ECS实例后,发现网络连接中断,无法访问公网或内网资源。

  • 错误信息:

    • 在系统的网络设置界面或网络和共享中心,明确提示“没有可用的网卡适配器”。

    • 在命令提示符(CMD)中执行 ipconfig /all 命令,输出为空,或仅显示隧道适配器信息,没有物理网卡(以太网适配器)的配置详情。

  • 系统行为:

    • 桌面右下角的网络图标显示为红叉或地球图标带禁止符号,表示无网络连接。

    • 打开“网络连接”(通过运行 ncpa.cpl 命令),窗口内可能没有任何网络适配器图标,或者适配器图标显示为灰色(已禁用)。

    • 在“设备管理器”中,展开“网络适配器”类别,可能看不到任何网卡设备,或者看到一个“未知设备”,或者对应的网卡设备图标上带有一个黄色的感叹号(!)或一个向下的箭头(↓)。

  • 复现路径:此问题通常在实例重启、安装/卸载特定软件、或更新驱动程序后出现。

问题原因

该问题通常由以下几种原因导致,核心都指向操作系统无法正确识别并使用物理网络接口:

  1. 驱动程序缺失或损坏:ECS实例依赖特定的VirtIO网卡驱动与底层虚拟化平台通信。如果该驱动未被正确安装、被误卸载或其文件已损坏,操作系统将无法识别到网卡硬件。

  2. 网卡设备被禁用:网卡适配器在操作系统层面被手动或被某些策略(如组策略)禁用了。虽然驱动正常,但设备处于非活动状态,因此网络不可用。

  3. 驱动程序状态异常:安装了不兼容或错误的驱动版本,导致驱动程序未能成功加载,设备处于错误状态(在设备管理器中显示为黄色感叹号)。这可能是由于Windows更新自动安装了不合适的驱动,或手动安装了错误的驱动程序。

解决方案

远程连接登录到您的Windows实例,然后按照以下步骤进行排查和修复。

  1. 检查网络连接状态。

    1. 按 Win + R 键打开“运行”对话框,输入ncpa.cpl并回车,打开网络连接。

    2. 网络连接窗口中,查看是否有显示为灰色的、名称为“以太网”或类似的适配器图标。

      • 如果存在,右键单击该图标,然后选择启用。启用后,图标应变为彩色,网络连接通常会立即恢复。

      • 如果网络连接窗口为空,或网卡启用后问题依旧,则需要检查设备管理器中的驱动状态。

  2. 检查设备状态和驱动状态。

    1. 按 Win + X 键,从菜单中选择设备管理器

    2. 在设备管理器中,展开网络适配器类别。

      • 情况A:设备带向下箭头。这表示设备被禁用。右键单击该设备,选择启用设备

      • 情况B:设备带黄色感叹号。这表示驱动程序存在问题。请继续执行后续修复步骤。

      • 情况C:网络适配器类别下为空,或存在“未知设备”。这通常意味着驱动程序完全未安装。

  3. 修复驱动程序

    • 方法1:自动搜索驱动(适用于驱动已存在但加载异常)

      1. 右键单击带黄色感叹号的网卡设备或“未知设备”,选择更新驱动程序

      2. 在弹出的窗口中,选择自动搜索驱动程序,让Windows尝试自动查找并安装。

    • 方法2:重新安装设备(适用于驱动状态异常)

      1. 右键单击带黄色感叹号的网卡设备,先选择禁用设备,然后再选择启用设备,看是否恢复。

      2. 如果无效,再次右键单击该设备,选择卸载设备。如果弹出提示,不要勾选删除此设备的驱动程序软件

      3. 卸载后,单击设备管理器顶部的操作(A) 菜单,选择扫描检测硬件改动,系统会重新发现该设备并尝试为其安装驱动。

    • 方法3:手动安装阿里云官方VirtIO驱动(推荐方法)

      请参考安装virtio驱动的文档指引,从阿里云官方下载适合您操作系统版本的驱动程序,并按照步骤进行安装。

    • 方法4:回滚驱动程序(适用于驱动更新后出现问题)

      如果问题是在近期驱动更新后出现的,可以尝试回滚到上一个版本。

      1. 右键单击网卡设备,选择属性

      2. 切换到驱动程序选项卡,如果回滚驱动程序按钮是可点击状态,则点击它进行回滚。

  4. 重启ECS实例

    在完成任何驱动程序的安装、卸载或更新操作后,建议重启ECS实例,以确保更改完全生效。