☰
Intel X722网卡在Server 2012 R2上的驱动安装与避坑指南
2026/10/13 16:48:15 网站建设 项目流程

简介:这是一份面向Windows Server 2012 R2 x64环境的Intel X722网卡驱动更新包,版本26.6,适用于数据中心和企业网络中部署X722控制器的运维与网络工程师,可用于解决驱动兼容性问题、增强10GbE/25GbE高速链路稳定性并优化高负载传输性能。压缩包内共110个文件,以exe驱动安装程序为核心,配合大量htm、gif、png、css等格式的安装指南与界面文档,以及txt说明、pdf许可协议和tic校验文件,整体约29.23MB,结构兼顾驱动本体、部署指引和授权信息,便于离线安装与更新存档。目前已有2181人学习下载,通过其中readme文档可了解更新内容与已知问题,installation页面提供图形化安装步骤,license文件明确使用条款,适合具有一定服务器维护经验的技术人员参考使用。该驱动作为Intel X722控制器的重要软件组件,对保障10GbE/25GbE网卡稳定运行、恢复异常连接及提升吞吐表现有直接作用。

1. INTEL X722_driver_26.6_x64.zip 这个驱动包,解决的是老系统上识别不到新网卡的尴尬

INTEL X722_driver_26.6_x64.zip 是我在给某公司一批准备升级万兆的 Server 2012 R2 物理机装网卡的时候第一次认真研究的驱动包。X722 不是消费级独立网卡,是集成在服务器主板上的 10GbE 以太网控制芯片,支持 SR-IOV 和 iWARP。这批机器原来跑千兆没觉得有什么,换上 X722 网卡后,系统只能识别到“以太网控制器”打感叹号,装驱动的过程远比想象中曲折。后来才发现,问题出在驱动包版本和系统补丁的配合上,以及旧驱动的清理没做干净。这篇就从拆包、清理、静默安装到验证给出一条完整可复现的路径,适合还在让 2012 R2 老机器跑生产的人参照。

2. 先搞清楚包里的东西再动手:X722 驱动包结构和系统要求

2.1 X722 是块什么样的网卡:10GbE、iWARP 和 SR-IOV 都靠驱动暴露

X722 在服务器平台里的定位是板载网络控制器,经常和主板管理控制器打包出现在同一块 SoC 附近,外部表现为一个或多个万兆以太网口。它和独立网卡的最大区别是:芯片焊在主板上,PCIe 链路和 MAC 地址都由厂商预设好,用户换不了卡,只能换驱动。所以当系统识别不到它的时候,问题几乎总是出在软件栈而不是硬件。端口形态由主板上的 PHY 决定,有的是 10G BASE-T 的 RJ45,有的是 SFP+ 光口,这对后面的链路协商会有影响。

X722 真正值钱的功能有三个:万兆吞吐、SR-IOV 直通、iWARP RDMA。SR-IOV 允许把物理网口拆成多个虚拟功能,直通给 Hyper-V 虚拟机;iWARP 是走 TCP/IP 网络的 RDMA,不需要特殊交换机,对老机房很友好。但这些高级特性并不会因为芯片支持就自动出现在系统里。Server 2012 R2 的内核版本是 NT 6.3,发布时间早于 X722 大规模部署的服务器平台,系统内置驱动只认识最基础的一组特性。你在设备管理器里看到“以太网控制器”而不是“Ethernet Controller X722”,就是系统用通用驱动把设备拉起来了,功能不完整是必然的。

26.6 这个驱动版本号,对应的是一套比较成熟的 Intel LAN 驱动分支。在 Server 2012 R2 上选驱动版本有个规律:太新的驱动往往优先适配新版系统,对 2012 R2 的老网络栈只做回归测试,部分高级属性的默认值会变化;太旧的驱动则缺少对 X722 后续 NVM 固件的支持。26.6 这个中间分支在实际使用里碰到的坑最少,尤其是万兆链路协商和 SR-IOV 的兼容性,明显比早期版本省心。当然,省心不代表装完就能用,前置清理一步都不能少。

2.2 解压后看包内结构:安装器、INF 目录和可选工具

从硬件厂商下载中心搜“X722 26.6”拿到的就是标题这个 zip 文件。解压后,常见结构一般是这样,不同小版本的目录命名会有一点差异,但大结构不会变:

