升级后 NVIDIA 驱动程序不起作用。为什么我只能看到终端?

Six*_*law 34 nvidia xorg 11.04

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

毕竟,我以图形故障安全模式启动了 Ubuntu。然后我决定看看如果我删除专有驱动程序会发生什么。执行此操作并重新启动我的 Ubuntu 后,我的 Ubuntu 启动到图形模式“耶!”。因此,如果没有 Nvidia 驱动程序,我终于可以看到终端以外的东西,但是,我的工作需要那些 NVIDIA 驱动程序。那我能做什么?我尝试从 NVIDIA 网站安装新的 NVIDIA linux 驱动程序,并尝试通过“附加驱动程序”安装推荐的驱动程序,但两者都导致我卡在终端中。

如果你能帮助我或给我一些建议,请做!我的处境真的很糟糕……

Rol*_*Xor 30

您需要启动到恢复模式,然后apt-get remove --purge nvidia-current在 root 终端上发出命令,然后apt-get install nvidia-current- 为新内核重建 nvidia 驱动程序。我升级的时候也有这个问题。

请不要安装来自 nVidia 网站的驱动程序!如果您稍后尝试安装推荐的驱动程序而没有彻底删除前一个驱动程序,则可能会导致严重的问题。

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

您遇到的问题是由不同的用户模式组件和内核模块引起的。要修复它,必须重建 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 存储库安装标准驱动程序。如果你不这样做,你会得到一个驱动程序不匹配,这个修复将毫无意义。

  • 如果您卡在控制台上,请登录并安装 nouveau X.org 驱动程序: sudo apt-get install xserver-xorg-video-nouveau
  • 重新启动您的计算机(您将拥有工作图形,是的!但这是暂时的)。
  • 打开gedit中为根:gksu gedit
  • 从 gedit 打开/etc/modprobe.d/blacklist.conf
  • 在底部添加这一行:blacklist nouveau
  • 保存文件,然后打开/etc/modprobe.d/nvidia-graphics-drivers.conf
    • 添加这些行:

      blacklist nouveau
      blacklist lbm-nouveau
      blacklist nvidia-173
      blacklist nvidia-96
      alias nvidia nvidia-current

  • 现在保存这个文件,并关闭 gedit。
  • 跑:
    • sudo nvidia-xconfig,
    • 进而:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • 其次是:
    • sudo shutdown -r now.
  • 当您的系统重新启动时,您应该有可用的 nvidia 驱动程序。
顺便说一句,新驱动程序(nvidia-current)中似乎存在未将 nouveau 列入黑名单的问题,因此我建议您在修复该问题后等待此错误的更新(我将很快报告该错误)。

替代解决方案:如果您确实从他们的网站安装了 NVIDIA 驱动程序,那么您必须启动到文本终端,(在启动时按住以查看 grub 菜单并选择上次使用 NVIDIA 驱动程序的内核版本的“恢复”模式,并选择命令行作为 root 选项)

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

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


Lui*_*ado 12

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

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

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

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

更新 - 要卸载从 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-current或者sudo apt-get reinstall nvidia-current(如果您已经安装了它。我建议您先卸载然后重新安装。)

第 4 步- 为 Nvidia 推荐的驱动程序创建 xorg.conf 文件。nvidia-xconfig. 这将创建 xorg.con 文件,其中包含您的 nvidia 显卡所需的选项。再次重启。

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


nat*_*vda 7

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

  • 删除以前安装的驱动程序并重新安装
  • 通过启动failsafeX并激活驱动程序
  • 使用以前的驱动程序 ( 173)
  • 我添加UNITY_FORCE_START=1这里/etc/environment提到的(因为 GeForce 7300/7400 被列入黑名单,但我有一个 GeForce Go 7100)

但这一切都一直失败。所以,最后的手段(我应该早点想到),我调查了 X 日志文件。在我的内部,我/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 ***
Run Code Online (Sandbox Code Playgroud)

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

  • 编辑 /etc/default/grub
  • 找到选项GRUB_CMDLINE_LINUX并添加nopat,所以对我来说这看起来像

    GRUB_CMDLINE_LINUX="nopat"

  • sudo update-grub

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