一个脚本,支持多种 Linux 发行版的自动化 NVIDIA 驱动安装
curl -sSL https://raw.githubusercontent.com/EM-GeekLab/nvidia-driver-installer/main/nvidia-install.sh -o nvidia-install.sh
sudo bash nvidia-install.sh
简体中文 | English
Warning
对于其他基于 Debian 或 RHEL 的衍生发行版,脚本也可能兼容,但未经充分测试。
本项目旨在提供一个通用的 NVIDIA 驱动安装脚本,支持多种 Linux 发行版。它通过包管理器(如 dnf
、apt
、zypper
等)自动化安装 NVIDIA 驱动,避免了手动下载和运行 .run
文件的繁琐过程。
同时脚本提供了高度自动化的安装体验,支持无人值守安装、幂等性操作、状态恢复和回滚机制,确保在各种环境下都能稳定运行。
Note
为安全起见,推荐您采用以下两步法进行安装。这使您有机会在执行前审查脚本内容。
curl -sSL https://raw.githubusercontent.com/EM-GeekLab/nvidia-driver-installer/main/nvidia-install.sh -o nvidia-install.sh
sudo bash nvidia-install.sh
该命令将通过一个可交互的安装向导,帮助您完成 NVIDIA 驱动的安装。
若您需要在 CI/CD 环境或自动化脚本中使用,可以添加 -y
参数实现无人值守安装:
sudo bash nvidia-install.sh -y -q --auto-reboot
脚本提供了丰富的命令行参数以满足不同场景的需求。
用法: ./nvidia-install.sh [选项]
-h, --help 显示此帮助信息
-t, --type TYPE 安装类型: full, compute-only, desktop-only (默认: full)
-m, --modules TYPE 内核模块类型: open, proprietary (默认: open)
-l, --local 使用本地仓库安装
-v, --version VERSION 指定驱动版本 (例如: 575)
-y, --yes 自动确认所有提示 (无交互模式)
-q, --quiet 静默模式,减少输出
-f, --force 强制重新安装,即使已安装驱动
-s, --skip-checks 跳过现有安装检查
--auto-reboot 安装完成后自动重启
--cleanup 清理失败的安装状态并退出
--rollback 回滚到安装前状态
--show-exit-codes 显示所有退出码及其含义
-
交互式安装 (推荐)
sudo bash nvidia-install.sh
-
完全自动化安装 (CI/CD 环境)
sudo bash nvidia-install.sh -y -q --auto-reboot
-
安装纯计算驱动,并使用专有内核模块
sudo bash nvidia-install.sh -t compute-only -m proprietary -y
-
回滚所有更改
sudo bash nvidia-install.sh --rollback
-
查看所有退出码含义
./nvidia-install.sh --show-exit-codes
本脚本旨在解决手动或使用官方 .run
文件安装方式的种种不便,提供一个更现代化、更可靠的解决方案。
-
🤖 高度自动化
- 通过
-y
(yes) 和-q
(quiet) 等参数,可实现完全无交互的静默安装,无需人工干预。 - 自动检测操作系统发行版、版本及 GPU 架构,并选择最佳安装策略。
- 自动处理现有驱动冲突,并根据用户选择或自动化策略进行清理。
- 通过
-
🔄 幂等性与状态恢复
- 脚本支持幂等操作,可以安全地重复运行。如果驱动已正确安装,脚本会检测到并跳过,不会造成系统损坏。
- 安装过程中的每一步都会被记录。如果脚本意外中断(如网络问题、SSH 断开),下次运行时会自动提示从断点处恢复安装,无需从头开始。
-
⏪ 可靠的回滚机制
- 在执行任何对系统有实质性修改的操作前(如安装软件包、添加仓库),脚本会记录相应的“撤销”操作。
- 如果安装失败或您想卸载驱动,只需运行
--rollback
参数,即可将系统恢复到安装前的状态。
-
🔒 Secure Boot 智能处理
- 自动检测系统的 UEFI Secure Boot 状态。
- 如果 Secure Boot 已启用,脚本会提供详细的解释和多种解决方案(禁用 SB 或配置 MOK 密钥)。
- 在交互模式下,可以引导用户自动生成并注册 MOK 密钥,以满足 Secure Boot 的签名要求。
-
⚙️ 灵活的安装选项
- 支持开源 (
open
) 和专有 (proprietary
) 内核模块的选择。 - 支持完整 (
full
)、纯计算 (compute-only
) 和纯桌面 (desktop-only
) 三种安装类型,满足不同场景的需求。 - 支持通过 NVIDIA 官方网络仓库或本地仓库进行安装。
- 支持开源 (
本脚本在以下场景中表现尤为出色:
- 数据中心与服务器集群: 需要对大量服务器进行统一、可重复的驱动部署。自动化和幂等性特性可确保部署的一致性和可靠性。
- DevOps & CI/CD 环境: 在自动化流水线中,需要一个可预测、有明确退出码的脚本来构建包含 NVIDIA 驱动的镜像或环境。
- 多发行版环境: 支持同时为多台安装不同发行版的机器安装 NVIDIA 驱动,脚本会自动识别并适配。统一的部署标准可以减少维护成本。
特性 | 本脚本 (包管理器方式) | 官方 .run 文件 |
---|---|---|
集成度 | ✅ 高:与系统包管理器(dnf /apt /zypper )深度集成,依赖关系清晰。 |
❌ 低:独立于包管理器之外,像“空降”到系统中,可能与系统库冲突。 |
卸载 | ✅ 干净、彻底:可通过包管理器轻松卸载,--rollback 功能可恢复所有更改。 |
nvidia-uninstall 可能有残留,手动清理复杂且易出错。 |
自动化 | ✅ 非常容易:丰富的命令行参数和环境变量为自动化量身定制。 | --silent 系列参数,容错性差。 |
幂等性 | ✅ 是:可安全地重复运行。 | ❌ 否:重复运行通常会导致安装失败或冲突。 |
回滚 | ✅ 支持:一键回滚到安装前状态。 | ❌ 不支持:无任何回滚机制。 |
Secure Boot | ✅ 智能处理:自动检测并提供解决方案,可辅助 MOK 签名。 | ❌ 不支持:需要用户在安装前手动处理所有 Secure Boot 相关问题。 |
离线安装 | ✅ 直接支持:.run 文件本身就是离线安装包。 |
|
最新驱动 | ✅ 最快:通常 NVIDIA 官网会最先发布 .run 格式的最新驱动。 |
如果这个项目对您有所帮助,请点击仓库右上角的 ⭐ Star 并分享给更多的朋友!