常见驱动问题
驱动排查基本流程
第一步:识别硬件
# 全部硬件概览
sudo lshw -short
# PCI 设备(显卡、网卡、声卡等)
lspci -nn
# USB 设备
lsusb
# 详细硬件报告
sudo lshw -html > hardware-report.html第二步:检查内核日志
# 本次启动日志
sudo dmesg | less
# 过滤错误和警告
sudo dmesg --level=err,warn
# 实时监控(插入设备时使用)
sudo dmesg -w第三步:查看已加载模块
# 列出所有已加载内核模块
lsmod
# 查看特定模块信息
modinfo 模块名
# 查看模块依赖
modprobe --show-depends 模块名使用 ubuntu-drivers 工具
# 检测需要额外驱动的设备
sudo ubuntu-drivers devices
# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall
# 安装指定驱动(版本号以 ubuntu-drivers devices 的推荐输出为准,例如 580/590)
sudo ubuntu-drivers install nvidia-driver-580DKMS 驱动管理
DKMS(Dynamic Kernel Module Support)确保第三方驱动在内核更新后自动重新编译。
# 查看 DKMS 管理的模块
dkms status
# 手动重新构建模块
sudo dkms autoinstall
# 如果某模块构建失败
sudo dkms remove 模块名/版本 --all
sudo dkms install 模块名/版本常见问题与解决
内核更新后驱动失效
# 检查 DKMS 状态
dkms status
# 确认构建工具已安装
sudo apt install build-essential dkms linux-headers-$(uname -r)
# 重新构建所有 DKMS 模块
sudo dkms autoinstall驱动模块被黑名单屏蔽
# 检查黑名单
grep -r "blacklist" /etc/modprobe.d/
# 临时加载被屏蔽的模块
sudo modprobe 模块名
# 永久移除黑名单条目
sudo nano /etc/modprobe.d/blacklist.conf
# 注释掉相关行,然后重新生成 initramfs(26.04 默认使用 Dracut):
sudo dracut -f
# 旧的 initramfs-tools 环境改用:sudo update-initramfs -u缺少固件文件
# 查看固件缺失警告
sudo dmesg | grep -i firmware
# 安装完整固件包(Ubuntu 的二进制固件都在 linux-firmware 中)
sudo apt install linux-firmwareNote
Ubuntu 没有 Debian 的 firmware-misc-nonfree 等拆分包,所需固件统一收录在 linux-firmware 内。26.04 起 linux-firmware 被拆分为更细的厂商相关子包,但仍可通过安装总包获取全部固件。
设备未识别
- 确认设备物理连接正常
- 检查 BIOS/UEFI 中设备是否启用
- 尝试不同的 USB 端口或线缆
- 更新内核版本:
sudo apt install linux-generic-hwe-26.04手动编译安装驱动
当没有现成的驱动包时:
# 安装编译依赖
sudo apt install build-essential linux-headers-$(uname -r) git
# 典型流程
git clone <驱动仓库地址>
cd <驱动目录>
make
sudo make install
sudo modprobe <模块名>
# 设置开机自动加载
echo "模块名" | sudo tee /etc/modules-load.d/模块名.conf回退到旧版内核
如果新内核导致硬件问题:
# 查看已安装的内核
dpkg --list | grep linux-image
# 在 GRUB 菜单中选择旧内核启动
# 开机时按住 Shift(BIOS)或 Esc(UEFI)进入 GRUB 菜单
# 选择 "Advanced options for Ubuntu" > 旧内核版本
# 固定使用某个内核版本(谨慎操作)
sudo apt-mark hold linux-image-7.x.x-xx-generic获取硬件诊断报告
向社区求助时,提供以下信息:
# 生成完整硬件报告
sudo apt install inxi
inxi -Fxxxz
# 或使用 hw-probe
sudo apt install hw-probe
sudo hw-probe -all -upload输出的链接可以直接分享给帮助你的人。
Last updated on