文件/目录作用
PROWinx64.exe主安装程序,同时携带驱动和安装向导
ReleaseNotes / Readme版本说明、已知问题、系统要求
Drivers 目录INF、SYS、CAT 文件,手动指定驱动时用
APPS 目录PROSet 工具和高级属性插件,可选安装

先看 ReleaseNotes 是值得养成的习惯。里面通常会写清楚这个版本支持哪些操作系统、有没有已知问题、是否需要提前打某个系统补丁。我见过不少同事直接双击 PROWinx64.exe 开装,装完出现高级属性缺项,回头查文档才发现是漏了系统更新。

x64 后缀的含义也值得说一句。Server 2012 R2 只有 64 位版本,所以这个包就是给你这台机器用的,不存在选错架构的问题。但如果你在同一台机器上做过从 2008 R2 到 2012 R2 的就地升级,系统里很可能残留着旧版本的 INF 和驱动服务,这就是后面要清理的重点。

2.3 安装前的系统确认:补丁、固件和当前驱动状态

动手装驱动之前,我先会在目标机器上确认三件事:系统版本、已装驱动、主板 BIOS 里的网络固件版本。用下面这组命令可以一次看清:

Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber Get-NetAdapter -IncludeHidden | Select-Object Name, InterfaceDescription, DriverVersion, DriverDate

第一条命令输出系统完整版本,WindowsVersion 显示 6.3.9600 就是 Server 2012 R2。第二条命令列出系统当前能看到的网卡,如果 X722 已经被系统用默认驱动带起来,这里会显示一个以“Microsoft”开头的驱动日期;如果设备还是黄叹号,这里可能压根看不到 X722,要去设备管理器确认。InterfaceDescription 里出现“Ethernet Controller X722”字样,说明 PnP 至少识别出了设备,只是驱动不对。

系统补丁这一项,我的底线是装到 2014 年以后的安全汇总更新。Server 2012 R2 刚发布时的网络栈对新一代网卡的支持不完整,尤其是 PCIe 电源管理和 NDIS 6.4 的配合,缺少补丁时会出现装完驱动重启后设备直接掉线的情况。如果服务器不方便打补丁,至少也要把驱动包 ReleaseNotes 里点名的更新装上,否则后面排障会很被动。

主板 BIOS 里的 NVM 固件版本也要看一眼。X722 的网络固件是用 BIOS 刷进去的,如果服务器出厂时间早、BIOS 一直没更新,X722 的 NVM 可能停留在很老的版本,表现就是驱动装好了、链路也能上来,但一跑大流量就丢链路。这一步不强制每次升级 BIOS,但如果后续出现速率和链路问题,要能想起来回去查 NVM。

3. 正式安装前先做三件小事:卸载旧驱动、清理残留、关闭自动更新

3.1 从设备管理器先把旧设备卸载干净

很多人拿到新驱动直接双击安装,结果新版本覆盖旧版本时,部分 INF 的注册表项没有正确切换,设备管理器里出现两个同名网卡或者一个黄叹号一个正常。我的习惯是先把旧设备从系统里摘掉再做干净安装。

打开设备管理器的方式是 Win+R,输入 devmgmt.msc 回车。找到网络适配器里带 X722 或“以太网控制器”字样的设备,右键选择“卸载设备”。卸载时系统会弹窗,务必勾选“删除此设备的驱动程序软件”,这样驱动文件和注册表信息会一起清掉。如果不勾选,等会儿旧 INF 还在驱动库里,新驱动装完还是可能被 PnP 匹配错。

如果设备当前是黄叹号状态,同样要先卸载。这时候卸载的是失败设备记录,把设备从枚举列表里摘掉,同时删除匹配失败的 INF,避免微软的 PnP 引擎反复用同一个错误驱动去匹配硬件。卸载完成后,有条件就重启一次,让 PCIe 设备重新枚举。这一步看着基础,但能减少后面一半的怪问题。

3.2 用 pnputil 查驱动库,把残留的旧版 INF 删掉

设备管理器的卸载只处理当前设备关联的驱动,驱动库里可能还躺着其他版本的 INF。Server 2012 R2 上安装过多个版本驱动的机器,驱动库里同一个硬件经常有好几个厂商 INF,PnP 按排名和日期挑,不一定挑最新的。用 pnputil 可以直接操作驱动库,命令如下:

pnputil /enum-drivers | findstr /i "x722 e1d" pnputil /delete-driver oemXX.inf /uninstall /force

