كيفية استخدام GRUB Rescue لإصلاح Linux

نشرت: 2023-05-14
شاشة بدء تشغيل Ubuntu Linux على جهاز كمبيوتر محمول
جوردان جلور / كيف تو جيك
إذا كانت قذائف GRUB تعرض مطالبة "grub>" ، فيمكنك استخدام أوامر ls و set و linux و initrd لإصلاح نظام Linux الخاص بك. إذا رأيت بدلاً من ذلك موجه "إنقاذ اليرقة>" ، فاستخدم أوامر set و insmod و linux و initrd لتشغيل الكمبيوتر.

إذا تعذر على كمبيوتر Linux الخاص بك التمهيد في نظام التشغيل الخاص به ، فمن المحتمل أن تجد نفسك تحدق في موجه في GRUB shell. اتبع هذه الخطوات لإصلاح عمليات التمهيد المعطلة.

جدول المحتويات

عندما لا يتم تمهيد Bootloader الخاص بك
باستخدام قذيفة GRUB
باستخدام قذيفة الإنقاذ GRUB
العلاجات الممكنة الأخرى

عندما لا يتم تمهيد Bootloader الخاص بك

هناك عدد قليل جدًا من مشكلات الكمبيوتر التي تجعل قلبك يغوص بعمق وبسرعة مثل الفشل في التمهيد. بدون نظام تشغيل يعمل ، فإن جهاز الكمبيوتر الخاص بك ليس جهاز كمبيوتر بالفعل.

يمكن أن تكون مشكلة غامضة للغاية ، مع عدم وجود طريقة سهلة للتعمق في السبب الجذري. بدون الوصول إلى Linux ، لا يمكنك استخدام أي من أدوات التشخيص المعتادة والعمليات التي تستخدمها للتحقيق في المشكلة. وبدون تحديد المشكلة ، كيف يمكنك حلها؟

في نظام Linux ، GRUB هو البرنامج الذي يتحكم في عملية التمهيد. إذا كان لديك عدة أنظمة تشغيل مثبتة ، فدعنا تختار النظام الذي تريد الإقلاع فيه.

يتم التحكم في GRUB من خلال تكوينها. يعتمد أيضًا على ملفات داعمة أخرى ، من أجل أداء وظائفه. إذا كان أي منها مفقودًا أو تالفًا ، فلن يعمل GRUB. يجب أن تنعكس التغييرات التي يتم إجراؤها على محركات الأقراص الثابتة وأقسام جهاز الكمبيوتر الخاص بك في تكوين GRUB. إذا لم يكن الأمر كذلك ، فلن تكون تعليمات GRUB منطقية ولن تعمل عملية التمهيد.

كيفية نسخ ملف ISO على محرك أقراص USB في نظام Linux
ذات صلة كيفية نسخ ملف ISO على محرك أقراص USB في Linux

كملاحظة جانبية ، ما نسميه جميعًا GRUB هو في الواقع GRUB 2. هذه نسخة متقدمة من GRUB تم إصدارها مرة أخرى في عام 2012. من بين التغييرات الأخرى ، فقد غيرت طريقة إنشاء ملف “grub.cfg” ، وتتيح لك التمهيد من الوسائط القابلة للإزالة.

إذا لم يتمكن GRUB من تحميل نظام تشغيل ، فستترك تحدق في موجه في غلاف GRUB. هذه بيئة بسيطة تتيح لك أداء عدد قليل من الإجراءات. إذا تم إجراؤها بشكل صحيح ، يمكن أن تؤدي هذه الخطوات إلى إحياء جهاز الكمبيوتر الخاص بك.

هناك نوعان من قذائف GRUB مختلفة. اعتمادًا على السبب الجذري للمشكلة ، قد تجد نفسك في موجه أوامر GRUB shell:

 نكش>

أو في موجه قذيفة إنقاذ GRUB:

 إنقاذ نكش>

إن غلاف إنقاذ GRUB مقيد أكثر من غلاف GRUB ، لكنه لا يزال يحزم ما يكفي من الكمات لجعل جهاز الكمبيوتر الخاص بك يقوم بالتمهيد. بمجرد تشغيل جهاز الكمبيوتر الخاص بك ، فأنت في وضع أفضل بكثير لعلاج السبب الجذري.

باستخدام قذيفة GRUB

