ไดรเวอร์ NVIDIA ไม่ทำงานหลังจากอัพเกรด ทำไมฉันถึงเห็นเทอร์มินัลเท่านั้น


34

คืนนี้ฉันอัพเกรดเป็น 11.04 ปัญหาที่เกิดขึ้น เมื่อฉันอัปเกรดเสร็จแล้วฉันรีสตาร์ทคอมพิวเตอร์ตามที่บอกด้วย เมื่อฉันผ่าน Ubuntu 11.04 (จุดสีส้มพื้นหลังสีม่วง) มันก็ไปที่เทอร์มินัลและขอให้ฉันเข้าสู่ระบบฉันพยายามรีสตาร์ทเซิร์ฟเวอร์ X ด้วย "sudo service gdm restart" แต่ไม่มีจอแสดงผลโผล่ขึ้นมา ฉันบังเอิญมีไดรเวอร์ NVIDIA บางไฟล์ในไฟล์ดาวน์โหลดของฉันด้วยดังนั้นฉันจึงลองทำเช่นนี้ แต่ "สคริปต์การติดตั้ง" ล้มเหลว

หลังจากทั้งหมดนี้ฉันบูต Ubuntu ในโหมดกราฟิกที่ไม่ปลอดภัย ฉันจึงตัดสินใจดูว่าจะเกิดอะไรขึ้นหากฉันลบไดรเวอร์ที่เป็นกรรมสิทธิ์ เมื่อทำสิ่งนี้และรีบูต Ubuntu ของฉันบูตเข้าสู่โหมดกราฟิก "yay!" ดังนั้นหากไม่มีไดรเวอร์ Nvidia ในที่สุดฉันก็สามารถเห็นสิ่งอื่นที่ไม่ใช่เทอร์มินัล แต่ฉันต้องการไดรเวอร์ NVIDIA สำหรับการทำงานของฉัน แล้วฉันจะทำอย่างไร ฉันได้ลองติดตั้งไดรเวอร์ NVIDIA linux ใหม่จากเว็บไซต์ NVIDIA แล้วและได้ลองติดตั้งไดรเวอร์ที่แนะนำผ่านทาง "ไดรเวอร์เพิ่มเติม" แต่ทั้งคู่ส่งผลให้ฉันติดอยู่ในเทอร์มินัล

หากคุณสามารถช่วยหรือให้คำแนะนำฉันโปรดทำ! ฉันอยู่ในสถานการณ์ที่เลวร้ายจริงๆ ...


2
คุณลบไฟล์ /etc/X11/xorg.conf ก่อนจากนั้นรีบูตจากนั้นลองเปิดใช้งานไดรเวอร์เวอร์ชั่นเพิ่มเติมของไดรเวอร์ NVIDIA หรือไม่
fossfreedom

1
ฉันกำลังประสบปัญหาเดียวกัน ฉันเปิดใช้งานไดรเวอร์ออกจากระบบและดู "ไม่พบอุปกรณ์" ใน X log ถ้าฉันลบ xorg.conf, X จะเริ่มโดยไม่มีการสนับสนุน GLX Modprobe บอกว่าnvidiaโหลดไดรเวอร์แล้ว
vissi

ไม่ฉันไม่ได้ลบไฟล์ Xorg.conf ฉันมีปัญหามากที่คุณพูดออกมา มันน่ากลัว.
Sixthlaw

แนะนำให้อ่านคู่มือนี้: askubuntu.com/questions/61396/…
Luis Alvarado

คำตอบ:


30

คุณจะต้องบูตเข้าสู่โหมดการกู้คืนจากนั้นออก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- ปัจจุบันจากที่เก็บ การดาวน์โหลดไดรเวอร์จากเว็บไซต์ของ nvidia อาจทำให้เกิดปัญหาในภายหลังเนื่องจากไม่ได้ใช้รูปแบบแพคเกจเดเบียนและปล่อยสิ่งต่าง ๆ ไว้ข้างหลังซึ่งอาจขัดแย้งกับการติดตั้งในภายหลัง ดังนั้นให้แน่ใจว่าคุณลบร่องรอยใด ๆ ของมันก่อนแล้วจึงติดตั้งไดรเวอร์มาตรฐานจาก repos ของ Ubuntu หากคุณไม่ทำคุณจะได้รับไดรเวอร์ไม่ตรงกันและการแก้ไขนี้จะไม่มีจุดหมาย

  • หากคุณติดอยู่ที่คอนโซลให้ล็อกอินและติดตั้งไดรเวอร์ nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • รีสตาร์ตคอมพิวเตอร์ของคุณ (คุณจะมีกราฟิกที่ใช้งานได้ใช่ แต่นี่เป็นชั่วคราว)
  • เปิด Gedit gksu geditเป็นราก:
  • /etc/modprobe.d/blacklist.confจากการเปิด Gedit
  • เพิ่มบรรทัดนี้ที่ด้านล่าง: blacklist nouveau.
  • /etc/modprobe.d/nvidia-graphics-drivers.confบันทึกไฟล์และเปิด
    • เพิ่มบรรทัดเหล่านี้:

      บัญชีดำนูโว
      บัญชีดำ lbm-Nouveau
      บัญชีดำ nvidia-173
      บัญชีดำ nvidia-96
      นามแฝง nvidia nvidia ปัจจุบัน

  • ตอนนี้บันทึกไฟล์นี้และปิด gedit
  • วิ่ง:
    • sudo nvidia-xconfig,
    • แล้ว:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • ติดตามโดย:
    • sudo shutdown -r now.
  • เมื่อระบบของคุณรีสตาร์ทคุณควรมีไดร์เวอร์ nvidia ที่ใช้งานได้
