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でも機能します。変化したこと?問題を修正するにはどうすればよいですか?
カーネルバグ#1571691には 答え がありました。
Sudo apt-get install mokutil; Sudo mokutil --disable-validation
セキュアブートをオンのままにして、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ディレクトリから新しいカーネルまたはモジュールカーネルの新しいバージョンをインストールした後、署名手順を繰り返す必要があります。
明確にするために読むべきリンク: