質問: ubuntu 16.04カーネル4.4.0-21はnvidia / vboxdrvモジュールをロードしなくなりました(必要なキーは利用できません) ubuntu 16.04(4.4.0-21)の最新カーネルは、nvidia(およびvboxdrv)モジュールをロードしなくなりました。$ sudo modprobe -v nvidia insmod /lib/modules/4.4.0-21-generic/updates/dkms/nvidia_361.ko modprobe: error: could not insert 'nvidia_361': required key not available 4.4.0-18でも機能します。変化したこと?問題を修正するにはどうすればよいですか?
回答: セキュアブートをオンのままにして、nvidiaやvirtualboxなどの独自のカーネルモジュールを使用する方法があります。 xcaアプリの最初のダウンロード:sudo apt install xca 次に、新しいデータベースを作成し、新しいキーを生成します。次に、その秘密鍵からca証明書を生成します。秘密鍵をpem形式にエクスポートし、ca公開証明書をder形式にエクスポートします。 ca証明書をmokデータベースにインポートします。sudo mokutil --import cacert.cer プログラムは、mokデータベースのパスワードを要求します。リブート後、mokmanagerはgrubの前に実行されます。 enroll keysを選択し、前に追加した証明書を選択し、確認のためにパスワードを入力します。その後、ca証明書がmokデータベースに追加されます。リブート。次に、カーネルヘッダースクリプトディレクトリでsign-fileプログラムを見つけます。私にとっては:/usr/src/linux-headers-4.4.0-22-lowlatency/scripts/sign-file 次に、/lib/modules/4.4.0-22-lowlatency/updates/dkms/のすべてのカーネルモジュールに署名します。例えば:/usr/src/linux-headers-4.4.0-22-lowlatency/scripts/sign-file sha256 ca.pem cacert.cer /lib/modules/4.4.0-22-lowlatency/updates/dkms/nvidia_361.ko その後、required key not availableエラーなしでモジュールをロードできます。dkmsディレクトリから新しいカーネルまたはモジュールカーネルの新しいバージョンをインストールした後、署名手順を繰り返す必要があります。明確にするために読むべきリンク: https://wiki.ubuntu.com/securityteam/secureboot https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-signing-kernel-modules-for-secure-boot.html