الرئيسية
» لينوكس
»
كيفية إزالة إدخالات GRUB المعطوبة في نظام لينكس
كيفية إزالة إدخالات GRUB المعطوبة في نظام لينكس
لإزالة مدخل تمهيد GRUB تالف، حدد أولًا مصدره، ثم أعد إنشاء قائمة GRUB من ملفاتها المصدرية. في أوبونتو وديبيان، شغّل الأمر التالي sudo update-grub؛ أما فيدورا وآرتش فتستخدمان أوامر مختلفة. لا تحذف أي سطر مباشرةً من الملف المُنشأ grub.cfg: فقد يُعيد تحديث لاحق إنشاءه، وقد يؤدي تعديل في غير موضعه إلى صعوبة إقلاع النظام.
حدد نوع مدخل التمهيد
يمكن لقائمة GRUB عرض نواة لينكس، وأنظمة التشغيل الأخرى المُكتشفة، والإدخالات المُخصصة، وخيار إعداد البرامج الثابتة. العنصر الأخير، والذي يُسمى غالبًا " إعدادات البرامج الثابتة UEFI" ، ليس إدخالًا لنظام تشغيل تالف. كما أن النواة القديمة وخيارات الاسترداد تختلف عن إدخال نظام تشغيل تم إلغاء تثبيته. احتفظ بنواة واحدة على الأقل سليمة وخيار الاسترداد الخاص بها حتى تتأكد من أن النظام يعمل بشكل طبيعي.
تحقق مما إذا كانت التسمية غير المرغوب فيها عبارة عن إدخال لنظام التشغيل أو خيار إعدادات البرامج الثابتة المنفصلة.
يقوم برنامج GRUB عادةً بإنشاء قائمته من إعدادات مثل /etc/default/grubالبرامج النصية الموجودة في ملف . ويُعدّ /etc/grub.d/الملف الرئيسي هو الناتج المُولّد. ويشرح دليل GNU GRUB آلية تكوين هذا.grub.cfg
إعادة إنشاء GRUB بعد إزالة نظام التشغيل
إذا قمتَ للتو بإلغاء تثبيت نظام تشغيل آخر أو إزالة حزمة نواة، فأعد بناء القائمة أولاً. افتح نافذة طرفية في نظام لينكس الذي تستخدم قائمة GRUB الخاصة به، ثم شغّل الأمر الخاص بتلك التوزيعة:
التوزيع
إعادة إنشاء القائمة
أوبونتو أو ديبيان
sudo update-grub
فيدورا (الإصدارات الحالية)
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
آرتش لينكس
sudo grub-mkconfig -o /boot/grub/grub.cfg
تُوثّق أوبونتو وديبيان update-grubأداةً مساعدةً grub-mkconfigلكتابة ملف القائمة. تستخدم فيدورا 34 والإصدارات الأحدث /boot/grub2/grub.cfgهذه الأداة كإعداد رئيسي؛ لذا تجنّب الكتابة فوق ملف مؤشر UEFI الصغير الموجود في المسار المحدد /boot/efi/EFI/fedora/grub.cfg. تُوثّق Arch /boot/grub/grub.cfgمسار الإخراج. بالنسبة للتوزيعات الأخرى، اتبع توثيق GRUB الحالي الخاص بها واستخدم مسار الإخراج المُهيأ لها.
تختلف رسائل الفحص والحالة الدقيقة حسب النظام؛ يقوم هذا الأمر بإعادة بناء القائمة التي تم إنشاؤها على نظامي Ubuntu و Debian.في إصدارات فيدورا الحالية، اكتب التكوين المُنشأ إلى /boot/grub2/grub.cfg.يستخدم نظام Arch Linux grub-mkconfigمسار /boot/grub/grub.cfgالإخراج.
راجع مخرجات الأمر بحثًا عن الأخطاء وعن أي إشارات إلى نظام التشغيل الذي قمت بإزالته. أعد تشغيل الجهاز فقط بعد انتهاء تنفيذ الأمر بنجاح. إذا اختفى العنصر غير المرغوب فيه، فلا داعي لتعديل القائمة يدويًا.
إذا عاد الإدخال
أوقف خاصية الكشف التلقائي فقط إذا لم تكن بحاجة إليها
يمكن لـ GRUB استخدام هذه الطريقة os-proberللعثور على أنظمة تشغيل أخرى وإضافتها إلى قائمته. إذا استمر في العثور على تثبيت قديم، فتأكد من عدم وجود قسم آخر متصل أو مُثبَّت يعرض هذا التثبيت. إذا كنت لا ترغب في أن يعرض GRUB أي أنظمة تشغيل أخرى تم اكتشافها، /etc/default/grubفقم بعمل نسخة احتياطية من ملف `.org/bin/gs ...
يؤدي هذا الإعداد إلى تعطيل الاكتشاف التلقائي لأنظمة التشغيل الأخرى، لذا استخدمه فقط إذا لم تعد ترغب في وجود تلك الإدخالات.
GRUB_DISABLE_OS_PROBER=true
احفظ الملف وأعد إنشاء GRUB باستخدام الأمر الخاص بتوزيعتك المذكور أعلاه. يؤدي هذا الإعداد إلى إزالة جميع الأنظمة القديمة التي يتم اكتشافها تلقائيًا من القائمة، بما في ذلك تثبيت Windows الذي قد لا تزال تستخدمه. إذا كنت بحاجة إلى نظام تشغيل مزدوج، فاترك خاصية اكتشاف نظام التشغيل مُفعّلة، وقم بتصحيح القسم القديم أو مصدر الاكتشاف بدلاً من ذلك. يشرح دليل GRUB الخاص بنظام Arch Linuxos-prober كيفية تأثير الأقسام المُثبّتة على الإدخالات المُنشأة.
قم بإزالة إدخال أضفته يدويًا
يمكن تخزين إدخال مخصص في /etc/grub.d/40_customملف أو في ملف مصدر مثل /boot/grub/custom.cfg. افحص هذه الملفات بحثًا عن الكتلة القديمة menuentry. احذف تلك الكتلة فقط؛ إذا قمت بتحرير 40_custom، فاحتفظ برأس الملف الحالي وأسطر البرنامج النصي القابلة للتنفيذ. ثم أعد إنشاء التكوين الرئيسي. يوثق دليل Arch كلا موقعي الإدخال المخصص.
يجب أن تكون الإدخالات المضافة يدويًا في ملف المصدر الخاص بها، مثل 40_custom، بدلاً من الملف المُنشأ grub.cfg.
لمعاينة القائمة المُنشأة دون تعديلها، ابحث عن أسطر إدخال القائمة. اضبط المسار ليناسب توزيعتك؛ يوجد الملف الرئيسي لفيدورا في /boot/grub2/.
يساعد هذا الفحص للقراءة فقط في مطابقة تسمية القائمة المعروضة مع التكوين المُنشأ. وهو لا يحذف أي إدخالات.
grep -n 'menuentry' /boot/grub/grub.cfg
للحصول على إدخال نواة قديم
تُنشأ إدخالات النواة عادةً من النوى المثبتة على النظام. أزل النواة غير الضرورية عبر مدير حزم التوزيعة، وليس بحذف نصوص القوائم أو الملفات يدويًا /boot. احتفظ بالنواة قيد التشغيل ونواة احتياطية واحدة على الأقل تعمل بشكل سليم. ثم أعد إنشاء GRUB وتحقق من القائمة مرة أخرى.
عندما يكون الإدخال في قائمة تمهيد UEFI
إذا ظهر التصنيف في مُحدِّد إقلاع البرامج الثابتة للحاسوب بدلاً من ظهوره داخل GRUB، فهو سجلٌّ لمدير إقلاع UEFI مُخزَّن بشكل منفصل عن قائمة GRUB. يمكنك فحص هذه السجلات على sudo efibootmgr -vنظام Linux مُشغَّل بنظام UEFI.
سجلات البرامج الثابتة UEFI منفصلة عن الإدخالات الموجودة في قائمة GRUB التي تظهر على الشاشة.
يوضح دليل efibootmgr أن الأداة قادرة على حذف سجلات إقلاع UEFI. لا تحذف أي إدخال لمجرد أن اسمه غير مألوف؛ بل حدد أولًا مُحمِّله وتأكد من أنه ليس مسار إقلاع Linux الحالي أو الوحيد العامل. إذا تأكدت من وجود سجل قديم، فإن صيغة الحذف في الدليل هي: `efibootmgr -efibootmgr -efibootmgr` sudo efibootmgr -b XXXX -B، مع استبدال XXXX`efibootmgr -efibootmgr` برقم الإقلاع السداسي العشري الدقيق. يُغيّر هذا الأمر بيانات البرامج الثابتة، ولا يُعدّل قائمة GRUB.
تحقق من النتيجة
بعد إعادة بناء القائمة أو إزالة إدخال مصدر مخصص، أعد تشغيل الجهاز وتأكد من إقلاع نظام لينكس المطلوب. إذا عاد إدخال نظام التشغيل القديم، فراجع مصدره: إما اكتشاف نظام التشغيل، أو ملف قائمة مخصص، أو حزمة نواة مثبتة، أو سجل برنامج ثابت UEFI منفصل. تجنب تعديل التكوين المُنشأ مباشرةً؛ فإصلاح المصدر وإعادة إنشائه هو الحل الأمثل.