dkms全名為(Dynamic Kernel Module Support),其介紹可參考wiki 動態核心模支援
在執行 dkms status
確認系統內有安裝了哪些模組時若出現 .../source/dkms.conf does not exist.
的錯誤訊息。例如
$ dkms status
nvidia/470.103.01, 5.16.5-100.fc34.x86_64, x86_64: installedError! Could not locate dkms.conf file.
File: /var/lib/dkms/nvidia/470.74/source/dkms.conf does not exist.
nvidia/470.103.01, 5.16.7-100.fc34.x86_64, x86_64: installed
這種情況常見 nvidia 安裝多個官方版本的驅動程式後,舊版本的驅動程式檔案不見了。
主要該 module 缺少了 dkms.conf 導致發生錯誤,也可以利用以下指令檢查 /var/lib/dkms/ 目錄下的缺少 source 目錄的 module 有哪些?[1]
for i in /var/lib/dkms/*/[^k]*/source; do [ -e "$i" ] || echo "$i";done
解決方法 - 確認 /var/lib/dkms/nvidia/470.74/ 目錄下沒有 source 的目錄後,將其刪除 - 刪除後在 /var/lib/dkms/nvidia/ 目錄下有其他 kernel 開頭的連結目錄出現指向 /var/lib/dkms/nvidia/470.74/ 而失效的情況,也將其一併刪除即可。 - 最後再執行一次 dkms status
確認是否恢復正常
參考資料 [1] https://bbs.archlinux.org/viewtopic.php?pid=1189293#p1189293
沒有留言:
張貼留言