NVIDIA驱动程序升级后无法正常工作。 为什么我只能看到终端?

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

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

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

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

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

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

您遇到的问题是由于具有不同的用户模式组件和内核模块。 要修复它,必须重建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

应该可以解决问题。

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


更新:

我发现了另一个可能的原因 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 open /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),所以我建议在解决问题之后,等待这个bug的更新(我将很快报告这个bug) )。

    替代解决方案:如果您确实从他们的网站安装了NVIDIA驱动程序,那么您必须启动到文本终端,(保持启动以查看grub菜单并选择上次使用NVIDIA驱动程序的内核版本的’恢复’模式,并选择命令行作为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 Binary Executable的末尾键入–help ,看看它是否显示了一些帮助。 像https://help.ubuntu.com/community/NvidiaManual和http://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文件,其中包含nvidiavideo卡所需的选项。 重新启动。

    到目前为止,如果您有任何问题我需要反馈。 有关更一般的解决方案,请随时阅读本指南: 如何安装Nvidia驱动程序?

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

    • 删除以前安装的驱动程序并重新安装
    • 通过failsafeX启动并激活驱动程序
    • 使用以前的驱动程序( 173
    • 我在这里提到的/etc/environment添加了UNITY_FORCE_START=1 (因为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并添加GRUB_CMDLINE_LINUX ,所以对我来说这看起来像

      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以及版本

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

    这对我有用。

    1)按Ctrl + Alt + F1切换到F1终端。

    2)运行以下命令。

     sudo /etc/gdm stop sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r) wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run # Make sure to allow the script to uninstall all existing drivers. sudo sh /tmp/nvidia.run sudo /etc/gdm start 

    对于遇到此问题的任何人,请确保在BIOS中禁用Optimus(Nvidia的图形卡切换技术)。