我试图更新带有几张 Nvidia GTX 980 卡的系统的驱动程序,但不知何故我搞砸了,现在当我使用 Nvidia 运行安装程序时遇到此错误:
ERROR: An NVIDIA kernel module 'nvidia-uvm' appears to already be loaded in your kernel. This may be because it is in use (for example, by the X server), but may also happen if your kernel was configured
without support for module unloading. Please be sure you have exited X before attempting to upgrade your driver. If you have exited X, know that your kernel supports module unloading, and still
receive this message, then an error may have occured that has corrupted the NVIDIA kernel module's usage count; the simplest remedy is to reboot your computer.
lsmod | grep -i nvidia
给出:
nvidia_uvm 77824 0
nvidia 8540160 77 nvidia_uvm
drm 344064 4 nvidia
因此,关于可能发生了损坏内核模块使用计数的错误的建议是有道理的,但是,补救措施没有帮助,并且重新启动也不起作用。我尝试以不同的方式将这两个模块列入黑名单,无论我做什么,它们总是会回来。做rmmod
或modprobe -r
做都没有帮助。事实上,后来我得到:
modprobe: FATAL: Module nvidia-uvm not found.
我已经尝试了在网上找到的所有内容,但没有改变 77。
有任何想法吗?谢谢!
答案1
我有同样的问题。结果发现有一个程序正在运行,导致无法nvidia-uvm
卸载。
为了找出那个程序是什么,我做了
#lsof | grep nvidia.uvm
(如果需要的话sudo
)这给了我关于什么正在使用该模块的提示。我从这个答案中得到了这一点:https://stackoverflow.com/questions/448999/is-there-a-way-to-figure-out-what-is-using-a-linux-kernel-module
然后我卸载了该程序,因为我实际上不需要它,一切又恢复正常了。如果您确实需要该程序,您可以暂时终止或终止它,然后在完成后重新启动它。
答案2
尝试将以下内容添加到 grub 的引导参数中:
nouveau.modset=0
为此,请在e显示 grub 加载程序屏幕时按下 来中断 grub 加载程序,然后将上述命令添加到命令linux
末尾或之前---
(如果存在这些破折号)。完成编辑F10后将启动。
这将阻止您在解决问题时加载开源 nouveau NVIDIA 驱动程序。