Loading... 今天更新了fnOS 0.9.35,刚刚吃饭看电视剧一直卡顿,感觉是视频转码的问题,回来发现飞牛读不到显卡了。 ```bash wyy@fn-nas:~$ nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. ``` 我的显卡是NVIDIA Tesla P4,在PVE宿主机上使用vGPU共享给飞牛虚拟机,当时搞虚拟机的驱动也用了好大一番功夫(当时参考的这个视频:[PVE虚拟机ALL IN ONE补全,飞牛NAS虚拟机安装Nvidia vGPU驱动](https://www.geekxw.top/2937/))。 正烦的时候,突然想到今天更新飞牛系统的时候显示内核也做了更新,而我记得装驱动的时候应该是禁用默认驱动了还是怎么的,可能官方更新会导致我自己装的驱动失效。 查了一下,果然,内核更新后之前的驱动的内核模块没有针对新内核进行编译,所以导致失效。Dell公司开发了一个叫做DKMS(Dynamic Kernel Module Support)的工具,用来自动维护内核更新后相应的驱动内核的自动编译安装。因为之前没有安装过dkms,现在只需要安装dkms,再用dkms手动编译下nvidia驱动,就可以解决这个问题了。 ```bash sudo apt update sudo apt install dkms // 检查一下当前安装的nvidia驱动版本 wyy@fn-nas:~$ ls /usr/src | grep nvidia nvidia-535.247.01 // 这里“535.247.01”就是驱动版本,用dkms重新安装 sudo dkms install -m nvidia -v 535.247.01 ``` 完成上述流程后,再执行nvidia-smi,就正常了。 ```bash wyy@fn-nas:~$ nvidia-smi Fri Oct 31 17:16:11 2025 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.247.01 Driver Version: 535.247.01 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 GRID P4-4Q Off | 00000000:00:10.0 Off | 0 | | N/A N/A P8 N/A / N/A | 0MiB / 4096MiB | 0% Default | | | | Disabled | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | No running processes found | +---------------------------------------------------------------------------------------+ ``` 好消息是,这些步骤只需要进行一次,之后内核再升级时,dkms会在升级后自动完成内核的重新编译。 Last modification:October 31, 2025 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