问题背景梳理
在安装 Windows + Ubuntu 双系统 后,Ubuntu 系统中 Realtek RTL8125 2.5GbE 有线网卡 无法正常工作,表现为:
- 系统显示网络接口 UNCLAIMED(未认领/无驱动接管)
- 没有有线网络图标,无法上网
- lspci 能识别硬件,但 lshw 显示无驱动绑定
问题诊断
来源:Arch Linux 论坛讨论
lspci | grep Ethernet # 确认网卡型号:RTL8125 2.5GbE Controller (Realtek Semiconductor Co. ,Ltd. Device 8125 (rev 05))
lshw -class network # 查看驱动状态:UNCLAIMED 表示无驱动接管
lsmod | grep r8169 # 检查是否加载了错误的驱动
最开始以为没有网卡驱动下载一番后依然没法解决。后来发现是;Ubuntu 内核自带的 r8169 驱动与 RTL8125 网卡不完全兼容。虽然 r8169 理论上支持部分 Realtek 网卡,但对于较新的 RTL8125 2.5GbE 控制器(常见于 B550 等新主板),需要专门的 r8125 驱动 才能正常工作。
解决方案
通过 /etc/modprobe.d/ 配置文件阻止特定模块加载;添加 PPA 并安装 realtek-r8125-dkms 正确的 DKMS 驱动(DKMS 的优势是内核升级后驱动自动重新编译,无需手动重装)
# 添加 PPA 源
sudo add-apt-repository ppa:awesometic/ppa
sudo apt update
# 安装 DKMS 驱动包
sudo apt install realtek-r8125-dkms
# 1. 检查当前加载的驱动
lsmod | grep r8169
# 2. 将 r8169 加入黑名单(防止抢占 r8125)
sudo tee -a /etc/modprobe.d/blacklist-r8169.conf > /dev/null <<EOT
# To use r8125 driver explicitly
blacklist r8169
EOT
# 3. 更新 initramfs 使黑名单生效
sudo update-initramfs -u
# 4. 重启系统
sudo reboot
# 5. 验证 r8125 是否加载
lsmod | grep r8125
如果安装包也不能用,那就去找特定的驱动安装,同时记得禁用其他驱动。还有个物理方案,买一个新的自带ubuntu驱动的网卡放上去。