เข้าสู่ระบบเสียหลังจาก 15.10 -> 16.04 LTS อัพเกรดเกี่ยวข้องกับไดรเวอร์ NVIDIA


10

ฉันมีการปรับปรุงระบบของฉันเพียงแค่ 15.10-16.04 sudo do-release-upgradeผ่าน ในระหว่างกระบวนการนี้จะแสดงหน้าจอพร้อมข้อความต่อไปนี้:

ระบบของคุณเปิดใช้งาน UEFI Secure Boot UEFI Secure Boot เข้ากันไม่ได้กับการใช้ไดรเวอร์ของบุคคลที่สาม

(... ) Ubuntu จะยังสามารถบูตบนระบบของคุณได้ แต่ไดรเวอร์บุคคลที่สามเหล่านี้จะไม่สามารถใช้ได้กับฮาร์ดแวร์ของคุณ

ปิดใช้งาน UEFI Secure Boot หรือไม่ (ใช่ | ไม่)

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

อนิจจาไม่ เมื่อรีบูทหน้าจอเข้าสู่ระบบของฉันปรากฏว่ามีความละเอียดต่ำมาก เมื่อพยายามเข้าสู่ระบบมันก็โยนฉันกลับไปที่หน้าจอเข้าสู่ระบบทันที

ฉันได้ลองทำสิ่งต่อไปนี้เพื่อแก้ไขสถานการณ์:

sudo apt-get purge nvidia*
sudo reboot

สิ่งนี้นำไปสู่หน้าจอสีม่วงและไม่มีปฏิกิริยาต่อ Ctrl-Alt-F1 เข้าสู่ระบบผ่าน SSH จากนั้นฉันก็:

sudo apt-get install nvidia-current
sudo reboot

ซึ่งทำให้ฉันมีสถานการณ์เดิมอีกครั้งด้วยหน้าจอเข้าสู่ระบบที่มีความละเอียดต่ำมากและไม่มีวิธีการเข้าสู่ระบบ

นี่เป็นประสบการณ์การอัปเกรดที่แย่มาก ไม่มีใครมีและฉันจะแก้ไขปัญหานี้ได้อย่างไร (ในขณะที่เปิดใช้งาน UEFI Secure Boot) ขอบคุณ



ว้าวนี่มันแย่ จนถึงตอนนี้ฉันต้อง: ติดตั้ง nvidia-364 ผ่าน PPA และปิดใช้งาน Secure Boot ตอนนี้สิ่งต่าง ๆ ดูเหมือนจะทำงานได้ แต่ไดรเวอร์จะไม่อัปเดตอัตโนมัติ (ถ้าฉันไม่เข้าใจผิด) และฉันจะเปิดใช้งาน Secure Boot อีกครั้งไม่ได้ ...
kmhofmann

ใช่น่าเสียดายที่ไม่มีตัวเลือกอื่นในขณะนี้ คุณไม่คิดว่าฉันจะทำเครื่องหมายคำถามนี้ว่าซ้ำกัน
Videonauth

ไม่ฉันไม่สนใจ
kmhofmann

มันไม่ซ้ำกัน - อย่างน้อยก็ไม่ใช่ทั้งหมด คำถามนี้เพิ่ม Secure Boot ใหม่ซึ่งไม่ได้เป็นส่วนหนึ่งของคำถาม "ที่ซ้ำกัน" (แม้ว่าจะถูกกล่าวถึงในข้อคิดเห็นและคำตอบสองสามข้อ) และนั่นก็เป็นสิ่งที่ควรให้ความสนใจ
Rod Smith

คำตอบ:


8

