Linux 内核确实自带了大量的驱动程序,这是 Linux 系统能够“开箱即用”并广泛兼容各种硬件的核心原因之一。
以下是关于 Linux 自带驱动的详细说明:
主要类别
-
核心硬件驱动(内置于内核):
- 文件系统:ext4, xfs, btrfs, ntfs-3g, vfat 等。
- 存储控制器:SATA, NVMe, SCSI, USB 存储等。
- 网络接口:绝大多数有线网卡(Intel, Realtek 等)和无线网卡的基础支持。
- 基本显示驱动:
- Intel/AMD:开源驱动(i915, amdgpu)通常直接内置在内核中,性能良好,支持大部分图形加速。
- VGA/通用显示:
vesa或drm基础驱动,用于提供基本的显示输出。
- 输入设备:键盘、鼠标、触控板(通过
evdev和libinput支持)。 - USB 子系统:USB 控制器、HID 设备等。
-
开源驱动(随内核发布):
许多硬件厂商(如 NVIDIA 的开源部分、AMD、Intel)会贡献代码到 Linux 内核主线中,这些驱动会随内核一起编译和发布。
哪些驱动不自带?
尽管 Linux 自带驱动非常多,但以下情况通常需要手动安装:
- NVIDIA 专有驱动:
- 虽然 Linux 有开源的
nouveau驱动,但其性能(尤其是游戏和 3D 加速)远不如 NVIDIA 官方提供的专有驱动。 - 大多数用户需要手动安装 NVIDIA 的专有驱动以获得最佳性能。
- 虽然 Linux 有开源的
- 某些 Wi-Fi 网卡:
- 部分较新的或特定品牌的无线网卡(如某些 Realtek 或 Broadcom 芯片)需要专有固件(firmware)或驱动模块,可能需要从
linux-firmware包或厂商网站获取。
- 部分较新的或特定品牌的无线网卡(如某些 Realtek 或 Broadcom 芯片)需要专有固件(firmware)或驱动模块,可能需要从
- 打印机/扫描仪:
虽然 CUPS 打印系统支持大多数打印机,但某些品牌需要额外的厂商驱动包。
- 特殊外设:
如某些游戏手柄、专业音频接口、加密狗等可能需要额外软件。
如何查看和管理驱动?
查看已加载的驱动模块
lsmod
这会列出所有当前加载的内核模块(驱动)。
查看硬件信息
lspci -k # 查看 PCI 设备(如显卡、网卡)及其使用的驱动 lsusb # 查看 USB 设备
安装额外驱动(以 Ubuntu/Debian 为例)
许多发行版提供了图形化工具来管理专有驱动:
- Ubuntu:使用“软件和更新” -> “附加驱动程序”(Additional Drivers)。
- Fedora:使用
dnf install akmod-nvidia等命令。 - Arch Linux:通过
pacman安装对应包,如nvidia-utils。
固件(Firmware)的重要性
现代 Linux 驱动(尤其是 Wi-Fi、蓝牙、GPU)往往需要
固件文件(.bin 文件)才能正常工作,这些固件通常包含在 linux-firmware 或 firmware-linux-nonfree 等包中。
确保你的系统安装了最新的固件包:
# Ubuntu/Debian sudo apt install linux-firmware # Fedora sudo dnf install linux-firmware # Arch Linux sudo pacman -S linux-firmware
- 优点:Linux 自带驱动覆盖广泛,大多数基本硬件(键盘、鼠标、存储、基本显示、有线网络)无需任何配置即可工作。
- 缺点:对于追求极致性能(如游戏、AI 计算)或特殊硬件(如最新 Wi-Fi 6E/7 网卡),可能需要手动安装专有驱动或固件。
- 建议:安装系统后,建议更新系统和固件包,并根据需要安装专有驱动(尤其是 NVIDIA 显卡用户)。
如果你有具体的硬件型号,可以告诉我,我可以提供更详细的驱动安装建议。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479792.html