第一条命令在驱动库里搜索描述里带 X722 或 e1d 的驱动包,返回结果里会看到发布名称,通常是 oemXX.inf 这样的格式,XX 是数字。找到旧版本后,把第二条命令里的 oemXX.inf 换成实际名称执行。参数 /uninstall 表示卸载该驱动包关联的设备,/force 强制删除,即使驱动当前被占用也会排队处理。

要注意的是,Intel 网卡驱动在驱动库里经常有两个 INF:一个是基础网卡驱动,一个是高级属性扩展。如果只删了一个,另一个还会在设备管理器里显示旧版本。所以枚举时不要只看有没有 X722,还要看提供商是不是 Intel、版本号是不是早于 26.6。删完以后重启,驱动库干净了再进入安装环节。

3.3 关闭 Windows 驱动自动更新,防止装完被回退

Server 2012 R2 默认的 Windows Update 会顺带安装设备驱动,这在你手工装好 26.6 之后非常危险。系统可能在你重启后自动从更新源拉一个更“新”的驱动,把好不容易装好的版本换掉,然后网卡高级属性少一半。这不是夸张,我实际见过重启后驱动从 26.6 回退到系统自带的旧版本。

简单的做法是按 Win+R 输入 gpedit.msc,在计算机配置、管理模板、Windows 组件、Windows 更新里,把“配置自动更新”设为“已禁用”。但这个做法有点一刀切,很多机房还是希望系统补丁正常更新。更精确的做法是用下面的注册表策略,只排除驱动,不影响补丁:

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" /v SearchOrderConfig /t REG_DWORD /d 0 /f

第一条让质量更新不再包含驱动。第二条禁止系统在设备安装时自动联机搜索驱动。两边一起设,Windows Update 还会装补丁,但不会再碰网卡驱动。如果机房里有 WSUS 或类似的集中更新平台,那还要在平台侧的驱动分类里排除 Intel 网卡,否则客户端注册表策略会被平台策略覆盖。很多回退问题其实不是系统默认行为,而是集中管理平台的驱动投放策略没排干净。

4. 两种安装方式:图形向导适合单台,静默命令适合批量

4.1 单台机器用 setup.exe 图形安装,注意选择覆盖安装

图形安装适合第一台试点,或者机房只剩一两台机器需要处理。先把 zip 包解压到本地磁盘,我习惯放在 C:\drivers\x722_26.6 这样的纯英文路径下,避免安装器在中文路径上出现解压异常。然后进入目录,右键管理员身份运行 PROWinx64.exe。

安装向导的第一步是接受许可协议,接着会让你选择功能组件。这里我会把 PROSet 组件也勾上,而不是只装基础驱动。原因很简单:X722 的很多高级属性,比如 RSS 队列数、Flow Control、SR-IOV 开关,都要在驱动加载完整后才出现在网卡高级属性页里。只装基础驱动,设备管理器里能看到网卡,但高级属性页是空壳。

如果系统里已经存在旧版本,向导会提示修复或覆盖,选覆盖。装完后向导大概率要求重启。不要跳过重启直接测试万兆,部分 NDIS 中间驱动在重启前不会生效,链路速率看起来正常,但实际收包会有问题。重启之后再进入第 4.3 节的验证步骤,才算是装完。

4.2 批量机房用命令行静默安装并处理返回码

一次装几十台机器,再一台台点向导就太累了。解压后的目录里,PROWinx64.exe 支持静默安装参数,我常用的命令如下:

C:\drivers\x722_26.6\PROWinx64.exe -s -overwrite

参数 -s 表示静默模式,全程不弹界面;-overwrite 表示覆盖已存在的旧版本,不加这个参数,系统检测到旧版时会中止安装。第一次运行时自解压和安装会连续进行,命令行会卡住一段时间,看起来像没反应,属正常现象,不要中途开第二个进程。

为了让机房同事看清楚装得成不成功,我会在批处理里把返回码处理一遍:

@echo off set DRV=C:\drivers\x722_26.6\PROWinx64.exe "%DRV%" -s -overwrite set RC=%errorlevel% if %RC%==0 ( echo [OK] install complete, no restart needed ) else if %RC%==3010 ( echo [OK] install complete, restart required shutdown /r /t 300 ) else ( echo [FAIL] return code %RC% )

返回码 0 表示安装完成且不需要重启;3010 是 Windows Installer 风格的约定,表示安装完成但需要重启系统才能完成最终部署;其他返回码就是失败了。把脚本输出到远程管理平台,事后看日志比逐台点设备管理器靠谱得多。如果要更底层地操作,也可以直接用 pnputil 只装 INF:

