删除所有 NVIDIA 文件

删除所有 NVIDIA 文件

背景:我购买了 NVIDIA 显卡并尝试安装其驱动程序。一路上我搞砸了,现在我在 Cinnamon 备份模式下运行我的计算机(我有 Ubuntu,但我删除了 Unity 并将其替换为 Cinnamon)。我想从头开始(在此之前,我使用的是酷睿 i3,没有显卡)。

问题:当我输入时,sudo dpkg -l | grep -i nvidia我会得到一个结果列表:

结果

但当我输入时,sudo apt-get remove --purge nvidia-*它说我没有找到匹配项。

我尝试了其他几种不同的方法,得到了类似的结果。再次,我想通过删除所有不必要的文件来重新开始。

如何删除所有不必要的 nvidia 文件?

答案1

它在这里不是特别有用(您可以按照注释修复转义),但在您想要搜索整行的情况下dpkg -l,您可以通过类似的东西运行它awk,然后apt-get purge以最小的条件进入:

sudo apt-get purge $(dpkg -l | awk '$2~/nvidia/ {print $2}')

这应该会在执行任何操作之前提示您,但为了以防万一,您可以使用以下命令进行测试:

apt-get -s purge $(dpkg -l | awk '$2~/nvidia/ {print $2}')

答案2

问题是*你的 shell 正在扩展它它被传递到apt-get.您的当前目录中可能有一个文件或目录,其名称以 开头,nvidia-并且正在传递给apt-get.为了显示:

$ ls -l
-rw-r--r-- 1 terdon terdon 0 Jul 16 17:22 nvidia-foo

$ sudo apt-get -s purge nvidia-*
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package nvidia-foo

这是因为实际运行的内容是sudo apt-get -s purge nvidia-foosincenvidia-*扩展为nvidia-foobefore传递给apt-get.这就是为什么你应该总是引用你的 glob:

$ sudo apt-get -s purge 'nvidia-*'

答案3

如果您只能访问 GRUB:

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

相关内容