windows 11 发布了,新系统要求开启TPM2.0(一个安全芯片标准,8代及以后的intel和较新的amd cpu都支持)。但是之前在ubuntu下使用run包装nvidia 驱动时,一般都会遵循一些教程关闭UEFI的secure boot,同时也就关闭了TPM等。本文记录了如何开启TPM,在ubuntu下安装nvidia gpu driver。

开启TPM

以华硕主板, amd cpu为例,在UEFI中找到启动-->安全启动-->OS Type,选择Windows UEFT 模式。

在高级-->AMD fTPM设置,将默认的独立模式改为固件模式。

生成密钥

重启进入系统后,分辨率会变得很低。 根据How to install nvidia driver with secure boot enabled?这篇回答,根据实际情况修改下面命令中部分参数。

openssl req -new -x509 -newkey rsa:2048 -keyout PATH_TO_SAVE_PRIVATE_KEY -outform DER -out PATH_TO_SAVE_PUBLIC_KEY -nodes -days 36500 -subj "/CN=Graphics Drivers"
sudo mokutil --import PATH_TO_SAVE_PUBLIC_KEY

修改PATH_TO_SAVE_PUBLIC_KEYPATH_TO_SAVE_PRIVATE_KEY为你自己的路径。第二条命令会让你设置密码。

执行完毕后重启,屏幕会提示让你倒入key。按照https://sourceware.org/systemtap/wiki/SecureBoot的说明,enroll mok --> continue --> yes--> 输入你在上一步设置的密码 --> ok。

安装nvidia driver

下载cuda toolkit,使用参数--extract=/tmp/nvidia将下载包的内容解压到/tmp/nvidia/中。在解压目录中可以看到驱动文件比如NVIDIA-Linux-x86_64-470.42.01.run

按照之前安装nvidia 驱动的步骤,关闭gdm或者lightdm之类。

然后执行以下命令

sudo bash /tmp/nvidia/NVIDIA-Linux-x86_64-470.42.01.run -s --module-signing-secret-key=PATH_TO_SAVE_PRIVATE_KEY --module-signing-public-key=PATH_TO_SAVE_PUBLIC_KEY

有可能需要去掉-s

安装完成后重启即可。

Reference

https://www.tomshardware.com/news/windows-11-tpm-enable-bios-uefi

https://www.isumsoft.com/it/how-to-boot-my-computer-asus-from-usb-in-uefi-bios/

https://askubuntu.com/questions/1023036/how-to-install-nvidia-driver-with-secure-boot-enabled/1049479#1049479

https://sourceware.org/systemtap/wiki/SecureBoot


文章版权归 FindHao 所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明作者 FindHao 和本文原始地址:
https://findhao.net/easycoding/2582.html

Comments