pnputil /add-driver "C:\drivers\x722_26.6\Drivers\e1d64.inf" /install

这种方式只加载基础驱动,不装 PROSet 高级组件,适合最小化安装场景。注意 INF 文件名以实际解压目录为准,不同版本可能不叫 e1d64.inf,进 Drivers 目录看一眼再填。

4.3 安装完成后的即时验证:驱动版本、链接状态和速率

装完驱动重启后,第一件事不是去配置交换机,而是先在系统里确认 X722 真的被正确驱动起来了。用这条命令看全局状态:

Get-NetAdapter | Sort-Object Name | Format-Table Name, Status, MacAddress, LinkSpeed, DriverVersion, DriverDate

正常情况下,状态是 Up,链路速率根据对端设备显示 10 Gbps 或 1 Gbps,驱动版本显示 26.6 对应的具体构建号。如果这里显示的还是 0 bps 或者状态是 Disabled,说明驱动装上了但端口没有拉起,检查网线和对端设备;如果驱动版本不对,回到第 3 章的清理流程重新做一遍干净安装。

还要顺手看一个东西:网卡高级属性页里有没有 RSS、SR-IOV、iWARP 这些选项。有,说明 PROSet 装全了;没有,说明你刚才只装了基础驱动,需要回头补装高级组件。这一步判断比看版本号更直观。

5. X722 在 Server 2012 R2 上的五个避坑记录

这些坑是我和机房同事在一轮一轮排障中记下来的,每一条都符合“现象、原因、解决”的套路,照着排查能省下大把时间。

5.1 设备管理器黄叹号:以太网控制器代码 10

现象:驱动装完重启,设备管理器里 X722 显示为“以太网控制器”,状态是“该设备无法启动(代码 10)”,网卡完全不能用。

原因:最常见的是旧驱动残留和系统补丁缺失。旧 INF 没有被彻底清除时,PnP 引擎可能给设备匹配了错误的驱动文件,导致 NDIS 服务起不来;另外 2012 R2 缺少后续网络栈补丁时,PCIe 网卡在电源管理切换中会初始化失败。

解决:先按第 3 章把旧驱动卸载干净,然后用 pnputil 清掉驱动库里所有旧版 INF,重启后再装 26.6。如果重启后还是代码 10,去设备管理器里手动指定驱动:右键设备、更新驱动程序、浏览我的电脑、指向解压目录里的 Drivers 文件夹,选对应 INF 安装。最后再不行,进 BIOS 把 SR-IOV 和 VT-d 临时关掉,装完驱动重启后再打开,部分主板对初始化顺序比较挑剔。

5.2 链路速率只有 1 Gbps,10G 起不来

现象:驱动状态正常,网卡已连接,但 Get-NetAdapter 里 LinkSpeed 显示 1 Gbps,对端明明是万兆口。

原因:链路协商失败或网卡高级属性里被限制了速率。X722 的万兆口在自协商模式下,如果对端交换机端口被配置成强制 1G 模式,协商结果就是 1G;还有一种是网卡高级属性里的“Link Speed”或“Speed & Duplex”被设定为 1G。10G BASE-T 端口用超五类线也会出现协商到 1G 的情况。

解决:先在网卡高级属性里把速率选项改成“Auto Negotiation”,关闭任何强制速率。然后检查交换机端口配置,把端口改成自协商。最后换线,短距离万兆尽量用 Cat6A 或以上线缆,旧机房里的超五类跳线是万兆协商失败的高发原因。这三步按顺序走完,链路速率基本就正常了。

5.3 Hyper-V 里 SR-IOV 怎么都开不了

现象:虚拟交换机上已经勾选了“启用单根 I/O 虚拟化”,虚拟机网络适配器也开了 SR-IOV,但虚拟机关机后在适配器信息里仍然看不到 SR-IOV 生效。

原因:SR-IOV 生效需要 BIOS、网卡驱动、Hyper-V 三层同时支持。BIOS 没开 VT-d 或 SR-IOV 开关,网卡驱动的高级属性里没有启用 SR-IOV,或者系统里存在网卡 Teaming 配置,都会导致功能被静默禁用。

