الرئيسية
» PC Tips
»
كيفية إصلاح مشكلة عدم تحميل برامج تشغيل Nvidia بعد تحديث النواة على نظام Ubuntu
كيفية إصلاح مشكلة عدم تحميل برامج تشغيل Nvidia بعد تحديث النواة على نظام Ubuntu
قد يؤدي تحديث نواة نظام أوبونتو إلى ظهور شاشة تسجيل دخول برسومات منخفضة الدقة، أو شاشة سوداء، أو سطح مكتب يعمل بدون تسريع NVIDIA. هذا لا يعني بالضرورة تعطل بطاقة الرسومات. يُغيّر تحديث النواة النواة التي يجب بناء وحدة NVIDIA الخارجية عليها، وقد يرفض التمهيد الآمن تحميل وحدة غير موثوقة بمفتاح توقيعها.
ابدأ بتحديد نوع العطل. إذا كان نظام التشغيل السابق يعمل مع تشغيل بطاقة NVIDIA، فمن المرجح أن يكون نظام التشغيل الجديد أو إصدار الوحدة النمطية الخاصة به هو سبب المشكلة. إذا ظهرت الوحدة النمطية مثبتة ولكن نظام التشغيل يُبلغ عن رفض المفتاح أو التوقيع، فتحقق من خاصية التمهيد الآمن وتسجيل مفتاح مالك الجهاز (MOK). يستخدم هذا الدليل آلية عمل برامج التشغيل المعبأة في أوبونتو؛ وقد تختلف مسميات القوائم وفروع برامج التشغيل باختلاف إصدار أوبونتو ونوع الجهاز.
عرض توضيحي لـ GRUB: يمكن أن يساعد تحديد نواة مثبتة سابقًا في استعادة سطح مكتب يعمل أثناء تشخيص النواة المحدثة.
هل يمكنك تشغيل النواة السابقة أولاً بأمان؟
نعم، إذا كان لا يزال مُثبّتًا. أعد تشغيل الجهاز وافتح قائمة GRUB؛ في العديد من الأنظمة، يُمكنك إظهارها بالضغط على مفتاح Shift في BIOS القديم أو الضغط على مفتاح Esc في UEFI أثناء بدء التشغيل. اختر " خيارات متقدمة" لنظام Ubuntu ، ثم حدد النواة الأقدم بدون "وضع الاسترداد". يعتمد توقيت المفاتيح وتسميات القوائم على البرامج الثابتة وإعدادات GRUB. إذا كانت القائمة مخفية، فراجع سلوك بدء تشغيل الكمبيوتر بدلاً من تغيير إعدادات البرامج الثابتة عشوائيًا.
بمجرد بدء تشغيل النظام، تأكد من تشغيل النواة باستخدام الأمر المناسب uname -r. توفر لك النواة القديمة العاملة مسارًا للاستعادة ووقتًا لفحص الحزم. هذا ليس حلاً دائمًا: فالتحديثات الأمنية لا تزال مهمة، لذا ارجع إلى النواة الجديدة بعد إصلاح برنامج تشغيلها. إذا لم تبدأ أي من النواتين بشكل طبيعي، فاستخدم خيار الاستعادة في أوبونتو أو قرص USB قابل للتشغيل لعمل نسخة احتياطية من البيانات المهمة قبل إجراء أي تغييرات على الحزم.
ما الذي يجب عليك التحقق منه قبل إعادة تثبيت أي شيء؟
افتح نافذة طرفية (أو وحدة تحكم نصية باستخدام Ctrl+Alt+F3 إذا لم يكن تسجيل الدخول الرسومي متاحًا) وقم بجمع بيانات أساسية قصيرة:
uname -rيُحدد هذا الأمر النواة النشطة، mokutil --sb-stateويُبلغ عما إذا كان التمهيد الآمن مُفعلاً، dkms statusويُبين ما إذا كان إصدار دعم وحدة النواة الديناميكية مُسجلاً لتلك النواة، nvidia-smiويختبر الاتصال مع برنامج تشغيل NVIDIA المُحمّل؛ وهو أمر تشخيصي وليس إصلاحياً. قد يكشف سجل النواة عن وحدة مفقودة، أو فشل في عملية البناء، أو رفض التوقيع. عدم وجود سطر مطابق في السجل لا يُثبت سلامة برنامج التشغيل.
استخدم النواة النشطة وحالة DKMS وأداة NVIDIA معًا للتمييز بين مشكلة في الإصدار المفقود ومشكلة في برنامج التشغيل المحمل؛ يمكن أن تختلف مخرجات المثال حسب الإصدار.
هل فشلت وحدة NVIDIA في البناء للنواة الجديدة؟
إذا كان DKMS يُدرج NVIDIA فقط لنواة قديمة، أو لم تكن وحدة NVIDIA متوفرة uname -r، فقم بتثبيت رؤوس النواة المطابقة ودع أوبونتو يُصلح برنامج التشغيل المُضمّن. تُوفّر الرؤوس الملفات اللازمة لإنشاء وحدة خارجية للنواة قيد التشغيل. تأكد أولاً من توفر اتصال بالشبكة ومساحة كافية على القرص، ثم شغّل الأمر التالي:
تختار أداة أوبونتو الموصى بها ubuntu-driversبرنامج تشغيل مناسبًا للجهاز. راجع الحزم التي يقترحها APT قبل الموافقة. إذا كان برنامج التشغيل مثبتًا بالفعل، وبدا أن عملية بناء DKMS غير مكتملة، فحدد الحزمة المثبتة بدلًا من تخمين الفرع.
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
ثم أعد تثبيت حزمة DKMS المطابقة الظاهرة على نظامك (استبدل اسم الحزمة نفسه): sudo apt install --reinstall nvidia-dkms-<branch>. تجنب نسخ رقم برنامج تشغيل من إصدار أوبونتو آخر أو دمج حزم أوبونتو مع برنامج التثبيت المستقل من NVIDIA؛ فقد تؤدي طرق التثبيت المتضاربة إلى استبدال الملفات أو تعقيد عملية التمهيد الآمن. إذا أبلغ APT عن تبعيات غير مُلباة، أو حزم معلقة، أو فشل في بناء DKMS، فاقرأ الخطأ كاملاً قبل تشغيل المزيد من الأوامر. يوجد سجل البناء ذي الصلة عادةً في المسار التالي /var/lib/dkms/: ; استخدم المسار المذكور في الخطأ بدلاً من حذف مجلدات DKMS.
قم بتثبيت ملفات الرأس الخاصة بنواة النظام قيد التشغيل، ثم أصلح حزمة Ubuntu DKMS المحددة مسبقًا للنظام. يختلف اسم الحزمة ومخرجات APT.
هل يمنع التمهيد الآمن وحدةً مدمجة؟
قد يكون ذلك صحيحًا. عند تفعيل خاصية التمهيد الآمن، يتحقق نظام أوبونتو من توقيعات وحدات النواة الخارجية. يمكن لحزمة أوبونتو إنشاء مفتاح توقيع MOK وطلب تسجيله. إذا ظهرت لك رسالة أثناء التثبيت تطلب منك تعيين كلمة مرور لمرة واحدة، ولكن إعادة التشغيل التالية انتقلت مباشرةً إلى أوبونتو، فقد لا يكون المفتاح قد تم تسجيله. تحقق mokutil --sb-stateمن سجل النواة بحثًا عن رسائل التحقق أو رفض المفتاح.
عندما يُضيف برنامج تثبيت حزمة أوبونتو تسجيل مفتاح MOK إلى قائمة الانتظار، أعد تشغيل الجهاز واتبع التعليمات الظاهرة على شاشة مدير MOK الزرقاء: اختر "تسجيل مفتاح MOK" ، ثم "متابعة"، ثم "تأكيد المفتاح"، وأدخل كلمة المرور لمرة واحدة التي أنشأتها أثناء تثبيت الحزمة، ثم أعد تشغيل الجهاز. هذه الكلمة ليست بالضرورة كلمة مرور تسجيل دخولك إلى أوبونتو. اقرأ التعليمات الظاهرة على الشاشة بعناية؛ فقد تختلف صياغة القوائم. إذا لم يتم إضافة أي تسجيل إلى قائمة الانتظار، فقد يُطلب منك إعداد المفتاح عند إعادة تثبيت حزمة برنامج تشغيل أوبونتو المدعومة. لا تُسجّل ملف مفتاح غير مألوف أو تُشارك كلمة المرور لمرة واحدة.
يتم الوصول إلى شاشة تسجيل مدير MOK أثناء إعادة التشغيل عندما يكون تسجيل المفتاح معلقًا؛ حدد "تسجيل MOK فقط" للمفتاح الذي كنت تنوي الوثوق به.
ماذا لو فشلت عملية البناء حتى مع تثبيت ملفات الرأس؟
تأكد من تثبيت النواة الجديدة بالكامل وتطابق ملفاتها الرأسية تمامًا: uname -rيجب أن تتطابق مع حزمة الملفات الرأسية المثبتة. ثم افحص خطأ DKMS في APT وسجل البناء. قد تُظهر النواة الجديدة عدم توافق مع فرع قديم من برنامج تشغيل NVIDIA؛ ولا يمكن لإعادة البناء إصلاح شفرة المصدر التي لا تدعم واجهة النواة هذه. استخدم مُحدد برامج التشغيل في Ubuntu لتثبيت فرع مدعوم لإصدارك، ثم أعد تشغيل الجهاز. إذا قمت بتثبيت برنامج التشغيل باستخدام مُثبِّت .run من NVIDIA، فاتبع تعليمات إزالة NVIDIA قبل العودة إلى حزم Ubuntu؛ ولا تقم بتثبيت برامج إدارة الحزم فوق بعضها البعض.
للوصول المؤقت، قم بتشغيل النواة السابقة من GRUB وأبقها مثبتة حتى يتم تحميل برنامج تشغيل النواة الجديدة بشكل صحيح. إذا كنت تستخدم نواة مخصصة، أو إصدارًا غير قياسي، أو إعدادًا لخادم/حاسوب رسومات، فقد لا تتوافق توصية سطح المكتب التلقائية من أوبونتو مع التكوين الذي تنويه. راجع وثائق تلك النواة أو عبء العمل بدلاً من فرض حزمة عامة.
كيف تتحقق من نجاح الإصلاح؟
بعد إصلاح الحزم أو تسجيل المفتاح، أعد تشغيل الجهاز وقم بتشغيل النواة الجديدة. شغّل الأمر `dkms` uname -r، dkms statusثم `dkms` nvidia-smiمرة أخرى. النتيجة الناجحة هي وجود مدخل DKMS للنواة قيد التشغيل، وعدم وجود رفض لتوقيع الوحدة في سجل النواة أثناء التشغيل الحالي، nvidia-smiوعرض معلومات وحدة معالجة الرسومات وبرنامج التشغيل. تأكد أيضًا من بدء جلسة سطح المكتب بشكل طبيعي، وأن أي تطبيق يحتاج إلى تسريع وحدة معالجة الرسومات يمكنه استخدام وحدة معالجة الرسومات NVIDIA. قد تستخدم أجهزة الكمبيوتر المحمولة الهجينة رسومات مدمجة لسطح المكتب، لذا فإن هدوء وحدة معالجة الرسومات وحده لا يُعد دليلًا على وجود عطل.
إذا استمر الخطأ نفسه، فاحفظ مخرجات بناء DKMS كاملةً، وإصدار النواة النشط، وإصدار أوبونتو cat /etc/os-release، وحالة التمهيد الآمن، وسطور سجل النواة ذات الصلة. تُحدد هذه التفاصيل ما إذا كانت الخطوة التالية هي فرع برنامج تشغيل مدعوم، أو مشكلة توقيع، أو مشكلة توافق مع النواة. توصي إرشادات أوبونتو الرسمية باتباع ubuntu-driversمسارها لمعظم الأنظمة، خاصةً عند تمكين التمهيد الآمن؛ راجع: Ubuntu Desktop: تثبيت برامج تشغيل NVIDIA ، وUbuntu Server: تثبيت برنامج تشغيل NVIDIA ، و Ubuntu Security: التمهيد الآمن UEFI . لمزيد من التفاصيل حول توافق برامج التشغيل، راجع وثائق تثبيت برامج تشغيل NVIDIA لنظام Linux . تختلف إصدارات برامج التشغيل المتاحة والتعليمات الدقيقة باختلاف إصدار أوبونتو وحالة دعم وحدة معالجة الرسومات.