ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Realtek网卡驱动重装全攻略:Windows与Linux实战指南

Realtek网卡驱动重装全攻略:Windows与Linux实战指南 1. 从一次网卡消失说起重装网络驱动到底在解决什么问题很多人第一次接触重装网络驱动这个词都是被逼的。前一天电脑还好好的第二天开机右下角网络图标变成一个小地球加斜杠设备管理器里那个熟悉的 Realtek PCIe GbE Family Controller 要么带着一个黄色感叹号要么干脆从列表里消失了。重启没用拔插网线没用甚至连网络重置都点过了还是不行。这时候你搜到的第一个答案往往就是——重装网络驱动。但重装网络驱动这五个字说起来简单真正动手的时候你会发现坑一个接一个去官网下载型号对不上用系统自带的更新它告诉你已安装最适合的驱动好不容易装上了重启之后又变回原样。更麻烦的是网络驱动和其他驱动不一样——你重装显卡驱动失败了还能用核显凑合但网卡驱动一旦装废你连上网查资料的机会都没有了只能靠手机热点或者另一台电脑来救场。所以这篇文章我想把重装网络驱动这件事从头到尾讲透。它适合谁看三类人第一类是网卡突然罢工、正在到处找办法的普通用户第二类是经常给同事、朋友修电脑需要一套稳定流程的运维或技术支持第三类是想搞清楚 Linux 下 DKMS 机制、Windows 下驱动签名这些底层逻辑的折腾党。我会从为什么网卡会掉讲到怎么判断该装哪个驱动再到Windows 和 Linux 两条路线的具体操作最后把那些官方文档不会写、只有踩过坑才知道的细节全部摊开。先给一个核心结论重装网络驱动不是目的让系统重新正确识别并加载匹配的驱动才是目的。很多人失败不是因为不会点卸载设备而是因为没搞清楚自己那块网卡到底是什么芯片、系统是什么版本、驱动包该从哪来。把这三点搞明白重装网络驱动这件事的成功率能从看运气提升到基本一次过。2. 网卡为什么会掉先搞懂病因再动手2.1 驱动损坏和驱动缺失是两回事在动手重装之前必须先分清你遇到的是哪种情况因为处理方式完全不同。驱动损坏的典型表现是设备管理器里能看到网卡但带黄色感叹号属性里写着该设备无法启动代码 10或者Windows 无法加载这个硬件的设备驱动程序代码 39。这种情况说明系统知道有这么个设备驱动文件也在但加载过程出了问题。常见诱因包括系统更新覆盖了旧驱动、杀毒软件误删了驱动文件、非正常关机导致驱动配置损坏。驱动缺失的表现是设备管理器里根本找不到网卡或者出现在其他设备下面显示为未知设备以太网控制器。这说明系统连这是个什么设备都没认出来自然也就没有驱动可加载。常见诱因是重装系统后没装驱动、主板 BIOS 更新后设备 ID 变了、或者你手动在设备管理器里点了卸载设备还勾了删除此设备的驱动程序软件。还有一种最容易被误判的情况网卡硬件本身没问题但被系统禁用了。设备管理器里图标上有个向下的小箭头右键选启用设备就好了根本不用重装驱动。我见过太多人一上来就卸载重装折腾半天其实只是被禁用了。2.2 Realtek 网卡为什么是重装驱动的重灾区从热搜词里能看到大量 Realtek 相关的词条这不是偶然。Realtek 的网卡芯片尤其是 RTL8168/8111 系列的有线网卡和 RTL8811CU、RTL8812BU 这类 USB 无线网卡出货量极大几乎覆盖了市面上大部分消费级主板和笔记本。出货量大意味着两件事一是遇到问题的人多二是驱动版本极其混乱。Realtek 官方其实并不直接面向终端用户提供所有驱动很多驱动是主板厂商比如微星 MSI或整机厂商二次打包的。这就导致同一个 RTL8168 芯片在华硕主板上的驱动版本和微星主板上的可能不一样Windows 自动更新推送的又是另一个版本。版本一乱就容易出现装了这个版本网卡能用但速度跑不满装了那个版本直接蓝屏的情况。另外Realtek 的 USB 无线网卡比如热搜里提到的 RTL8811CU、RTL8812BU在 Windows 10/11 上的驱动支持一直是个老大难。这类网卡很多是第三方厂商用 Realtek 芯片做的成品厂商自己不做驱动维护全靠 Realtek 的通用驱动而通用驱动更新又慢遇到新系统就容易出问题。热搜里那个realtek 8812cu usb wifi driver windows 10 64bit vid_0bda pid_c812就是典型的在找特定 VID/PID 对应的驱动。2.3 判断芯片型号的三种可靠方法重装驱动第一步永远是确认型号。我推荐三种方法按可靠性排序方法一看设备管理器的硬件 ID。右键此电脑→管理→设备管理器找到网卡哪怕带感叹号右键属性→详细信息→属性下拉选硬件 ID。你会看到类似PCI\VEN_10ECDEV_8168SUBSYS_...的字符串。其中VEN_10EC是厂商 ID10EC 就是 RealtekDEV_8168是设备 ID这两个组合就能确定芯片型号。USB 网卡同理会显示USB\VID_0BDAPID_C812这样的格式VID 0BDA 也是 Realtek。方法二看主板/整机型号去官网查。如果你知道主板型号比如微星 B450M MORTAR直接去微星官网的支持页面输入型号下载LAN 驱动。这是最稳妥的方式因为厂商打包的驱动一定和你的硬件匹配。方法三Linux 下用命令行。打开终端输入lspci -nn | grep -i ethernet或者lsusb能看到芯片的 PCI/USB ID。再用lspci -k可以看到当前加载的是哪个内核模块比如r8169。提示不要迷信鲁大师驱动精灵这类工具自动识别的结果。它们识别芯片一般没问题但推荐的驱动版本经常是旧的或者不匹配的。识别型号可以用下载驱动还是建议去官网。3. Windows 下重装网络驱动的完整流程3.1 卸载旧驱动勾不勾删除驱动程序软件差别很大这是整个流程里最关键的一步也是最容易做错的一步。正确的卸载姿势是设备管理器→找到网卡→右键→卸载设备。这时候会弹出一个对话框问你是否删除此设备的驱动程序软件。这个勾要不要打取决于你的目的。如果你只是想重置驱动状态比如驱动损坏但文件还在不要勾。这样卸载后重启系统会自动重新加载已有的驱动文件相当于给驱动做了一次重启。如果你是打算换一个全新版本的驱动或者怀疑旧驱动文件本身有问题要勾上。这样会把旧的驱动文件从系统里彻底清掉避免新旧版本冲突。但要注意勾了之后如果新驱动装不上你就彻底没网了所以一定要提前把新驱动下载好放在本地。还有一个更彻底的做法在程序和功能里找到 Realtek 相关的驱动条目比如 Realtek Ethernet Controller Driver直接卸载程序。这种方式会走厂商的卸载程序清理得更干净但有些驱动包不提供卸载入口。3.2 驱动从哪里来官网、系统更新、还是第三方工具卸载完之后就是装新驱动。驱动来源有三个我按推荐度排序第一选择主板/整机厂商官网。这是最匹配的。去官网支持页面输入你的主板或电脑型号找到 LAN 或 Network 驱动下载。优点是兼容性有保证缺点是版本可能不是最新的。第二选择Realtek 官方或芯片对应的通用驱动。对于 RTL8168/8111 这类有线网卡Realtek 官网有提供通用驱动包。对于 USB 无线网卡就要按 VID/PID 去找对应的驱动。这里要特别注意 32 位和 64 位系统的区别——热搜里realtek pcie gbe family controller 32位系统就是在找 32 位版本现在虽然 64 位是主流但一些老设备还在跑 32 位系统下错了装不上。第三选择Windows 更新。在设备管理器里右键网卡→更新驱动程序→自动搜索。这种方式最省事但 Windows 推送的驱动往往是能用但不出彩的版本有时候还会推错。如果前两种方式搞不定可以试试这个。关于第三方驱动工具我的态度是可以当备选但不要当首选。这类工具的问题是驱动库更新不及时而且经常捆绑一些你不需要的东西。真要用也建议只用它的识别型号功能下载还是去官网。3.3 安装过程中的签名问题和回滚处理Windows 10/11 对驱动签名有强制要求如果你下载的驱动没有经过微软签名一些老驱动或者第三方修改版安装时会报错Windows 无法验证此设备所需的驱动程序的数字签名。遇到这种情况正规做法是找有签名的驱动。如果实在找不到可以临时禁用驱动签名强制设置→更新和安全→恢复→高级启动→立即重新启动→疑难解答→高级选项→启动设置→重启→按 7 选择禁用驱动程序强制签名。但这是临时方案重启后就恢复而且每次装驱动都要来一遍不推荐长期用。安装完成后如果网卡还是不正常可以在设备管理器里右键网卡→属性→驱动程序→回退驱动程序。这个功能能退回上一个版本前提是系统还保留着旧驱动文件。如果之前卸载时勾了删除驱动程序软件这个按钮就是灰的回退不了。3.4 装完没网或者没声音两个高频连带问题热搜里有两个词很值得说realtek驱动安装后无声音和realtek high definition audio一直没有这个输出设备。这两个问题看起来和网络驱动无关但其实经常一起出现。原因是 Realtek 的音频驱动和网络驱动在安装包层面有时候是打包在一起的尤其是主板厂商的一键安装包你装网络驱动的时候可能顺带把音频驱动也更新了结果音频驱动版本不匹配导致声音输出设备消失。解决办法是音频问题单独处理。去设备管理器看声音、视频和游戏控制器下面有没有 Realtek High Definition Audio如果有但带感叹号卸载重装音频驱动如果输出设备列表里没有扬声器右键任务栏音量图标→声音设置→检查输出设备是否被禁用。Realtek Audio Console 这个应用有时候也会因为驱动版本问题打不开重装对应版本的音频驱动即可。注意装网络驱动时如果安装包提示要一起装音频或其他组件建议先取消勾选只装网络部分。等网络正常了再单独处理其他驱动。这样出问题的时候好定位。4. Linux 下重装网络驱动DKMS 和 r8168 的恩怨4.1 为什么 Linux 下 Realtek 网卡要单独装驱动Linux 内核自带一个叫r8169的驱动理论上支持 Realtek 的千兆网卡。但实际使用中很多人会遇到网卡能识别但速度跑不满、频繁断线、或者干脆不工作的情况。这是因为r8169是个通用驱动对某些具体型号尤其是较新的 RTL8168 变种支持不够完善。Realtek 官方提供了一个叫r8168的驱动专门针对这些网卡做了优化。所以在 Linux 下重装网络驱动很多时候实际是用 r8168 替换掉内核自带的 r8169。4.2 auto_run.sh 和 DKMS两种安装方式的取舍Realtek 官方驱动包里通常有一个auto_run.sh脚本运行它就能自动编译安装。但这种方式有个致命问题每次内核更新后驱动就失效了。因为它是针对当前内核编译的内核一升级模块路径就变了网卡又没了。这就是 DKMSDynamic Kernel Module Support存在的意义。DKMS 能让你安装的驱动模块在内核更新时自动重新编译不用每次手动折腾。热搜里依赖dkms这个词说明很多人已经意识到了这一点。两种方式的对比对比项auto_run.sh 直接安装DKMS 方式安装安装难度简单一条命令稍复杂需要配置内核更新后驱动失效需重装自动重新编译无需干预适合场景临时测试、固定内核长期使用、经常更新内核依赖需要内核头文件和编译工具额外需要 dkms 包我的建议是只要不是临时用一下一律用 DKMS 方式。多花五分钟配置能省掉以后每次内核更新后的麻烦。4.3 从源码到 DKMS 的实操步骤假设你已经从 Realtek 官网下载了 r8168 的驱动源码包通常是r8168-8.xxx.xx.tar.bz2下面是 DKMS 方式的完整流程。先安装编译依赖# Debian/Ubuntu 系 sudo apt update sudo apt install build-essential dkms linux-headers-$(uname -r) # RHEL/CentOS/Fedora 系 sudo dnf install gcc make dkms kernel-devel-$(uname -r)解压源码包注意 Realtek 的包解压后目录名带版本号tar -xjf r8168-8.052.01.tar.bz2 cd r8168-8.052.01把源码复制到 DKMS 的标准目录sudo mkdir -p /usr/src/r8168-8.052.01 sudo cp -r src/* /usr/src/r8168-8.052.01/创建 DKMS 配置文件/usr/src/r8168-8.052.01/dkms.confPACKAGE_NAMEr8168 PACKAGE_VERSION8.052.01 BUILT_MODULE_NAME[0]r8168 DEST_MODULE_LOCATION[0]/kernel/drivers/net/ethernet/realtek AUTOINSTALLyes然后添加并编译安装sudo dkms add -m r8168 -v 8.052.01 sudo dkms build -m r8168 -v 8.052.01 sudo dkms install -m r8168 -v 8.052.01最后把内核自带的 r8169 加入黑名单防止它抢占网卡echo blacklist r8169 | sudo tee /etc/modprobe.d/blacklist-r8169.conf sudo update-initramfs -u # Debian/Ubuntu # 或者 sudo dracut -f # RHEL/Fedora重启后用lsmod | grep r8168确认驱动已加载用lspci -k确认网卡使用的是 r8168 而不是 r8169。4.4 内核更新后驱动失效的排查思路即使用了 DKMS偶尔也会遇到内核更新后网卡不工作的情况。排查顺序是这样的第一步确认 DKMS 状态dkms status。如果显示r8168, 8.052.01, 新内核版本: built但没installed说明编译了但没装进去手动sudo dkms install -m r8168 -v 8.052.01 -k 新内核版本。第二步确认黑名单还在cat /etc/modprobe.d/blacklist-r8169.conf。有时候系统更新会重置这个文件。第三步确认模块加载lsmod | grep r816。如果加载的是 r8169说明黑名单没生效需要重新生成 initramfs。第四步看内核日志dmesg | grep -i r816。这里能看到驱动加载的详细过程报错信息通常很明确。提示如果你用的是 Ubuntu其实可以先试试sudo apt install r8168-dkms官方源里就有打包好的 DKMS 版本比手动编译省事得多。只有在源里版本太旧或者没有的情况下才需要手动从 Realtek 官网下载。5. 那些官方文档不会告诉你的实操细节5.1 卸载驱动前一定要先准备好新驱动这是血泪教训。我见过太多人网卡出问题一冲动就在设备管理器里把驱动卸载了还勾了删除结果新驱动还没下载电脑彻底断网只能拿手机开热点或者用另一台电脑拷 U 盘。正确顺序是先确认型号→先下载好对应驱动放到本地→再卸载旧驱动→再安装新驱动。如果是给别人远程指导更要提前让对方把驱动下载好不然你指导到一半对方断网了你也联系不上。5.2 有线网卡和无线网卡要分开处理有些电脑同时有有线网卡和无线网卡两个都可能是 Realtek 的。重装的时候要分清楚你操作的是哪一个。设备管理器里可以通过名称区分比如 Realtek PCIe GbE Family Controller 是有线Realtek 8812CU Wireless LAN 802.11ac USB NIC 是无线。如果两个都有问题建议先修有线。因为有线修好了你就有网了修无线的时候可以随时下载驱动、查资料从容很多。5.3 主板 BIOS 里的网卡开关有些主板 BIOS 里有一个 LAN Controller 的开关默认是开启的但有时候会被误关比如清 CMOS 之后恢复默认设置或者某些品牌机的省电策略。如果设备管理器里完全找不到网卡连未知设备都没有先去 BIOS 里确认这个开关是开着的。另外某些主板的节能设置比如 ErP 模式也会影响网卡在关机后的状态导致开机后网卡需要更长时间才能被识别。如果遇到开机后要等一两分钟网卡才出现的情况可以试试关掉 ErP。5.4 驱动版本不是越新越好这一点和很多人的直觉相反。Realtek 网卡驱动尤其是主板厂商打包的版本稳定比新更重要。我遇到过好几次用最新版驱动网卡频繁断流换回主板官网那个看起来有点旧的版本反而稳如老狗。所以我的建议是如果当前驱动工作正常不要没事去更新它。只有当出现问题时才考虑换驱动而且优先换主板厂商官网的版本而不是盲目追新。5.5 记录下能用的驱动版本这是个好习惯。当你折腾半天终于找到一个能用的驱动版本后把版本号记下来设备管理器→网卡属性→驱动程序→驱动程序版本最好把驱动安装包也备份到一个固定的文件夹。下次再出问题直接装这个版本不用重新试错。我自己就有一个驱动备份文件夹里面按主板型号分类存着各种网卡、声卡、芯片组驱动。给朋友修电脑的时候直接拿对应的装效率高很多。6. 重装之后还是不行往哪个方向继续查如果驱动重装了、版本也换了好几个网卡还是不正常那问题可能不在驱动层面了。这时候要往这几个方向查硬件层面网卡芯片本身可能坏了。判断方法是把网线插到另一台电脑上如果另一台正常说明网线和路由器没问题问题在这台电脑的网卡。如果是台式机可以试试换一个 PCIe 插槽如果是独立网卡如果是笔记本网卡一般是焊死的只能考虑用 USB 网卡替代。系统层面某些系统优化软件、安全软件会修改网络相关的注册表项或服务。可以试试在服务里检查Network Connections、Network List Service、WLAN AutoConfig这几个服务是否正常运行。另外Windows 的网络重置功能设置→网络和 Internet→状态→网络重置能一键恢复网络相关组件到默认状态但会清除所有已保存的 WiFi 密码用之前要有心理准备。路由器/网络层面有时候问题根本不在电脑而在路由器。比如路由器 DHCP 分配完了、网线接口接触不良、或者路由器对这台设备做了 MAC 过滤。判断方法是看网卡指示灯——如果插上网线灯不亮基本是物理层问题如果灯亮但获取不到 IP可能是 DHCP 或上层配置问题。驱动冲突层面如果电脑上装过多个版本的 Realtek 驱动或者装过第三方网络管理软件可能会有残留冲突。彻底清理的方法是卸载所有 Realtek 相关程序→设备管理器卸载网卡并勾选删除驱动→重启→用官方卸载工具如果有清理残留→再装新驱动。说到底重装网络驱动这件事技术含量不算高但细节特别多。真正拉开差距的不是你会不会点卸载设备而是你知不知道为什么要卸载、卸载时那个勾该不该打、驱动该从哪来、装完之后怎么验证。把这些想清楚了大部分网卡问题都能自己搞定不用求人。
返回列表