อย่างไรก็ตามปัญหาของการไม่ขึ้นบัญชีดำนูโวดูเหมือนว่าจะมีอยู่ในไดรเวอร์รุ่นใหม่กว่า (nvidia- ปัจจุบัน) ดังนั้นฉันจะแนะนำหลังจากแก้ไขปัญหาแล้วคุณรอการอัปเดตข้อผิดพลาดนี้ (ฉันจะรายงานข้อผิดพลาดในไม่ช้า )

โซลูชันสำรอง: หากคุณติดตั้งไดรเวอร์ NVIDIA จากเว็บไซต์ของพวกเขาคุณต้องบูตเข้าสู่เทอร์มินัลข้อความ (กดค้างไว้ที่บูตเพื่อดูเมนูด้วงและเลือกโหมด 'กู้คืน' ของเคอร์เนลเวอร์ชันที่ทำงานกับไดรเวอร์ NVIDIA ได้ล่าสุด และเลือกบรรทัดคำสั่งเป็นตัวเลือกรูต)

จากนั้นรันเชลล์สคริปต์การติดตั้ง NVIDIA ดั้งเดิมที่คุณใช้เพื่อติดตั้งไดรเวอร์ NVIDIA จากเว็บไซต์ของพวกเขา sudo ./NVIDIA-Linux-x86-290.10.run --uninstallเช่น (รุ่นของคุณอาจแตกต่างกัน)

คุณไม่จำเป็นต้องเรียกใช้คำสั่ง "sudo dkms remove nvidia" เนื่องจากจะไม่มีผลกับกรณีของคุณ


ฉันลองสิ่งนี้ แต่เมื่อฉันรีสตาร์ทอีกครั้งมันก็แสดงให้เห็นว่าขั้วเท่านั้น ฉันลอง sudo startx ในเทอร์มินัลและได้รับข้อความเหล่านี้: ข้อผิดพลาด: API ไม่ตรงกัน: โมดูลเคอร์เนล NVIDIA มีรุ่น 260.19.36 ส่วนประกอบไดรเวอร์ NVIDIA มีรุ่น 270.41.06 โปรดตรวจสอบให้แน่ใจว่าโมดูลเคอร์เนลและส่วนประกอบไดรเวอร์ nvidia ทั้งหมดมีรุ่นเดียวกัน
Sixthlaw

ฉันยังได้รับ: ข้อผิดพลาดร้ายแรงของเซิร์ฟเวอร์ไม่พบหน้าจอ
Sixthlaw

1
@ Sixthlaw: ahhh - ถือแน่นมันเป็นปัญหา dkms และมันเป็นสิ่งเดียวกับที่ฉันมี คุณจะต้องสร้าง dkms build จากบรรทัดคำสั่ง (ฉันลืมคำสั่งดังนั้นรอจนกว่าฉันจะได้รับและฉันจะอัปเดตคำตอบของฉัน)
RolandiXor

1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan

1
โปรดทราบว่าการร้องขอที่กำหนดของdkmsได้รับการสนับสนุนใน 11.10 หรือใหม่กว่าเท่านั้น ในวันที่ 11.04 หรือเก่ากว่าคุณต้องให้รุ่นของโมดูลและเคอร์เนล ( man dkms)
kynan

12

นี่คือเหตุผลที่ฉันแนะนำเสมอให้ติดตั้ง Ubuntu เป็นการติดตั้งใหม่ทั้งหมดแทนที่จะทำการอัปเกรด นี่เป็นเพียงความคิดเห็นของฉัน แต่ฉันมักจะมีปัญหาหรืออื่น ๆ เมื่อทำการอัพเกรด ไม่มีปัญหาเมื่อทำการติดตั้งใหม่ทั้งหมด