解决:进 BIOS 打开 VT-d 和 SR-IOV;在网卡高级属性里确认“SR-IOV”和“Virtual Machine Queues”都是启用状态;然后在 Hyper-V 虚拟交换机上勾选 SR-IOV 选项,再对虚拟机的网络适配器勾选“启用 SR-IOV”。如果还不行,检查服务器上有没有配置网卡分组,带分组功能的物理网卡不会向 Hyper-V 暴露 SR-IOV 能力。

5.4 iWARP/RDMA 不工作,测试性能没有提升

现象:计划里说好走 RDMA,结果实际跑大包传输时,CPU 占用和普通 TCP 一样高,网卡高级属性里的 iWARP 开关也开了,但就是没效果。

原因:Server 2012 R2 的 iWARP 需要系统安装“远程直接内存访问(RDMA)”功能,不装这个功能,驱动层就算支持,系统协议栈也不会暴露 RDMA 接口。另外 iWARP 属于 TCP 上的 RDMA,若中间网络设备启用了流量整形或 TCP 卸载,握手也会失败。

解决:在服务器管理器里添加功能,勾选“远程直接内存访问 (RDMA)”,或者直接执行:

Install-WindowsFeature RDMA

安装完重启,再用 Get-NetAdapterRDMA 查看 X722 网卡是否出现 RDMA 能力。如果输出为空列表,说明功能组件和驱动之间没有握手成功,优先检查网卡高级属性里的“Enable iWARP”是否被新版系统补丁改回禁用状态,重新启用并重启。

5.5 装完 26.6 重启后驱动版本自动回退

现象:驱动装好、高级属性齐全、链路也正常,但只要重启一次或过一晚,设备管理器里驱动版本就变成旧版本,高级属性少了一大半。

原因:Windows 更新在后台安装了它认为“更合适”的驱动版本。即便你手动安装过新驱动,系统驱动库里的其他版本如果匹配优先级更高,PnP 引擎会在下次重启时重新选择驱动,造成回退。

解决:把第 3 章的注册表策略设置好,关闭驱动自动搜索。同时如果机房有更新管理平台,要在更新平台里排除 Intel 网卡驱动分类。最后重新覆盖安装一遍 26.6,并检查驱动版本号确认不再变化。这里没有捷径,驱动库和更新策略两头都要堵住,只堵一头大概率还会回退。

6. 用 PowerShell 做一次完整验证并配置 RSS 队列

6.1 验证驱动状态和统计数据

驱动装完别急着收工,我会把下面这组命令当成标准动作跑一遍:

Get-NetAdapter -IncludeHidden | Format-Table Name, Status, LinkSpeed, DriverVersion Get-NetAdapterStatistics -Name "Ethernet 0" | Format-List ReceivedBytes, SentBytes Get-NetAdapterAdvancedProperty -Name "Ethernet 0" | Where-Object {$_.DisplayName -match "RSS|Flow Control|Jumbo|SR-IOV"}

第一条确认网卡状态和链路;第二条看统计数据,确认网卡实际上在收发流量,而不是只亮了链路灯;第三条把高级属性里和性能相关的项目拉出来,确认 RSS、流控、巨型帧、SR-IOV 这些选项都在,并且值是你想要的状态。如果第三条返回空,说明高级组件没装全,回第 4 章补装。

6.2 调整 RSS 队列数,让多线程吞吐跑起来

X722 的默认 RSS 队列数对高并发业务来说偏保守。跑虚拟化或者高流量转发时,我会把接收队列调到 8,让多核 CPU 分担收包压力。命令如下:

Set-NetAdapterAdvancedProperty -Name "Ethernet 0" -RegistryKeyword "NumberOfRSSQueues" -RegistryValue 8 Restart-NetAdapter -Name "Ethernet 0"

注意网卡名称要以第一段命令查出来的实际名为准,中文系统里可能是“以太网 0”而不是“Ethernet 0”。这里有一个容易翻车的点:不同版本的 Intel 驱动对 RegistryValue 的类型要求不一样,有的要求整数,有的要求字符串,报错时把后面的 8 加上英文双引号再试一次。Restart-NetAdapter 会断网几秒,远程操作时确认带外管理可用再执行。

调整完后再次 Get-NetAdapterAdvancedProperty 检查配置是否生效,同时跑一轮大流量确认 CPU 分布是否均匀。这套流程走完,X722 在 Server 2012 R2 上的部署才算真正落地。我自己后来的习惯是,装完驱动不马上交付,先跑一遍这套验证,把 RSS 队列和流控都调好再交到运维手里,省得后面生产一压测就回来找我查网卡。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询