当前位置: 首页>>技术教程>>正文


升级后NVIDIA驱动程序无法运行。为什么我只能看到终端?

, , ,

问题描述

今晚我升级到11.04。问题。完成升级后,我重新启动了计算机,因为它也告诉了我。当我越过ubuntu 11.04(紫色背景橙色圆点)时,它只是去了终端并要求我登录。我试图用“sudo service gdm restart”重新启动X服务器,但没有弹出显示。我的下载文件中碰巧有一些NVIDIA驱动程序,所以我尝试了一下,但是”install script”失败了。

毕竟,我在图形故障安全模式下启动了Ubuntu。然后我决定看看如果删除专有驱动程序会发生什么。执行此操作并重新启动我的Ubuntu启动到图形模式”yay!”。因此,如果没有Nvidia驱动程序,我终于可以看到除终端之外的其他东西,但是,我需要那些NVIDIA驱动程序才能完成我的工作。那我该怎么办?我已经尝试从NVIDIA网站安装新的NVIDIA Linux驱动程序,并尝试通过”additional drivers”安装推荐的驱动程序,但两者都导致我被困在终端。

如果你能帮忙或给我一些建议请做!我的情况非常糟糕……

最佳解决方法

您需要启动进入恢复模式,然后在根终端上发出apt-get remove --purge nvidia-current,然后发出apt-get install nvidia-current – 为新内核重建nvidia驱动程序。我升级后也遇到了这个问题。

请不要从nVidia的网站上安装驱动程序btw!如果您稍后尝试安装推荐的驱动程序而不干净地删除之前的驱动程序,则可能会导致严重的问题。

编辑:您需要从终端运行这些命令。我不能保证一个完美的结果,因为我基于我通过互联网和 memory 找到的东西。

您遇到的问题是由于具有不同的用户模式组件和内核模块。要修复它,必须重建nvidia内核模块。这应该在重启时发生,但通常不会。

首先,您需要安装Linux内核头文件:

  • sudo apt-get install linux-headers-generic

然后你需要运行dkms来删除旧的nvidia内核模块:

  • sudo dkms remove nvidia

然后运行:

  • sudo apt-get install nvidia-current

  • 这应该使它正确安装,所以你需要做的就是运行sudo nvidia-xconfig and reboot.

  • 如果仍然出现有关模块版本的错误,请运行:sudo dkms build nvidia

这应该可以解决问题。

对不起,如果事情有点令人困惑,我试着把我必须使用的过程放回到我的 memory 中:)!如果您遇到问题,请随时告诉我(如果有人发现任何问题,请尽快告诉我)!!!!


更新:

我发现了另一个可能的原因Nouveau可能未被列入黑名单,并且nvidia-current可能没有将自己置于用于选择显示驱动程序的.conf文件中。以下是如何修复它:

注意:

在继续之前,请确保您拥有存储库中的nvidia-current驱动程序。从nvidia的网站下载驱动程序可能会导致以后出现问题,因为它不使用debian软件包格式,并留下可能与以后的安装冲突的东西。因此,请确保先清除它的任何痕迹,然后从Ubuntu repos安装标准驱动程序。如果你不这样做,你将得到一个驱动程序不匹配,这个修复将毫无意义。

  • 如果您被困在控制台上,请登录并安装nouveau X.org驱动程序:sudo apt-get install xserver-xorg-video-nouveau

  • 重新启动你的电脑(你会有工作的图形,是的!但这是暂时的)。

  • 以root身份打开gedit:gksu gedit

  • 从gedit打开/etc/modprobe.d/blacklist.conf

  • 在底部添加此行:blacklist nouveau

  • 保存文件,然后打开/etc/modprobe.d/nvidia-graphics-drivers.conf

    • 添加这些行:黑名单暴发户黑名单lbm-nouveau黑名单NVIDIA-173黑名单NVIDIA-96别名NVIDIA nvidia-current

  • 现在保存此文件,并关闭gedit。

  • 跑:

    • sudo nvidia-xconfig

    • 然后:

    • sudo apt-get remove xserver-xorg-video-nouveau

    • 其次是:

    • sudo shutdown -r now

  • 当您的系统重新启动时,您应该使用nvidia驱动程序。

顺便说一句,这个没有列入黑名单的问题似乎存在于较新的驱动程序(nvidia-current)中,因此我建议在解决问题后,等待更新此错误(我将尽快报告错误)。

替代解决方案:如果您确实从他们的网站安装了NVIDIA驱动程序,那么您必须启动到文本终端,(保持启动以查看grub菜单并选择最后使用NVIDIA驱动程序的内核版本的’recovery’模式,并选择命令行作为root选项)

然后运行您运行的原始NVIDIA安装shell脚本,以从其网站安装NVIDIA驱动程序。例如sudo ./NVIDIA-Linux-x86-290.10.run --uninstall。 (您的版本可能有所不同。)

