ubuntu驱动如何安全使用
小樊
36
2025-12-04 08:34:27
Ubuntu 驱动安全使用指南
一 基本原则
- 优先选择官方仓库与附加驱动提供的驱动,减少与系统组件不兼容的风险。
- 在UEFI 安全启动 Secure Boot开启时,第三方内核模块必须签名并注册到 MOK,否则无法加载。
- 安装或切换驱动前,准备可回退方案(如保留旧版本、进入恢复模式),避免黑屏导致无法修复。
- 涉及第三方或闭源驱动(如 NVIDIA)时,尽量使用带有DKMS支持的方式,便于内核升级后自动重建模块。
二 推荐的安全安装流程
- 识别硬件与可用驱动
- 查看显卡型号:
lspci | grep -i vga
- 查看推荐驱动:
ubuntu-drivers devices
- 方式 A(优先):使用系统仓库自动安装
- 安装推荐版本:
sudo ubuntu-drivers autoinstall
- 或图形界面:打开“软件和更新 → 附加驱动”,选择带有recommended的版本并应用。
- 方式 B:手动安装 NVIDIA 官方 .run 驱动(适用于需要特定版本或高级场景)
- 安装编译与内核模块支持:
sudo apt update && sudo apt install build-essential dkms -y
- 禁用 nouveau:
- 创建黑名单:
echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
- 更新 initramfs:
sudo update-initramfs -u && sudo reboot
- 验证:
lsmod | grep nouveau(应无输出)
- 切换到文本模式并关闭图形界面:
sudo systemctl set-default multi-user.target && sudo reboot
- 登录后执行:
sudo service gdm stop(或 sudo service lightdm stop,取决于你的显示管理器)
- 安装驱动(在 .run 文件所在目录):
chmod +x NVIDIA-Linux-*.run
sudo ./NVIDIA-Linux-*.run --dkms(使用 DKMS 便于后续内核更新自动编译)
- Secure Boot 签名与注册:
- 安装过程中选择“Sign the kernel module”,生成 .der 签名证书
- 导入 MOK:
sudo mokutil --import /usr/share/nvidia/nvidia-modsign-crt-*.der
- 重启进入 MOK Management,选择“Enroll MOK → Continue → 输入创建密钥时的密码 → Reboot”
- 返回图形界面并验证:
sudo systemctl set-default graphical.target && sudo reboot
- 验证:
nvidia-smi 应显示 GPU 与驱动信息。
三 常见问题与安全处置
- 开机黑屏或进入 tty 循环
- 进入 GRUB → Advanced options → Recovery mode → resume 进入系统,检查并修正黑名单、重新配置显示管理器,或回退驱动版本。
- Secure Boot 未签名导致模块未加载
- 重启后进入 MOK Management,执行“Enroll MOK”并输入安装时设置的密码,完成密钥注册后重启。
- nvidia-smi 报错无法通信
- 重启系统;确认 nouveau 已禁用;确保使用 DKMS 构建的内核模块与当前运行内核一致;必要时重新安装对应版本驱动。
- 依赖错误(如 DKMS 未安装)
- 先安装依赖:
sudo apt install dkms,再执行驱动安装或 ubuntu-drivers autoinstall。
四 日常维护与验证
- 验证安装结果
- 基本:
nvidia-smi
- 详细:
cat /proc/driver/nvidia/gpus/*/information 2>/dev/null
- 保持与回退
- 更新后若异常,优先在“软件和更新 → 附加驱动”切回recommended版本;或
sudo apt install nvidia-driver-<版本号> 指定稳定版本。
- 安全启动与密钥管理
- 更换内核后,DKMS 会自动重建 NVIDIA 模块;若仍受 Secure Boot 限制,重复 MOK 注册流程。
- 何时考虑手动 .run
- 需要特定功能、调试版本或与 CUDA 的精确匹配时;日常使用建议优先仓库与附加驱动,便于维护与回退。