Linux secure boot(安全启动)时添加Nvidia显卡驱动

开启Secure boot状况下,在Fedora 21下安装Nvidia 显卡驱动的方法。linux

Nvidia显卡驱动能够从官网上下载最新版>> 点击进入加密

下载后添加可执行权限:spa

#chmod +x NVIDIA-Linux*.run

注意,安装Nvidia显卡须要知足的两个条件是code

1. nouveau(默认的显卡驱动)驱动程序必须禁用server

2. Xserver(图形界面) 要中止运行blog

以上两个问题的解决方法以下:get

首先按Ctrl + Alt + F2进入终端
输入root的账号和密码后执行如下操做

1. 禁用nouveau显卡驱动
#dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r) --force

2. 中止Xserver
#service gdm stop
#service lightgdm stop

3. 安装编译所需的程序
#yum install gcc kernel-devel

而后进入放NVIDIA-linux*.run的目录,执行该文件,按照提示进行操做。it

因为我这台机器已经安装好了驱动程序,就再也不执行了(因此截图也就没有了)。编译

注意在执行过程当中,会出现提示是否使用dkms,因为在secure boot下使用dkms会致使没法开机,这里选择NO(否)。class

通过编译后会提示是否sign the kernel module(为内核模块签名),这里要选择是。接下来会继续问使用已有的密钥给模块签名仍是从新生成。

这里选在从新生成密钥。继续下去以后,密钥会在/usr/share/nvidia/下生成一个nvidia*.der(私钥)文件和nvidia*.key(公钥)文件,当提示是否删除已生成的密钥文件时,选择否,

由于以后要用到这两个文件。继续安装程序到最后会提示没法启动模块。这是由于生成的密钥尚未添加到内核的信任库中。

添加密钥到内核的信任列表中:

#mokutil --import /usr/share/nvidia/nvida*.der

接下来会提示输入密码,两次输入密码后重启系统。
#reboot

重启进入bootloader以后,因为进行了添加密钥操做,会触发shim,shim会要求输入上一步输入的密码来导入密钥。按步骤操做。

导入密钥以后,启动时内核就能够成功加载编译过的Nvidia显卡驱动了。

启动进入系统后,就能够正常使用了。须要注意的是,因为生成的密钥添加到了内核的信任列表中,因此对生成的私钥和公钥必定要妥善保管。

相关文章
相关标签/搜索