您不需要运行“sudo dkms remove nvidia”命令,因为这不适用于您的情况。

次佳解决方法

这就是为什么我总是建议安装Ubuntu作为干净安装,而不是进行升级。这只是我的意见,但在升级时我总是遇到一些问题。执行全新安装时没有问题。

对于我从其他答案中读到的内容,您已经从Nvidia网站安装了Nvidia驱动程序。即使它运作良好等等。不要做它!进入ubuntu存储库的那个已经过测试,这是推荐的。

在你的情况下,你需要做几件事。

步骤1 – 卸载您安装的nvidia驱动程序,永远不要再安装它。它会让你免于那个特定的问题……呃….有人也有它(我;))你还需要从它中删除模块以及它留下的任何配置文件。如果没有记错的话,那么来自Nvidia网站的nvidia驱动程序都有一个卸载二进制文件。运行它并确保没有其他nvidia文件留下behing。

更新 – 要卸载从Nvidia站点安装的Nvidia驱动程序,您可能有以下几种选择之一:

  • 有人建议使用相同的安装程序卸载。示例:NVIDIA-Linux-x86-1.0-8178.run –uninstall

  • 其他人建议使用Nvidia安装程序。示例:nvidia-installer –uninstall

提示 – 尝试在Nvidia二进制可执行文件的末尾键入–help,看看它是否显示了一些帮助。 https://help.ubuntu.com/community/NvidiaManualhttp://www.nvnews.net/vbulletin/showthread.php?t=83678等页面介绍了如何从Nvidia站点卸载Nvidia驱动程序。

第2步 – 重新启动并检查您是否没有从nvidia离开。删除xorg.conf文件,因为您将很快创建一个新文件。重启。

第3步 – 安装推荐的Nvidia驱动程序。 sudo apt-get install nvidia-currentsudo apt-get reinstall nvidia-current(如果你已经安装了它。我会建议unistall再安装它。)

步骤4 – 为Nvidia推荐的驱动程序创建xorg.conf文件。 nvidia-xconfig。这将创建xorg.con文件,其中包含nvidia视频卡所需的选项。重新启动。

到目前为止,如果您遇到任何问题我需要反馈。有关更一般的解决方案,请随时阅读本指南:How do I install the Nvidia drivers?

第三种解决方法

我也遇到了nvidia驱动程序的问题,并且已经完成了我能找到的所有内容(也在其他答案中):

  • 删除以前安装的驱动程序并重新安装

  • 通过failsafeX启动并激活驱动程序

  • 使用以前的驱动程序(173)

  • 我将UNITY_FORCE_START=1添加到/etc/environment,如上所述here(因为GeForce 7300/7400被列入黑名单,但我有一个GeForce Go 7100)

但这一切都在失败。所以,最后(我应该早点想到它),我调查了X-logfiles。在我的/var/log/Xorg.0.log内部,我发现nvidia在分配内存时遇到了问题:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

显然这是一个已知的错误,我必须执行以下操作来解决此问题:

  • 编辑/etc/default/grub

  • 找到选项GRUB_CMDLINE_LINUX并添加nopat,所以对我来说这看起来像GRUB_CMDLINE_LINUX="nopat"

  • 运行sudo update-grub

然后,最后,一切对我来说都很好:)希望这会有所帮助。

第四种方法

请注意,下面的内核指向以前的Ubuntu版本。 Ubuntu 11.10的新内核是3.0.0.12。因为无法找到nvidia_173驱动程序而被置于命令模式和Xserver失败时遇到了同样的问题。然后我意识到升级没有更新我的MBR指向3.0.0.12。我使用EasyBCD更新文件,重新启动,一切都很好。当然,这些类型的驱动程序故障可能发生在混合级别时。我的建议,升级后,确保你正在执行新内核,initrd,vmlinuz,…你有什么。

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

我发现在我的/usr /bin中使用的cc(gcc的别名)与在同一目录中找到的gcc版本不同,无论我的机器上已经安装了所有dev软件包。我必须创建一个指向gcc文件的符号链接。

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

之后,重新安装nvidia-current软件包对我来说很有用。

问候

第五种方法

我的11.04升级也只启动到终端窗口。然后我找到了这个网站。我开始做罗兰泰勒推荐的,首先我做了

sudo apt-get install linux-headers-generic

然后我试着做:

sudo dkms remove nvidia 

但它没有抱怨命令没有完成,我需要-m-v和版本

我打算重试但是我注意到屏幕上有第一个命令的日志信息,注意到我在安装headers-generic时安装了nvidia-current,所以我想,我想知道如果我现在重新启动会怎么做?所以我做了,X台式机很好。所以只有一个命令修复了我的安装问题。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2400.html,未经允许,请勿转载。