غلاف GRUB عبارة عن واجهة سطر أوامر تتيح لك استخدام مجموعة فرعية صغيرة من أوامر Linux. إذا وجدت نفسك هنا بدلاً من شاشة تسجيل الدخول المعتادة ، فهذا يعني أن عملية التمهيد الخاصة بك معطلة.

موجه قذيفة GRUB

الأوامر التي يمكنك الوصول إليها ليست مماثلة لإصدارات Linux المعتادة. على سبيل المثال ، أمر GRUB shell ls ليس أمر Bash ls . لديها القليل جدا من القواسم المشتركة معها. يمكننا رؤية ذلك باستخدام الخيار --help .

 ls - help 

استخدام الخيار --help مع إصدار قذيفة GRUB من ls

يسرد خمسة خيارات فقط. هذا بعيد كل البعد عن عشرات الخيارات التي يدعمها ls في Bash. ومع ذلك ، حتى مع لوحة الأوامر الصامتة إلى حد ما ، لا يزال بإمكاننا تصحيح الوضع.

في موجه الأوامر ، اكتب ls واضغط على "Enter".

 ls 

الإخراج من إصدار GRUB shell من ls ، يُظهر محركات الأقراص والأقسام

على هذا الكمبيوتر ، يسرد ثلاثة عناصر.

  • (hd0) هو أول قرص صلب.
  • (hd0، gpt1) هو القسم الأول على القرص الصلب الأول.
  • (hd0، gpt2) هو القسم الثاني على القرص الصلب الأول.

تشير التسمية "gpt" إلى جدول أقسام GUID. نحتاج إلى تضمين الأقواس " () " عندما نشير إلى قسم ، لكن يمكننا حذف التسمية.

لإلقاء نظرة على الأقسام بدورها ، سنستخدم ls .

 ls (hd0،1)
 ls (hd0،2) 

استخدام إصدار GRUB shell من ls لتحديد قسم Linux

لقد وجدنا أن القسم الثاني به نظام ملفات Linux. سنحقق أكثر قليلاً من خلال النظر في الدليل الجذر لهذا القسم.

 ls (hd0،2) / 

استخدام إصدار GRUB shell من ls لفحص قسم معين

من الواضح أن هذا هو قسم Linux ، مع دليل التمهيد عليه. هذا هو المكان الذي يتم فيه تخزين ملفات GRUB وصور تمهيد Linux وملفات التمهيد الأخرى.

على هذا الكمبيوتر ، سنحتاج إلى الإشارة إلى القسم (hd0,2) عندما نصدر أوامرنا. على جهاز الكمبيوتر الخاص بك ، ستستخدم أي قسم تجد تثبيت Linux الخاص بك عليه.

يمكننا استخدام الأمر cat للبحث في الملفات النصية عن طريق إلحاق مسار الدليل واسم الملف باسم القسم ، مثل هذا:

 cat (hd0،2) / etc / issue 

النظر إلى إصدار Linux باستخدام الأمر cat في GRUB shell

في عمليات التثبيت متعددة التمهيد ، تعد هذه طريقة مفيدة للتحقق من وجودك على القسم الصحيح. إنها أيضًا رائعة للبحث داخل ملفات التكوين.

هنا ، نستخدم الأمر ls مع خياري -l (long) و -h (الأحجام التي يمكن قراءتها من قبل الإنسان) لسرد الملفات في الدليل "/ boot".

 ls -lh (hd0،2) / التمهيد 

سرد الملفات في الدليل / boot باستخدام إصدار GURB من ls

لتشغيل هذا الكمبيوتر ، نحتاج إلى إخبار GRUB أن قسم Linux المكتشف حديثًا يحتوي على ملفات التمهيد.

 تعيين الجذر = (hd0،2)

نحتاج إلى تحديد Linux kernel الذي سيتم التمهيد منه. نفعل هذا بأمر linux . لاحظ أنه يتعين علينا أيضًا توفير الدليل الجذر باستخدام محرك الأقراص الثابتة لنظام Linux المعتاد ونظام تسمية الأقسام.

 لينكس /boot/vmlinuz-6.2.0-20- جذر عام = / dev / sda2

في مثال الكمبيوتر الخاص بنا ، نستخدم (hd0) وهو أول محرك أقراص ثابت. وهذا ما يسمى sda في مصطلحات Linux المعتادة. وجدنا أن القسم الثاني هو قسم Linux ، لذلك نحتاج إلى تحديد sda2 .

