在 Debian 里“替换网卡驱动”通常有三种层面,先确认你想做哪一种,再给你对应做法。
lspci | grep -i net
ip link
ethtool -i eth0 # 把 eth0 换成你的网卡名
ethtool -i 会显示:
例如:
r8169r8168(Realtek 官方驱动)sudo apt update
sudo apt install r8168-dkms
echo "blacklist r8169" | sudo tee /etc/modprobe.d/blacklist-r8169.conf
sudo update-initramfs -u
sudo reboot
重启后:
ethtool -i eth0
应显示 driver: r8168
以某个 .tar.bz2 驱动为例:
sudo apt install build-essential linux-headers-$(uname -r)
tar xf driver.tar.bz2
cd driver
make
sudo make install
sudo modprobe 新驱动名
如要禁用旧驱动,同样用 blacklist。
不涉及真实驱动替换,只改 udev 规则:
sudo nano /etc/udev/rules.d/70-persistent-net.rules
例如:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"
然后:
sudo udevadm control --reload
sudo reboot
检查:
lsmod | grep r8169
可能在 initramfs 里,必须:
sudo update-initramfs -u
ip link
lspci -k
确认是否驱动没绑定。
DKMS 驱动最稳:
sudo apt install r8168-dkms
我可以给你精确到命令的步骤。