自xenial使用shimx64后,无法加载NVIDIA专有驱动程序

将我的电脑从狡猾升级到xenial后,我有一个奇怪的行为(两者都是Kubuntu风味)。 在升级之前和之后,我的BIOS中有两个“ubuntu”启动选项。 在这里,您可以看到xenial下每个条目背后的值:

stephane@nausicaa:~$ sudo efibootmgr -v BootCurrent: 0002 Timeout: 0 seconds BootOrder: 0002,0000 Boot0000 ubuntu HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x64000)/File(\EFI\ubuntu\shimx64.efi) Boot0002* ubuntu HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x64000)/File(EFI\Ubuntu\grubx64.efi) 

狡猾的我一直在使用shimx64(第一个条目)和NVIDIA专有驱动程序没有问题。 由于升级到xenial shimx64(第一个条目)不加载NVIDIA专有驱动程序。 我必须使用grubx64(第二个条目)。

当我使用grubx64时,我在内核日志中找到“nvidia”或“NVRM”的以下条目:

 nvidia: module license 'NVIDIA' taints kernel. nvidia: module verification failed: signature and/or required key missing - tainting kernel [drm] Initialized nvidia-drm 0.0.0 20150116 for 0000:01:00.0 on minor 0 NVRM: loading NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015 nvidia_uvm: Loaded the UVM driver, major device number 245 NVRM: Your system is not currently configured to drive a VGA console NVRM: on the primary VGA device. The NVIDIA Linux graphics driver NVRM: requires the use of a text-mode VGA console. Use of other console NVRM: drivers including, but not limited to, vesafb, may result in NVRM: corruption and stability problems, and is not supported. 

当我使用shimx64时,内核日志中没有“nvidia”或“NVRM”条目,甚至没有错误消息。

我曾经认为shimx64只是grubx64的签名链式加载器,但从内核日志的差异来看,它显然不是那么简单。 有没有人对那里发生的事情有解释? 它可能与驱动程序的数字签名有关吗?

NVIDIA未签署其专有video驱动程序。 Linux内核始终检查内核模块中的签名,即使禁用安全启动也是如此。 当我使用grubx64时,我可以看到这条消息:

 kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel 

这不是错误,因为禁用了安全启动; NVIDIA专有的video驱动程序仍然有效。 有趣的是,当我使用shimx64时,此消息不会出现。 内核跳过NVIDIA驱动程序,没有任何消息。 我可以说因为这条消息启用了安全启动:

 kernel: Secure boot enabled