web-dev-qa-db-ja.com

セキュアブートを有効にしてnvidiaドライバーをインストールする方法

私はこの投稿を見つけました: nvidia-smiコマンドが見つかりませんUbuntu 16.04 | Ask Ubunt

IUEFセキュアブートを有効にするとnvidia-smiがubuntuで見つかりませんでした:

$ nvidia-smi
nvidia-smi: command not found

Nvidaiドライバ機能を使用してセキュアブートを有効にする方法についてのアイデアはありますか?

virtual boxを使用したセキュアブートの問題の解決に関するこの記事を見つけましたが、MOKマネージャーの方法についてはまだほとんどわかりません動作:

VirtualBox +セキュアブート+ Ubuntu =失敗|ØyvindStegardブログ

1
Yerong Li

これを試して:

-ステップ1:NVIDIA Webサイトから最新のドライバーをダウンロードします https://www.geforce.com/drivers

-ステップ2:次のコマンドを入力して、新しいペアの秘密鍵(Nvidia.key)と公開鍵(Nvidia.der)を作成します。

openssl req -new -x509 -newkey rsa:2048 -keyoutPATH_TO_PRIVATE_KEY-outform DER -outPATH_TO_PUBLIC_KEY-nodes -days 36500 -subj "/ CN = Graphics Drivers"

例:

openssl req -new -x509 -newkey rsa:2048 -keyout /home/itpropmn07/Nvidia.key -outform DER -out /home/itpropmn07/Nvidia.der -nodes -days 36500 -subj "/ CN = Graphics Drivers"

-ステップ3:次のコマンドを入力して、公開キー(nvidia.der)をMOK(マシン所有者キー)に登録します。

Sudo mokutil --importPATH_TO_PUBLIC_KEY

例:

Sudo mokutil --import /home/itpropmn07/Nvidia.der

->このコマンドでは、登録用のパスワードを作成する必要があります。その後、コンピューターを再起動します。次回の起動時に、システムは登録を求めます。登録するには、この手順で作成したパスワードを入力します。詳細: https://sourceware.org/systemtap/wiki/SecureBoot

-ステップ4:NVidiaドライバーを初めてインストールする場合は、次のコマンドを入力してNouveauカーネルドライバーを無効にする必要があります。

エコーオプションnouveau modeset = 0 |須藤ティー-a /etc/modprobe.d/nouveau-kms.conf; sudo update-initramfs -u

->再起動します。

-ステップ5:コマンドを入力してドライバーをインストールする

Sudo sh ./XXXXXX.run -s --module-signing-secret-key =PATH_TO_PRIVATE_KEY--module-signing-public-key =PATH_TO_PUBLIC_KEY

where:

XXXXXX:ファイルインストーラーの名前(NVIDIAからダウンロード)。

PATH_TO_PRIVATE_KEY:秘密鍵へのフルパス。ホームフォルダに配置する場合は、代わりに「〜」を使用して/ home/USER_NAME /を使用します

PATH_TO_PUBLIC_KEY:公開鍵へのフルパス。ホームフォルダに配置する場合は、代わりに「〜」を使用して/ home/USER_NAME /を使用します

例:

Sudo sh ./NVIDIA-Linux-x86_64-390.67.run -s --module-signing-secret-key =/home/itpropmn07/Nvidia.key --module-signing-public-key =/home/itpropmn07/Nvidia der

->完了

続きを読む https://us.download.nvidia.com/XFree86/Linux-x86/319.32/README/installdriver.html

6
itpropmn07

上記の@ itpropmn07の推奨事項は、私にとっては有効です。最後のステップである1つの変更がありました。

このコマンドを入力する代わりに:

Sudo sh ./XXXXXX.run -s --module-signing-secret-key = PATH_TO_PRIVATE_KEY --module-signing-public-key = PATH_TO_PUBLIC_KEY

「-s」なしでコマンドを入力しました。

Sudo sh ./XXXXXX.run --module-signing-secret-key = PATH_TO_PRIVATE_KEY --module-signing-public-key = PATH_TO_PUBLIC_KEY

このコマンドを使用すると、ドライバーを対話形式でインストールできます。

2
Ant T.

また、@ itpropmn07による方法を使用して、わずかな変更を加えてドライバーを正常にインストールできました。

mokutil --importはASUSマザーボードで動作しなかったため、UEFIインターフェイス内からキーをインポートする必要がありました。

これは、.derファイルをUSBドライブにロードし、[セキュアブート]> [キー管理]セクションに移動し、[Append Default db]オプションを選択することで実行できます。

システムのデフォルトデータベースを追加するかどうかを確認するポップアップが表示されます。必ずNoを選択してください。これにより、USBドライブ上のファイルを参照できます。選択したファイルの種類としてkey certificate blobを選択します。最後に、保存して終了します。

インポートが成功したことを確認するには、mokutil --dbを実行します。

注:セキュアブートキーをバックアップし、何か問題が発生した場合に備えて安全な場所に保存しておくことをお勧めします。そのためには、「セキュアブートキーの保存」オプションを使用します。キーを復元するときは、ファイルタイプとしてUEFIセキュア変数を使用します。

リファレンス: http://www.rodsbooks.com/efi-bootloaders/controlling-sb.html#setuputil

1
Stephan