สำหรับสิ่งที่ฉันได้อ่านคำตอบอื่น ๆ ที่คุณได้ติดตั้งไดรเวอร์ Nvidia จากเว็บไซต์ Nvidia แม้ว่ามันจะใช้งานได้ดีและอื่น ๆ อย่าทำมัน! ที่มาในที่เก็บของ Ubuntu ได้รับการทดสอบแล้วและเป็นที่แนะนำ

ในกรณีของคุณคุณจะต้องทำหลายสิ่ง

ขั้นตอนที่ 1 - ถอนการติดตั้งไดรเวอร์ nvidia ที่คุณติดตั้งและไม่ติดตั้งอีกครั้ง มันจะช่วยให้คุณประหยัดจากการมีปัญหาเฉพาะที่ ... ehem .... ใครบางคนมี (Me;)) คุณยังต้องลบโมดูลออกจากมันและไฟล์การตั้งค่าใด ๆ ก็ตาม หากไม่ผิดพลาดไดรเวอร์ nvidia จากเว็บไซต์ Nvidia จะมีการถอนการติดตั้งไบนารี เรียกใช้และตรวจสอบให้แน่ใจว่าไม่มีไฟล์ nvidia อื่นเหลืออยู่

อัปเดต - หากต้องการถอนการติดตั้งไดรเวอร์ Nvidia ที่ติดตั้งจากเว็บไซต์ Nvidia คุณอาจมีหนึ่งในหลายตัวเลือก

  • บางคนแนะนำให้ถอนการติดตั้งโดยใช้โปรแกรมติดตั้งเดียวกัน
    ตัวอย่าง: NVIDIA-Linux-x86-1.0-8178.run - ติดตั้ง
  • คนอื่น ๆ แนะนำให้ใช้ Nvidia Installer
    ตัวอย่าง: nvidia-installer --uninstall

เคล็ดลับ - ลองพิมพ์- ช่วยในตอนท้ายของ Nvidia Binary Executionable เพื่อดูว่ามันแสดงความช่วยเหลือหรือไม่ หน้าเช่นhttps://help.ubuntu.com/community/NvidiaManual And http://www.nvnews.net/vbulletin/showthread.php?t=83678ให้แนวคิดในการถอนการติดตั้งไดรเวอร์ Nvidia จากเว็บไซต์ Nvidia

ขั้นตอนที่ 2 - รีบูตและตรวจสอบว่าคุณไม่มีอะไรเหลือจาก NVIDIA ลบไฟล์ xorg.conf เนื่องจากคุณจะสร้างไฟล์ใหม่ในไม่ช้า Reboot

ขั้นตอนที่ 3 - ติดตั้งไดรเวอร์ Nvidia ที่แนะนำ sudo apt-get install nvidia-currentหรือsudo apt-get reinstall nvidia-current(หากคุณติดตั้งไว้แล้วฉันจะแนะนำให้ถอนการติดตั้งแล้วติดตั้งอีกครั้ง)

ขั้นตอนที่ 4 - สร้างไฟล์ xorg.conf สำหรับไดรเวอร์ที่แนะนำของ Nvidia nvidia-xconfig. สิ่งนี้จะสร้างไฟล์ xorg.con พร้อมตัวเลือกที่จำเป็นสำหรับการ์ดแสดงผล nvidia ของคุณ รีบูตอีกครั้ง

ถึงขั้นตอนนี้ฉันต้องการความคิดเห็นถ้าคุณมีปัญหา สำหรับโซลูชันทั่วไปเพิ่มเติมโปรดอ่านคู่มือนี้: ฉันจะติดตั้งไดรเวอร์ของ Nvidia ได้อย่างไร


1
คำขอโทษของฉัน แต่ฉันไม่รู้วิธีการใช้งานขั้นตอนที่ 1 ฉันไม่พบสคริปต์ถอนการติดตั้งที่คุณพูดถึง
Sixthlaw

1
ไม่มีปัญหา Sixthlaw ให้ฉันค้นหา ขอสองสามนาทีให้ฉัน
Luis Alvarado

1
อัปเดตเพื่อรวมความช่วยเหลือเล็กน้อยเกี่ยวกับวิธีลบมัน โปรดแจ้งให้เราทราบหากมันช่วยได้บ้าง
Luis Alvarado

1
นั่นไม่ใช่วิธีแก้ปัญหาถ้าฉันต้องการติดตั้งไดรเวอร์บางตัวโซลูชันจะไม่ติดตั้งอย่างอื่น นั่นเหมือนกับการแก้ปัญหา Java โดยบอกว่าอย่าใช้ Java ใช้ Python ฉันมีปัญหาเดียวกันนี้ (เวอร์ชั่นโมดูลเคอร์เนลไม่ตรงกัน) แต่ฉันต้องการ NVIDIA CUDA devdriver อย่างแน่นอน
skrat