ผ่าน Ubuntu 15.10, เครื่องจักรงานจัดการอูบุนตูของการรักษาความปลอดภัย Boot หยุดที่ด้วง - นั่นคือรุ่นอูบุนตูของ Shim จะเปิดตัวรุ่นอูบุนตูของด้วงซึ่งจะเปิดตัวใด ๆลินุกซ์เคอร์เนลหรือไม่ก็มีการลงนาม นี่เป็นแถบที่ต่ำมากสำหรับการสนับสนุน Secure Boot สำหรับการเปรียบเทียบ GRUB ของ Fedora จะเปิดเฉพาะเคอร์เนล Linux ที่ลงนามแล้วและเมล็ดของ Fedora เมื่อตรวจพบว่า Secure Boot เปิดใช้งานอยู่จะโหลดเฉพาะเคอร์เนลไบนารีที่ลงนามแล้ว จุดประสงค์ของการสนับสนุน Secure Boot ที่แข็งแกร่งยิ่งขึ้นของ Fedora คือเพื่อปกป้องระบบจากโมดูลเคอร์เนล "rogue" ซึ่งในทางทฤษฎีแล้วสามารถใช้คอมพิวเตอร์ในระดับที่ต่ำมาก Ubuntu 15.10 และรุ่นก่อนหน้าไม่มีการป้องกันเช่นนี้

เริ่มต้นด้วย 16.04, Ubuntu ติดตามโมดูล Secure Boot ที่เข้มงวดยิ่งขึ้นเช่นเดียวกับสิ่งที่ Fedora ทำมาระยะหนึ่งแล้ว สิ่งนี้มีประโยชน์ด้านความปลอดภัย แต่อย่างที่คุณเห็นมันมีปัญหาเช่นกัน หากไดรเวอร์ของบุคคลที่สามไม่ได้ลงชื่อด้วยคีย์เข้ารหัสซึ่งเคอร์เนล Linux รุ่น Ubuntu รู้ว่าถูกต้องจะไม่สามารถโหลดได้ สิ่งนี้ส่งผลกระทบต่อไดร์เวอร์วิดีโอ Nvidia และ AMD / ATI ที่เป็นแหล่งปิดส่วนใหญ่ แต่ก็มีไดร์เวอร์อื่น ๆ ที่อาจได้รับผลกระทบด้วย

มี (หรืออาจจะ) วิธีแก้ปัญหาหลายประการสำหรับปัญหานี้:

  • Disable Secure Boot - นี่คือทางออกที่ง่ายที่สุด คุณสามารถทำได้โดยการตั้งค่าเฟิร์มแวร์ของคุณหรือ (ฉันคิดว่า) โดยการปรับการตั้งค่าชิม (ฉันไม่แน่ใจว่าจะทำอย่างไรโดยการปรับการตั้งค่าของชิม แต่ฉันค่อนข้างแน่ใจว่าเป็นไปได้)
  • อย่าใช้โมดูลเคอร์เนลของบุคคลที่สาม - หากคุณ จำกัด ตัวเองให้ใช้ไดรเวอร์โอเพ่นซอร์สที่รวมอยู่ในเคอร์เนลลินุกซ์มาตรฐานของอูบุนตูคุณควรจะดีเพราะ Canonical ลงนามในไดรเวอร์ดังกล่าวทั้งหมด (AFAIK) โปรดทราบว่าควรมีการสนับสนุนที่ดีจาก Nvidia โดยใช้ไดรเวอร์ดังกล่าว ระบบของคุณอาจกลับไปเป็นไดรเวอร์ย่อยที่ดีที่สุดเพราะคิดว่ามีไดรเวอร์แบบโอเพ่นซอร์สอยู่ ฉันไม่รู้วิธีการสลับจากอันหนึ่งไปอีกอันหนึ่งอย่างรวดเร็ว แต่คำถามนี้เกี่ยวกับการทำเช่นนั้นกับไดรเวอร์ AMD / ATI ดังนั้นมันอาจเป็นจุดเริ่มต้นที่เป็นประโยชน์
  • เซ็นชื่อโมดูลที่เกี่ยวข้อง - ในทางทฤษฎีแล้วการลงนามโมดูลเชิงพาณิชย์ด้วยตัวคุณเองควรทำให้พวกเขาทำงานได้ น่าเสียดายที่ฉันไม่มีตัวชี้สำหรับคำแนะนำเกี่ยวกับวิธีการทำเช่นนี้และในความเป็นจริงฉันไม่แน่ใจเลยว่าเป็นไปได้ที่จะทำสิ่งนี้กับเคอร์เนล Ubuntu ที่มีอยู่ เคอร์เนลดังกล่าวอาจให้เกียรติเฉพาะโมดูลที่ลงชื่อด้วยกุญแจของ Canonical ซึ่งแน่นอนว่าคุณไม่มี
  • รวบรวมเคอร์เนลของคุณเอง - หากคุณรวบรวมเคอร์เนลของคุณเองคุณสามารถตั้งค่าตัวเลือกตามที่เห็นสมควรรวมถึงการคลายข้อ จำกัด ในการโหลดโมดูลที่ไม่ได้ลงนาม จากนั้นคุณต้องลงชื่อเคอร์เนลด้วยคีย์ EFI ของคุณเองและเพิ่มรุ่นสาธารณะของคีย์นั้นลงในรายการ MOK ของคุณ นี่คือคำถามและคำตอบเกี่ยวกับการรวบรวมเคอร์เนลของคุณเอง
  • เปลี่ยนเป็น GRUB ที่เก่ากว่า - เนื่องจาก GRUB ที่เก่ากว่าจะเปิดเคอร์เนลที่ไม่มีลายเซ็นคุณสามารถติดตั้ง GRUB (จาก Ubuntu 15.10 หรือเก่ากว่า) และเปิดเคอร์เนลที่ไม่ได้ลงชื่อ โปรดทราบว่าการบำรุงรักษาด้วงที่เก่ากว่าน่าจะเป็นความเจ็บปวด
  • สลับไปที่ตัวโหลดการบูตที่ไม่ให้เกียรติ Secure Boot - หากคุณต้องลงชื่อเข้าใช้ตัวโหลดการบูตอย่าง SYSLINUX หรือ ELILO ด้วยรหัสของคุณเองและเพิ่มรุ่นสาธารณะของรหัสนั้นลงในรายการ MOK ของคุณตัวบูตนั้นจะเพิกเฉยต่อ Secure การตั้งค่าการบูตเช่นเดียวกับ GRUB รุ่นเก่ากว่า จากนั้นคุณสามารถเปิดเคอร์เนลที่ไม่ได้ลงชื่อ

