230427 Nvidia 驅動程序/庫版本不匹配

Failed to initialize NVML: Driver/library version mismatch 的一點解決方案總結。

有時執行nvidia-smi會報錯:

1
Failed to initialize NVML: Driver/library version mismatch

如果重啓不能解決,此時可通過 sudo dmesg |tail -4 命令確認客戶端和內核驅動版本的差異:

1
2
3
4
[   27.998032] NVRM: API mismatch: the client has the version 470.182.03, but
NVRM: this kernel module has the version 470.161.03. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.

一般地,安裝與客戶端匹配的對應版本號最新版 nvidia 驅動可解決:

1
sudo apt install nvidia-driver-470

如果 initramfs 報錯導致內核更新失敗,提示如:

1
2
3
4
dpkg: error processing package initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
initramfs-tools

可嘗試重新配置initramfs-tools

1
2
3
4
5
sudo rm -f /var/lib/dpkg/info/initramfs-tools.post*
sudo rm -f /var/lib/dpkg/info/initramfs-tools.pre*
sudo rm -f /var/lib/dpkg/info/bcmwl-kernel-source.post*
sudo rm -f /var/lib/dpkg/info/bcmwl-kernel-source.pre*
sudo dpkg --configure -a

如果由於上述原因導致安裝nvidia-driver-{version}失敗,執行sudo update-initramfs -u時發現/boot分區內存不足:

1
2
3
4
5
~$ sudo update-initramfs -u
update-initramfs: Generating /boot/initrd.img-5.15.0-43-generic
Error 24 : Write error : cannot write compressed block
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.15.0-43-generic with 1.

此時嘗試備份後刪除/boot分區的old內容,重新執行sudo update-initramfs -u即可。

sudo dkms status 可檢查當前狀態。

知識點總結

  • dkms:Dynamic Kernel Module Support,動態內核模塊支持。可生成 Linux 內核模塊。
  • dmeag:Diagnostic message,診斷信息

參考


本站所有文章除特別聲明外,均採用 CC BY-SA 4.0 協議 ,轉載請註明出處!