1
ฉันไม่ได้บอกว่าจะติดตั้งอย่างอื่น กำลังบอกว่าส่วนใหญ่ที่เข้ากันได้ในกรณีนี้คือสิ่งที่มาพร้อมกับ Ubuntu สิ่งนี้ได้รับการพิสูจน์แล้วครั้งแล้วครั้งเล่าว่ามีปัญหาน้อยลงมันเป็นมิตรมากขึ้นเมื่อทำการอัปเดต / อัปเกรดและคุณมีเอกสารและคำติชมจากชุมชนมากขึ้น ถ้าฉันจะพูดคุยเกี่ยวกับจาวาฉันจะแนะนำ openjdk ด้วยเหตุผลหลายประการสำหรับหลามหนึ่งที่มาเริ่มต้นเพราะมันได้รับการทดสอบแล้วและอื่น ๆ คุณได้รับจุดของฉันที่นี่ฉันเดา
Luis Alvarado

7

ฉันยังมีปัญหากับไดรเวอร์ของ NVIDIA และได้ทำทุกอย่างที่ฉันสามารถหาได้ (เช่นในคำตอบอื่น ๆ ):

  • ลบไดรเวอร์ที่ติดตั้งไว้ก่อนหน้านี้และติดตั้งอีกครั้ง
  • บูตผ่านfailsafeXและเปิดใช้งานไดรเวอร์
  • ใช้ไดรเวอร์ก่อนหน้า ( 173)
  • ฉันเพิ่มUNITY_FORCE_START=1ไปยัง/etc/environmentที่กล่าวถึงที่นี่ (เช่น 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

และในที่สุดทุกอย่างก็ใช้ได้ดีสำหรับฉัน :) หวังว่านี่จะช่วยได้


มันทำกลอุบายได้อย่างสมบูรณ์แบบขอบคุณมาก! (Nvidia GeForce 9400 บน Natty 64 บิตที่รันไดรเวอร์ "ปัจจุบัน")
dandelionmood

2

สังเกตว่าเคอร์เนลด้านล่างชี้ไปที่ Ubuntu รุ่นก่อนหน้า เคอร์เนลใหม่ที่มี Ubuntu 11.10 คือ 3.0.0.12 ฉันมีปัญหาเดียวกันกับการถูกใส่ในโหมดคำสั่งและ Xserver ล้มเหลวในขณะที่ไม่สามารถหาไดรเวอร์ nvidia_173 ฉันรู้แล้วว่าการอัพเกรดไม่ได้อัปเดต 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

ฉันพบว่า cc (นามแฝงสำหรับ gcc) ที่ใช้ใน / usr / bin ของฉันไม่ใช่รุ่นเดียวกันกับ gcc ที่พบในไดเรกทอรีเดียวกันนั้นโดยไม่คำนึงถึงแพ็คเกจ dev ทั้งหมดที่ติดตั้งบนเครื่องของฉันแล้ว ฉันต้องสร้างลิงก์สัญลักษณ์เพื่อชี้ไปที่ไฟล์ gcc

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

หลังจากนั้นการติดตั้งแพ็กเกจ nvidia ปัจจุบันได้ทำเพื่อฉัน

ความนับถือ


2

การอัปเกรด 11.04 ของฉันยังบูตเฉพาะกับหน้าต่างเทอร์มินัล จากนั้นฉันก็พบเว็บไซต์นี้ ฉันเริ่มทำตามคำแนะนำของ Roland Taylor ก่อนอื่นเลย

sudo apt-get install linux-headers-generic

จากนั้นฉันก็ลองทำ:

sudo dkms remove nvidia 

แต่มันก็ล้มเหลวในการบ่นว่าคำสั่งนั้นไม่สมบูรณ์ที่ฉันต้องการ-mและ-vรุ่น

ฉันกำลังจะลองใหม่ แต่ฉันสังเกตเห็นว่าหน้าจอมีข้อมูลบันทึกจากคำสั่งแรกที่สังเกตเห็นว่ามันมีการติดตั้ง ed nvidia-currentเมื่อฉันติดตั้งส่วนหัว - ทั่วไปดังนั้นฉันคิดว่าฉันสงสัยว่ามันจะทำอย่างไรถ้าฉันรีบูตตอนนี้ ฉันเลยทำแล้ว X desktop ก็ดีขึ้น ดังนั้นคำสั่งเดียวเท่านั้นที่แก้ไขปัญหาการติดตั้งของฉัน


0

สิ่งนี้ใช้ได้สำหรับฉัน

1) เปลี่ยนเป็นเทอร์มินัล F1 โดยกด Ctrl + Alt + 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

0

สำหรับทุกคนที่มีปัญหานี้ด้วยตรวจสอบให้แน่ใจว่า Optimus (เทคโนโลยีการสลับการ์ดกราฟิกของ Nvidia) ถูกปิดการใช้งานใน BIOS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.