如何完全卸载 nvidia 驱动程序?

Ved*_*als 130 uninstall nvidia unity

正如预期的那样,Nvidia 驱动程序减少了我的自定义设置。我无法登录 Unity 3D 会话。我找不到任何内容来帮助我卸载驱动程序,我不知道该怎么做,因为我以前从未卸载过它们。

Nic*_*Tux 183

对于 Ubuntu 12.04

命令可以执行到终端。你可以打开一个终端Ctrl+ Alt+T键组合。

如果您remove --purge是 nvidia 驱动程序,您会没事的。无需将某些内容列入黑名单,但有时可能需要强制加载 nouveau 模块。

首先完全卸载驱动程序。

从 nvidia 中搜索您已安装的软件包。

dpkg -l | grep -i nvidia
Run Code Online (Sandbox Code Playgroud)

除了之外nvidia-common所有其他包都应该被清除。


如果你想确保你会清除所有与 nvidia 相关的东西,你可以给出这个命令

sudo apt-get remove --purge '^nvidia-.*'
Run Code Online (Sandbox Code Playgroud)

.*最终的手段(清除一切始于(^)的名称nvidia-

上面的命令还将删除该nvidia-common包,并且该nvidia-common包具有该包的依赖项ubuntu-desktop

所以在上面的命令之后,你还应该给出ubuntu-desktop包的安装命令

sudo apt-get install ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

有时,nouveau 驱动程序也会被 nvidia 驱动程序列入黑名单。使用清除命令,它应该被列入联合国黑名单。如果您想确保 nouveau 将在启动时加载,您可以通过将其添加到 /etc/modules 来强制加载它

echo 'nouveau' | sudo tee -a /etc/modules
Run Code Online (Sandbox Code Playgroud)

最后,搜索 xorg.conf 文件并将其删除

sudo rm /etc/X11/xorg.conf
Run Code Online (Sandbox Code Playgroud)

总之

sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules
Run Code Online (Sandbox Code Playgroud)

尽管不需要上述所有命令,但这是我完全清除 nvidia 驱动程序并使用开源 nounveau 的方法。

  • 你的食谱刚刚为我解决了一个类似的问题,这个问题让我昨晚一直摆弄电脑直到凌晨 3 点。不够谢谢。 (15认同)
  • 像魅力一样工作。谢谢!这正是我所需要的。 (3认同)
  • 在我的 Ubuntu 16.04 LTS 上没有 `nvidia-common` 包,所以可以省略 `sudo apt-get install ubuntu-desktop` 的额外步骤。也没有`/etc/X11/xorg.conf` 文件。运行 `locate xorg.conf` 会显示许多文件。 (2认同)

Tho*_*mio 34

我只是使用了 nvidia-uninstall。

sudo nvidia-uninstall
Run Code Online (Sandbox Code Playgroud)

就我而言,我直接从 nvidia 网站上获得了驱动程序。

  • @InfiniteLoops,这一定是由您从存储库安装驱动程序引起的。从 NVidia 网站安装的驱动程序在 2019 年确实有 `nvidia-uninstall` 命令。 (3认同)
  • 不再支持 nvidia-uninstall。在 Disco Dingo 中找不到命令 (2认同)

小智 17

我意识到这是一个旧答案,但为了清晰和系统稳定性,我必须在这里添加一个答案。

首先,它*是 shell 的扩展运算符,它将抓取所有内容并删除许多您不需要删除的文件。删除 nvidia 驱动程序的最安全方法是执行

$ dpkg -l | grep nvidia
Run Code Online (Sandbox Code Playgroud)

搜索 nvidia-xxx.xx 版本或 nvidia-driver-xxx.xx 版本,然后输入

$ sudo apt purge nvidia-xxx.xx
Run Code Online (Sandbox Code Playgroud)

或者:

$ sudo apt purge nvidia-driver-xxx.xx
Run Code Online (Sandbox Code Playgroud)

它只会删除该包,但也会标记其依赖项以进行删除

删除依赖项很容易。

$ sudo apt autoremove
$ sudo apt autoclean
Run Code Online (Sandbox Code Playgroud)

例如,如果您安装了 390.xx 软件包,那就是。

$ dpkg -l | grep -i nvidia
ii  libnvidia-cfg1-390:amd64                   390.48-0ubuntu3                     amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-390                       390.48-0ubuntu3                     all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-390:amd64                390.48-0ubuntu3                     amd64        NVIDIA libcompute package
ii  libnvidia-compute-390:i386                 390.48-0ubuntu3                     i386         NVIDIA libcompute package
ii  libnvidia-decode-390:amd64                 390.48-0ubuntu3                     amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-390:i386                  390.48-0ubuntu3                     i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-390:amd64                 390.48-0ubuntu3                     amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-390:i386                  390.48-0ubuntu3                     i386         NVENC Video Encoding runtime library
ii  libnvidia-fbc1-390:amd64                   390.48-0ubuntu3                     amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-390:i386                    390.48-0ubuntu3                     i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-390:amd64                     390.48-0ubuntu3                     amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-390:i386                      390.48-0ubuntu3                     i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-390:amd64                   390.48-0ubuntu3                     amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-390:i386                    390.48-0ubuntu3                     i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-compute-utils-390                   390.48-0ubuntu3                     amd64        NVIDIA compute utilities
ii  nvidia-dkms-390                            390.48-0ubuntu3                     amd64        NVIDIA DKMS package
ii  nvidia-driver-390                          390.48-0ubuntu3                     amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-390                   390.48-0ubuntu3                     amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-390                   390.48-0ubuntu3                     amd64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.8                               all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            390.42-0ubuntu1                     amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-390                           390.48-0ubuntu3                     amd64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-390              390.48-0ubuntu3                     amd64        NVIDIA binary Xorg driver
Run Code Online (Sandbox Code Playgroud)

要验证,您可以执行

$ apt-cache search nvidia | grep driver
nvidia-settings - Tool for configuring the NVIDIA graphics driver
ubuntu-drivers-common - Detect and install additional Ubuntu driver packages
vdpau-driver-all - Video Decode and Presentation API for Unix (driver metapackage)
xserver-xorg-video-nouveau - X.Org X server -- Nouveau display driver
nvidia-340-dev - NVIDIA binary Xorg driver development files
nvidia-384 - Transitional package for nvidia-driver-390
nvidia-384-dev - Transitional package for nvidia-driver-390
nvidia-driver-390 - NVIDIA driver metapackage
nvidia-utils-390 - NVIDIA driver support binaries
xserver-xorg-video-nvidia-390 - NVIDIA binary Xorg driver
bumblebee-nvidia - NVIDIA Optimus support using the proprietary NVIDIA driver
kubuntu-driver-manager - Driver Manager for Kubuntu
kubuntu-driver-manager-dbg - Driver Manager for Kubuntu -- debug symbols
nvidia-common - transitional package for ubuntu-drivers-common
nvidia-304 - NVIDIA legacy binary driver - version 304.137
nvidia-304-dev - NVIDIA binary Xorg driver development files
nvidia-340 - NVIDIA binary driver - version 340.107
nvidia-387-dev - Transitional package for nvidia-driver-390
nvidia-387 - Transitional package for nvidia-driver-390
nvidia-390-dev - Transitional package for nvidia-driver-390
nvidia-390 - Transitional package for nvidia-driver-390
nvidia-driver-396 - NVIDIA driver metapackage
nvidia-utils-396 - NVIDIA driver support binaries
xserver-xorg-video-nvidia-396 - NVIDIA binary Xorg driver
Run Code Online (Sandbox Code Playgroud)

确定要删除的软件包后,请执行

$ sudo apt purge nvidia-390 (nvidia-driver-XXX) -y
$ sudo apt autoremove -y
$ sudo apt autoclean
Run Code Online (Sandbox Code Playgroud)

确保在执行此操作后立即安装您计划使用的任何驱动程序,如果由于某种原因您没有 livepatch,只需重新启动系统,您就可以开始使用了。

这样您就不必担心在清除驱动程序时删除系统依赖项。之后您将拥有一个健全而稳定的系统,而不必担心重新安装您的系统可能依赖的其他软件包。那apt是工作,不是你的。


小智 8

如果您只能访问 GRUB:

  1. 重启你的电脑
  2. Advanced options for Ubuntu在 GRUB 启动菜单中选择
  3. 选择 Ubuntu ..... (recovery mode)
  4. dpkg在恢复菜单中选择修复损坏的包(这将停止 nvidia 进程,以便我们可以卸载)。选择是。完成后按 ENTER(即使发现问题)
  5. 选择root(Drop to root shell promt at the Recovery Menu)
  6. 输入您的根密码
  7. 类型: apt-get remove --purge nvidia-*
  8. 如果完成输入: reboot
  9. 像往常一样启动,它现在应该进入你的 Ubuntu 登录屏幕