web-dev-qa-db-ja.com

xenial以降のshimx64を使用すると、NVIDIA独自のドライバーがロードされない

PCをwilyからxenial(Kubuntuフレーバー)にアップグレードした後、奇妙な動作をします。アップグレードの前後に、BIOSに2つの「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)

Wilyでは、shimx64(最初のエントリ)とNVIDIA独自のドライバーを問題なく使用しています。 xenial shimx64(最初のエントリ)へのアップグレードは、NVIDIA独自のドライバーをロードしません。代わりにgrubx64を使用する必要があります(2番目のエントリ)。

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の単なる署名付きチェーンローダーであると信じていましたが、カーネルログの違いから、明らかにそれほど単純ではありません。そこに何が起こるのか誰にも説明がありますか?ドライバーのデジタル署名と関係があるのでしょうか?

2

NVIDIAは、独自のビデオドライバーに署名しません。 Linuxカーネルは、セキュアブートが無効になっている場合でも、カーネルモジュールの署名を常にチェックします。 grubx64を使用すると、次のメッセージが表示されます。

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

セキュアブートが無効になっているため、これはエラーではありません。 NVIDIA独自のビデオドライバーは引き続き動作します。面白い部分は、私がshimx64を使用すると、このメッセージが表示されないことです。 NVIDIAドライバーは、メッセージなしでカーネルによってスキップされます。このメッセージにより、セキュアブートが有効になっていることがわかります。

kernel: Secure boot enabled
4