當前位置: 首頁>>技術教程>>正文


升級後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/zh-tw/article/2400.html,未經允許,請勿轉載。