Skip to Content
文档参考硬件兼容常见驱动问题

常见驱动问题

驱动排查基本流程

第一步:识别硬件

# 全部硬件概览 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-580

DKMS 驱动管理

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-firmware
Note

Ubuntu 没有 Debian 的 firmware-misc-nonfree 等拆分包,所需固件统一收录在 linux-firmware 内。26.04 起 linux-firmware 被拆分为更细的厂商相关子包,但仍可通过安装总包获取全部固件。

设备未识别

  1. 确认设备物理连接正常
  2. 检查 BIOS/UEFI 中设备是否启用
  3. 尝试不同的 USB 端口或线缆
  4. 更新内核版本:
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