Ubuntu 20.04 LTS下NVIDIA驱动安装全攻略:从`ubuntu-drivers devices`到搞定`perform mok management`蓝屏

张开发
2026/4/17 19:50:52 15 分钟阅读

分享文章

Ubuntu 20.04 LTS下NVIDIA驱动安装全攻略:从`ubuntu-drivers devices`到搞定`perform mok management`蓝屏
Ubuntu 20.04 LTS下NVIDIA驱动安装全流程解析刚接触Ubuntu的玩家在安装NVIDIA驱动时往往会遇到两个拦路虎安装过程中要求输入的8位密码以及重启后出现的蓝色perform mok management界面。作为从Windows转战Linux的老玩家我清楚地记得第一次看到这个蓝屏时的慌张——这和Windows的蓝屏死机太像了但实际上这是Linux安全启动机制的正常环节。下面我就用最直白的语言带大家走通这个流程。1. 环境准备与驱动查询在开始安装前我们需要确保系统处于干净状态。如果你之前尝试过安装驱动但失败了建议先执行清理sudo apt remove --purge nvidia-* sudo apt autoremove清理完成后使用Ubuntu自带的工具查询适合你显卡的驱动版本ubuntu-drivers devices这个命令会列出所有可用的驱动版本。输出看起来类似这样 /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 modalias : pci:v000010DEd00001B82sv00001458sd00003794bc03sc00i00 vendor : NVIDIA Corporation model : GP104 [GeForce GTX 1070 Ti] driver : nvidia-driver-390 - distro non-free driver : nvidia-driver-435 - distro non-free driver : nvidia-driver-450 - distro non-free driver : nvidia-driver-450-server - distro non-free driver : nvidia-driver-418-server - distro non-free recommended driver : nvidia-driver-440-server - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin注意标有recommended的是系统推荐的版本通常选择这个即可。2. 驱动安装与密码设置确定了驱动版本后以nvidia-driver-450为例执行安装命令sudo apt install nvidia-driver-450安装过程中系统会提示你设置一个至少8位的密码。这个密码不是用来解锁系统的而是用于后续的安全密钥管理。建议设置一个简单易记但不少于8位的密码。为什么需要这个密码这与Linux的Secure Boot安全启动机制有关。NVIDIA驱动作为第三方内核模块需要被系统信任才能加载。这个密码将用于后续的密钥注册。3. 处理MOK管理界面安装完成后重启系统你会看到一个蓝色背景的perform mok management界面。别慌这不是系统崩溃而是UEFI安全启动的正常流程。在这个界面你需要按顺序选择选择Enroll MOK选择Continue选择Yes输入之前设置的密码最后选择Reboot这个过程实际上是在将NVIDIA驱动的密钥注册到系统的安全启动数据库中。完成后系统就能正常加载NVIDIA驱动了。4. 验证安装结果重启后打开终端输入nvidia-smi如果看到类似下面的输出说明驱动安装成功----------------------------------------------------------------------------- | NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 GeForce GTX 107... Off | 00000000:01:00.0 On | N/A | | 0% 50C P8 10W / 180W | 357MiB / 8119MiB | 0% Default | | | | N/A | ---------------------------------------------------------------------------5. 常见问题排查如果nvidia-smi命令没有输出或报错可能是以下原因Secure Boot未禁用或未正确注册密钥检查BIOS中的Secure Boot设置尝试重新执行MOK注册流程驱动版本不兼容尝试安装其他版本的驱动使用ubuntu-drivers devices查看推荐版本系统未完全加载驱动检查内核日志dmesg | grep nvidia确保没有使用nouveau开源驱动6. 性能优化建议安装好驱动后可以通过以下设置提升显卡性能电源管理模式设置sudo nvidia-settings -a [gpu:0]/GpuPowerMizerMode1这将把电源模式设为最高性能禁用帧缓冲压缩适用于部分显示器sudo nvidia-settings -a FrameLockEnable0调整交换区使用 在/etc/nvidia/nvidia-application-profiles-rc中设置__GL_SYNC_TO_VBLANK0 __GL_THREADED_OPTIMIZATIONS17. 多显示器配置技巧如果你使用多显示器可能会遇到分辨率或排列问题。NVIDIA提供了配置工具sudo nvidia-settings在这个图形界面中你可以调整各显示器的分辨率和刷新率设置显示器排列方式配置独立X屏幕适用于专业多屏工作提示配置完成后记得点击Save to X Configuration File保存设置否则重启后会丢失。8. 游戏性能优化对于游戏玩家还需要一些额外设置安装Vulkan支持sudo apt install vulkan-tools libvulkan1 vulkan-utils启用GameModesudo apt install gamemode然后在游戏启动命令前加上gamemoderun调整性能参数sudo nvidia-smi -pm 1 # 启用持久模式 sudo nvidia-smi -pl 180 # 设置功率限制根据你的显卡调整9. 驱动更新与维护当有新驱动发布时更新流程如下添加官方PPA源sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update查看可用新版本ubuntu-drivers devices安装新版本以470为例sudo apt install nvidia-driver-470重启并重新注册MOK如果需要10. 疑难解答速查表问题现象可能原因解决方案安装后黑屏驱动与内核不兼容尝试恢复模式安装其他版本驱动nvidia-smi无输出驱动未加载检查dmesg日志确认Secure Boot状态游戏性能差使用开源驱动确保nouveau驱动被禁用多显示器闪烁刷新率设置问题使用nvidia-settings调整系统不稳定电源管理问题调整功率限制禁用动态boost11. 高级用户技巧对于需要CUDA开发或机器学习用户建议直接安装NVIDIA官方.run文件从NVIDIA官网下载对应驱动关闭图形界面sudo systemctl isolate multi-user.target运行安装程序sudo sh NVIDIA-Linux-x86_64-xxx.xx.run按照提示完成安装这种方法可以获得最新驱动但维护起来比apt安装更复杂。12. 系统集成注意事项如果你使用Ubuntu作为日常主力系统还需要注意休眠与唤醒部分NVIDIA显卡在休眠唤醒后可能出现问题可以在/etc/default/grub中添加GRUB_CMDLINE_LINUX_DEFAULTquiet splash nvidia.NVreg_PreserveVideoMemoryAllocations1然后更新grubsudo update-grubWayland支持目前NVIDIA对Wayland的支持仍有限建议继续使用Xorg在登录界面选择Ubuntu on Xorg自动更新禁用自动更新驱动避免意外升级sudo apt-mark hold nvidia-driver-xxx13. 不同显卡型号的特殊考量根据显卡世代不同可能需要特别注意Pascal架构GTX 10系列支持驱动版本较广推荐使用450或470系列驱动Turing架构RTX 20/30系列需要较新驱动版本465对Wayland支持更好专业级显卡Quadro系列建议使用专有驱动分支可能需要额外配置ECC内存14. 虚拟化环境下的GPU直通如果你想在KVM虚拟机中使用NVIDIA显卡需要启用IOMMU在BIOS中打开VT-d/AMD-Vi修改grub配置GRUB_CMDLINE_LINUX_DEFAULTquiet splash intel_iommuon隔离GPU设备使用lspci -nn查找设备ID添加到/etc/modprobe.d/vfio.confoptions vfio-pci ids10de:13c2,10de:0fbb配置虚拟机XML将GPU直通给虚拟机注意消费级显卡在虚拟化环境中可能遇到驱动限制专业卡更适合这种用途。15. 温度监控与风扇控制保持显卡良好散热很重要可以使用以下工具实时监控watch -n 1 nvidia-smi手动控制风扇需要禁用自动控制sudo nvidia-settings -a [gpu:0]/GPUFanControlState1 sudo nvidia-settings -a [fan:0]/GPUTargetFanSpeed70设置温度警报sudo apt install lm-sensors sudo sensors-detect watch -n 1 sensors对于长期高负载运行的机器建议设置温度上限sudo nvidia-settings -a [gpu:0]/GPUMaxOperatingStateThreshold85

更多文章