قد يكون جهازك مختلفًا. على سبيل المثال ، إذا تم الإبلاغ عن قسم Linux الخاص بك كـ (hd2,1) ، فهذا يعني تقسيم واحد على محرك الأقراص الثابتة الثالث ، أو sdc1 .

نحتاج أيضًا إلى تحديد صورة نظام الملفات المستندة إلى ذاكرة الوصول العشوائي (RAM) التي يجب استخدامها عند بدء تشغيل الكمبيوتر. يجب أن يستخدم هذا نفس المكون العددي مثل Linux kernel الذي نستخدمه.

 initrd /boot/initrd.img-6.2.0-20- عام 

ضبط معلمات التمهيد في غلاف GRUB

الآن ، لتشغيل نظامنا ، اكتب "boot" واضغط على "Enter".

يجب أن يؤدي هذا إلى تشغيل جهاز الكمبيوتر الخاص بك في نظام Linux. لقد أدى ذلك إلى تشغيلنا مرة أخرى ، لكن ما زلنا بحاجة إلى إصلاح GRUB لذلك لا نحتاج إلى القيام بذلك في كل مرة نقوم فيها بتشغيل جهاز الكمبيوتر الخاص بنا.

سنقوم بتشغيل update-grub . سيؤدي هذا إلى فحص نظامنا وتحديد أنظمة التشغيل وإنشاء تهيئة GRUB جديدة. نحن بحاجة لتشغيل هذا كمستخدم الجذر.

 sudo update-grub 

تشغيل update-grub لإعادة إنشاء ملف grub.cfg

نادرًا ما تحتاج إلى إعادة تثبيت محمل الإقلاع GRUB أيضًا باستخدام grub-install .

 sudo grub-install / dev / sda

لاحظ أنك لست بحاجة إلى تحديد القسم الذي تريد التثبيت عليه ، فقط على أي محرك أقراص. في عمليات التثبيت العادية ، يكون هو نفس محرك الأقراص الذي يعمل عليه نظام Linux.

يأتي إثبات الحلوى مع إعادة التشغيل التالية. يجب إعادة تشغيل جهاز الكمبيوتر الخاص بك بشكل طبيعي.

ذات صلة: كيفية تكوين إعدادات محمل التمهيد GRUB2

باستخدام قذيفة الإنقاذ GRUB

اعتمادًا على طبيعة مشكلة التمهيد ، قد لا تسقط في غلاف GRUB. قد يتم تركك في وضع إنقاذ GRUB. إذا كان الأمر كذلك ، فستبدو المطالبة كما يلي:

 إنقاذ نكش>

الأوامر التي نحتاج إلى إصدارها في هذا الغلاف مختلفة. نحتاج إلى استخدام ls للعثور على قسم Linux ، تمامًا كما لو كنت تستخدم GRUB shell. بعد تحديد قسم Linux ، يمكنك المضي قدمًا وإدخال هذه الأوامر.

تذكر استخدام معرفات محرك الأقراص وأرقام إصدارات kernel الصحيحة لجهاز الكمبيوتر الخاص بك. يقوم الأمر insmod بتحميل وحدات kernel النمطية.

 ضبط البادئة = (hd0،2) / boot / grub
 تعيين الجذر = (hd0،2)
 insmod طبيعي
 insmod لينكس
 لينكس /boot/vmlinuz-6.2.0-20- جذر عام = / dev / sda2
 initrd /boot/initrd.img-6.2.0-20- عام 

إعداد معلمات التمهيد في غلاف إنقاذ GRUB

يمكنك بعد ذلك كتابة "boot" والضغط على "Enter" لإعادة تشغيل جهاز الكمبيوتر الخاص بك. بمجرد إعادة تشغيله وتسجيل الدخول ، قم بتحديث GRUB باستخدام الأمر update-grub .

العلاجات الممكنة الأخرى

إذا تبين أن المشكلة هي فقدان ملفات التمهيد ، مثل ملفات "vmlinuz" و "initrd.img" ، يمكنك تشغيل جهاز الكمبيوتر الخاص بك من قرص DVD مباشر أو محرك أقراص USB محمول Linux قابل للتشغيل ، ونسخ الملفات المفقودة في مكانها.

لاحظ أن ملفي "vmlinuz" و "initrd.img" يجب أن يكون لهما نفس أرقام الإصدار ، لأنهما يعملان كزوج متطابق.

ذات صلة: كيفية إنشاء Linux Live USB قابل للتشغيل على جهاز Mac الخاص بك