Ubuntu18.04有线网络驱动安装与故障排除指南
1. Ubuntu 18.04有线网络驱动安装全攻略
刚装好Ubuntu 18.04发现有线网络连不上?别急着重装系统,这个问题我遇到过太多次了。作为从Ubuntu 16.04一路升级过来的老用户,今天就把我这些年积累的实战经验全部分享给你。
有线网络连不上最常见的原因就是驱动不兼容。Ubuntu 18.04默认使用的r8169驱动虽然通用,但对某些Realtek网卡支持确实不够好。我自己的台式机就遇到过这个问题——明明网线插得好好的,右上角就是没有网络图标。后来发现是网卡驱动版本不匹配,换成RTL8168驱动后问题立刻解决。
2. 快速应急方案:手机USB网络共享
2.1 为什么需要应急方案
在开始正式安装驱动前,我强烈建议你先用手机USB共享网络。这不是偷懒,而是个非常实用的技巧。因为后续驱动安装过程需要联网下载依赖包,没有网络的话会非常麻烦。
我去年帮学弟装系统时就吃过这个亏。当时直接开始装驱动,结果中途需要安装make工具却连不上网,最后只能重头再来。所以现在我都把这个方法放在第一步。
2.2 具体操作步骤
- 用USB线连接安卓手机和电脑
- 在手机设置中搜索"USB"
- 找到"USB网络共享"并开启
- Ubuntu右上角会立即出现有线网络图标
实测这个方案对小米、华为、三星等主流安卓机都有效。我的小米9和同事的一加7T都能正常使用。如果是苹果手机,可能需要先在Mac上设置共享,稍微麻烦些。
3. 彻底解决方案:安装正确网卡驱动
3.1 检查当前网卡驱动状态
先打开终端(Ctrl+Alt+T),输入:
lspci -v | grep -A10 Ethernet重点看输出中的"Kernel driver in use"这一行。如果显示的是r8169,那就需要更换驱动了。
我遇到过不少案例,用户看到"r8169"就以为是正确的驱动,其实这是个通用驱动,对某些Realtek网卡支持并不完善。正确的应该是r8168驱动。
3.2 下载专用网卡驱动
推荐从Realtek官网下载最新驱动:
wget https://www.realtek.com/zh/directly-download?downloadid=df4b906c6e32848ec97b3332972e9b76如果下载速度慢,也可以使用我备份的国内镜像:
wget http://mirror.example.com/r8168-8.049.02.tar.bz2注意:下载后文件默认保存在"下载"目录,建议先解压:
cd ~/Downloads tar jxvf r8168-8.049.02.tar.bz23.3 编译安装驱动
进入解压后的目录执行:
cd r8168-8.049.02 sudo chmod +x autorun.sh sudo ./autorun.sh这里有个常见坑点:如果系统缺少编译工具,会报错。建议先安装:
sudo apt update sudo apt install build-essential linux-headers-$(uname -r)安装完成后必须重启才能生效:
sudo reboot4. 常见问题排查指南
4.1 驱动安装后仍无法联网
如果按照上述步骤操作后还是不行,试试这几个方法:
- 检查网线是否插好(别笑,我真遇到过网线松动的案例)
- 查看网络管理器状态:
sudo service network-manager status - 尝试手动加载驱动:
sudo modprobe r8168
4.2 安装过程中出现的错误
错误1:make命令未找到这是因为没安装编译工具,解决方法:
sudo apt install make gcc错误2:内核头文件缺失需要安装对应版本的头文件:
sudo apt install linux-headers-$(uname -r)错误3:签名验证失败可以临时关闭Secure Boot:
sudo mokutil --disable-validation5. 进阶技巧与优化建议
5.1 永久锁定驱动版本
为了防止系统更新后驱动被覆盖,可以锁定驱动包:
sudo apt-mark hold r8168-dkms5.2 备份当前驱动
在更换驱动前,建议先备份现有驱动:
sudo cp -r /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek/r8169 ~/r8169_backup5.3 性能调优
修改驱动参数提升网络性能:
echo "options r8168 speed=1000 duplex=full autoneg=off" | sudo tee /etc/modprobe.d/r8168.conf最后提醒一点:不同型号的Realtek网卡可能需要特定版本的驱动。如果8.049.02版不工作,可以尝试其他版本。我在一台老机器上就用了8.045.08版才成功。
