ubuntu18 uefi启动模式下安装nvidia显卡驱动

本文详细介绍了在UEFI安全启动环境下,如何成功安装NVIDIA驱动的步骤。包括记录秘钥、注册秘钥至安全启动、使用mokutil工具及禁用安全启动的多种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大部分安装过程都可以在网上找到相应教程

比如说禁用自带的 nouveau nvidia驱动一系列过程

这里需要记录的是:

由于Ubuntu内核4.4.0-20已启用 EFI_SECURE_BOOT_SIG_ENFORCE 内核配置。如果启用了UEFI安全启动,则可以防止加载未签名的第三方模块。

在安装过程中,nvidia驱动安装程序可以自动为你生成一对秘钥,请记录下相应public以及private安装地址。

此时,由于public秘钥没有被注册到安全启动当中去,当安装程序会提醒你,只会安装内核并不能进行全部安装。

正常情况下,在你进行完成这一系列步骤后,进行重启应该会出现蓝屏的perform mok managemnet。

只需要按照以下步骤进行即可:

在perform mok mangement界面选择enroll mok

选择continue(enroll mok界面)

选择yes(enroll the key界面)

输入在安装时设定的密码

跳转到perform mok manageent界面boot即可。

重启后输入navidia-smi即可看到显卡信息了!!恭喜安装成功!

 

可是,如果不幸的是,重启的时候没有跳出mok界面,而你一检查发现,确实也没有安装成功。

不要着急

进行如下操作(将秘钥注册到安全启动):

sudo mokutil --import MOK.der

MOK.der指代的是你记录下来的public秘钥的位置。

此时在进行重启,就会出现mok management界面,再进行以上操作即可。

 

另附:

从内核版本4.4.0-20开始,强制要求 unsigned 内核模块在启用安全启动的情况下运行。如果您想保持安全启动也运行这些模块,那么下一个合乎逻辑的步骤是签署这些模块。

让我们试一试。

如果您的模块在Ubuntu 16.04上以这种方式运行(我相信内核4.4.0-21),请告诉我。

资源:详细网站 Fedora文章和Ubuntu实施。 (他们一直在努力);-)

安全(额外)意识的补充说明:; - )

由于您创建的私钥(在此示例中为 MOK.priv )可供任何可以访问它的人使用,因此最好保证其安全。您可以 chmod it,加密( gpg )它,或将其存储在其他地方安全(r)。或者,作为在此评论中注明,删除步骤1中的选项 -nodes 。这将使用密码加密密钥。

  1. 创建签名密钥

    openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive name/"
    
  2. 签署模块

    sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der /path/to/module
    
  3. 将密钥注册到安全启动

    sudo mokutil --import MOK.der
    

    提供密码以供以后重启

  4. Reboot 并按照说明注册MOK(机器所有者密钥)。这是一张带图片的示例。系统将再次重启。

 

 

另外一种解决uefi安全启动项的方法是关闭它!

附:

解决此问题的最简单方法是在UEFI(BIOS)设置中禁用安全启动

在大多数情况下,您可以使用grub菜单进入UEFI设置。在启动时按 ESC 按钮,进入grub菜单并选择System Setup。安全启动选项应位于UEFI的"安全"或"启动"部分。

您可以直接进入UEFI,但这取决于您的硬件。阅读您的计算机手册,了解如何到达那里。它可能是 Del ,或 F2 在启动时,或其它。

另一种方法是使用 mokutil 禁用安全启动。

由于Ubuntu内核版本为4.4.0-21.37,因此可以通过运行

来修复

sudo apt install mokutil
sudo mokutil --disable-validation

需要创建密码。密码长度至少应为8个字符。重新启动后,UEFI将询问您是否要更改安全设置。选择"是"。

然后,系统会要求您输入以前创建的密码。某些UEFI固件要求不是完整密码,而是输入一些字符,如1st,3rd等。小心。有些人不明白这一点。我没有从第一次尝试中得到它; - )

 

https://wiki.ubuntu.com/UEFI/SecureBoot/DKMS

有关解决uefi安全启动项的方法

### Ubuntu 22.04 安装 NVIDIA 显卡驱动后网络驱动丢失的解决方案 在安装 NVIDIA 显卡驱动后,部分用户可能会遇到网络驱动失效的情况。这通常是因为 NVIDIA 驱动程序可能覆盖或干扰了系统中的其他模块,尤其是与网络相关的内核模块[^1]。 #### 方法一:卸载并重装 NVIDIA 驱动 如果发现安装 NVIDIA 驱动后网络功能出现问题,可以尝试完全移除已安装的驱动,并重新安装适合当前系统的版本。以下是操作步骤: ```bash sudo apt-get update sudo apt-get autoremove --purge nvidia* ``` 上述命令会彻底清除之前安装的所有 NVIDIA 软件包及其依赖项[^2]。之后可以通过以下方式重新安装合适的驱动版本: ```bash sudo ubuntu-drivers autoinstall sudo reboot ``` 此方法利用 `ubuntu-drivers` 工具自动检测最适合的驱动版本并完成安装[^3]。 --- #### 方法二:手动加载网络模块 有时,网络驱动并未真正损坏,而是未被正确加载到内存中。在这种情况下,可以直接通过终端手动加载所需的网络模块: ```bash lsmod | grep -i network ``` 检查是否有任何网络相关模块缺失。如果没有找到对应的模块,则可尝试加载它们: ```bash sudo modprobe <module_name> ``` 其中 `<module_name>` 是具体的网络模块名称,例如 `r8169` 或 `e1000e` 等常见以太网控制器驱动[^4]。 --- #### 方法三:禁用 Secure Boot 功能 Secure Boot 可能会对第三方闭源驱动(如 NVIDIA 的专有驱动)产生冲突,从而影响其正常工作状态。为了排除这种可能性,可以在 BIOS 设置界面关闭 Secure Boot: 1. **重启计算机** 并进入 UEFI/BIOS; 2. 找到有关 **Security Settings** 的选项区域; 3. 将 **Secure Boot Mode** 切换至 Disabled 模式保存更改退出即可。 完成后再次运行驱动安装脚本验证效果如何变化。 --- #### 方法四:调整 GRUB 启动参数 某些场景下,特定启动参数能够帮助修复因显卡驱动引发的一系列连锁反应问题。编辑 `/etc/default/grub` 文件加入额外配置项如下所示: ```bash GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" ``` 执行完毕记得刷新 Grub 配置使其生效: ```bash sudo update-grub sudo reboot ``` 这里的 `nomodeset` 参数告诉 Linux 不要使用图形模式初始化显示子系统直到 X Server 加载为止,有助于规避潜在风险点[^5]。 --- ### 总结 以上介绍了几种针对 Ubuntu 22.04 下安装 NVIDIA 显卡驱动过程中可能出现的网络连接中断现象的有效应对措施。实际应用时需依据具体情况灵活选用最恰当的办法来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值