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の単なる署名付きチェーンローダーであると信じていましたが、カーネルログの違いから、明らかにそれほど単純ではありません。そこに何が起こるのか誰にも説明がありますか?ドライバーのデジタル署名と関係があるのでしょうか?
NVIDIAは、独自のビデオドライバーに署名しません。 Linuxカーネルは、セキュアブートが無効になっている場合でも、カーネルモジュールの署名を常にチェックします。 grubx64を使用すると、次のメッセージが表示されます。
kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
セキュアブートが無効になっているため、これはエラーではありません。 NVIDIA独自のビデオドライバーは引き続き動作します。面白い部分は、私がshimx64を使用すると、このメッセージが表示されないことです。 NVIDIAドライバーは、メッセージなしでカーネルによってスキップされます。このメッセージにより、セキュアブートが有効になっていることがわかります。
kernel: Secure boot enabled