โปรดทราบว่าตัวเลือกเหล่านี้สองตัวเท่านั้นที่ฉันแน่ใจ 100% ใช้งานได้คือปิดใช้งาน Secure Boot หรือเพื่อหลีกเลี่ยงโมดูลเคอร์เนลของบุคคลที่สาม ฉันหลีกเลี่ยงโมดูลเคอร์เนลของบุคคลที่สามเช่นโรคระบาดดังนั้นฉันจึงไม่มีประสบการณ์ส่วนตัวเกี่ยวกับการใช้โมดูลเหล่านี้ในระบบ Secure Boot นอกเหนือจากการปิดใช้งาน Secure Boot การสร้างเคอร์เนลของคุณเองอาจเป็นไปได้มากที่สุดรองลงมาคือการใช้ GRUB รุ่นเก่าหรือการใช้ตัวโหลดการบูตที่ไม่ได้รับเกียรติจาก Secure Boot การสร้างเคอร์เนลของคุณเองเคยเกิดขึ้นบ่อยครั้ง แต่มีเพียงไม่กี่คนที่ทำสิ่งนั้นได้อีกและด้วยเมล็ดพันธุ์สมัยใหม่การลงทุนเวลาเพื่อเรียนรู้วิธีกำหนดค่าเคอร์เนล การใช้ GRUB ที่เก่ากว่าหรือบูตโหลดเดอร์ตัวอื่นอาจจะง่ายกว่า แต่คุณต้องรู้ให้มากพอที่จะตั้งค่านั้นได้


2
* ใช้ Ubuntu 14.04 จนกระทั่งปัญหานี้ได้รับการแก้ไขมีสาเหตุหลายประการที่ทำให้ Linux บนเดสก์ท็อปยังไม่เห็น สิ่งแบบนี้ทำให้ผู้คนต้องยอมรับลีนุกซ์มากขึ้น
Underverse

เข้าสู่ระบบโมดูลที่เกี่ยวข้อง: ด้วยตนเองลงชื่อเข้า/lib/modules/x.y.z/updates/dkms/nvidia*.koใช้kmodsign (หลังจากการปรับปรุงแต่ละคนขับ) หรือโดยอัตโนมัติด้วย apt install shim-signed
Joel Purra
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.