因Linux內核升級導致的驅動不可用
更新時間 2024-12-13 18:46:21
最近更新時間: 2024-12-13 18:46:21
分享文章
問題描述
在升級Linux內核后,用戶可能會遇到NVIDIA驅動不可用的問題。這種情況通常表現為以下錯誤信息:
錯誤1:執行 nvidia-smi 時出現以下錯誤:
- 錯誤信息: Failed to initialize NVML: Driver/library version mismatch
- 說明: 該錯誤表示NVIDIA驅動和庫版本不匹配,通常是因為內核升級后舊版驅動不再適用于新內核。
錯誤2: 執行 nvidia-smi 時出現以下錯誤:
- 錯誤信息: NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
- 說明: 該錯誤表示NVIDIA驅動未正確加載或未安裝,導致無法與NVIDIA硬件進行通信。
解決方法
1.檢查當前內核版本
uname -r
2.查看安裝驅動時的內核版本
RedHat系(CentOS)系統執行
find /usr/lib/modules -name nvidia.ko
Debian類(Ubuntu)系統執行
find /lib/modules -name nvidia.ko
如果當前內核版本與安裝驅動時的內核版本不一致,則確認為內核升級后導致的驅動不可用。
3.移除現有NVIDIA驅動模塊
依次執行以下命令,以確保所有與NVIDIA相關的驅動模塊已被移除:
rmmod nvidia_drm
rmmod nvidia_modeset
rmmod nvidia
4.查看GPU信息
執行以下命令以查看當前GPU的狀態:
nvidia-smi
5.檢查回顯結果
-
如果命令輸出正常,且能夠顯示GPU信息,則問題已修復。
-
如果輸出仍然報錯,請參考以下步驟進行進一步處理。
- 如果業務依賴于新版本內核,則需要參考官方文檔卸載當前驅動,并在該內核下重新安裝驅動。
- 如果不小心升級了內核驅動,而當前的驅動與新版本內核不兼容,可以通過重啟云主機并使用舊版本內核登錄,從而恢復驅動的正常運行。