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

من يعاني من هذا المشكل فهذا الدرس موجه له. حتى من لم يسبق له أن واجهه وله نظامين على جهازه فهذا الدرس موجه له أيضا، تحسبا لوقوع المشكل مستقبلا.

 

نصيحة إن كنت تبحث عن حل فعال وسريع دون التعمق في فهم المشكلة، يمكنك مباشرة الانتقال لفقرة تثبيت واستعمال برنامج boot-repair

 

1. لكن أولا ، ما هو GRUB ؟

 

GRUB، اختصار ل " GRand Unified Bootloader "، برنامج لتوزيعات لينكس يحتوي على معلومات إقلاع الجهاز. تثبيت البرنامج يتم في أغلب التوزيعات تلقائيا أثناء تثبيت التوزيعة. حين التثبيت يقوم البرنامج بفحص الجهاز والبحث عن أنظمة التشغيل المثبتة عليه وبالتالي إضافتها إلى لائحته.

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

 

مدير الإقلاع GRUB يظهر أنظمة التشغيل المثبتة على الجهاز

 

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

 

سؤال لكن ما الذي يمكن أن يؤدي إلى حذف GRUB؟

 

2. تثبيت ويندوز يحذف GRUB 

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

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

سؤالحذف GRUB بعد إعادة تثبيت ويندوز لا يعني حذف لينكس، لكن فقط إمكانية الوصول إليه تحذف، أما هو فلا يزال موجود على جهازنا. فكيف ندخل إليه إذن ؟

 

3. طريقة استرجاع GRUB

 

3.1 استرجاع GRUB من توزيعات لينكس

 

  • أسهل طريقة : برنامج Boot repair

الآن، وبفضل الاهتمام و التطوير المتزايد لأوبنتو يمكن استرجاع GRUB بكبسة زر دون الحاجة للمرور بسطر الأوامر. برنامج Boot repair يمكننا من ذلك. لنرى كيف.

سنحتاج أولا لتثبيت البرنامج على أوبنتو بإدخال الأوامر التالية تباعا :


sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair

سؤاللكن، يا حبيبي، أنا لا أستطيع الدخول لأوبنتو، فبالله عليك كيف أثبت عليه برنامجا ؟

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

معلومة من ليس له قرص حي لأوبنتو فيمكنه تحميله كما شرحت في " من أين أحمل التوزيعة التي أريد؟ "

 

إذن كما قلت، ندخل الأوامر التي أعطيت أعلاه على قرص أوبنتو الحي لتثبيت Boot repair. بعد التثبيت نشغل البرنامج إما بالبحث عنه في اللوحة الرئيسية لواجهة يونيتي أو من System -> Administration -> Boot repair في واجهة جنوم الكلاسيكية.

يكفي إختيار أحد الخيارين الأولين والتأكيد بالضغط على Apply ليبدأ البرنامج عمله.

 

واجهة Boot repair

 

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

 

الإعدادات المتقدمة ل Boot repair

 

بعد نهاية عملية الإسترجاع بنجاح، يمكننا إعادة تشغيل جهازنا  وإن شاء الله نجد لائحة GRUB من جديد.

 

نهاية عمل Boot repair

  •  
  • يإستخدام سطر الأوامر

من يفضل سطر الأوامر يمكنه استرجاع GRUB من  قرص أوبنتو الحي CD Live ايضا. لكن قبل ذلك  سنحتاج أول الأمر للتفريق بين نسختين منه، حيث أن طريقة استرجاع كل منهما تختلف عن الأخرى :

  1. GRUB2 : النسخة الأخيرة من GRUB. النسخة معتمدة في نسخة أوبنتو 9.10 وما بعدها
  2. GRUB legacy : النسخة المعتمدة في نسخ أوبنتو قبل 9.10

 

سؤالما هي إذن خطوات استرجاع GRUB2؟

 

  1. الإقلاع من القرص الحي لأوينتو
  2. اختيار " تجريب أوبنتو دون تثبيته" من لائحة الاختيارات التي ستظهر
  3. بعد الدخول لسطح المكتب نفتح الطرفية
  4. أفترض أن أوبنتو مثتب على قسم القرص الصلب sda4، فتكون الأوامر الواجب إدخالها كالتالي:
    sudo mount /dev/sda4 /mnt
    sudo GRUB-install --root-directory=/mnt/ /dev/sda
    

سؤالما هي خطوات استرجاع GRUB legacy؟

 

  1. الإقلاع من القرص الحي لأوينتو
  2. اختيار " تجريب أوبنتو دون تثبيته" من لائحة الاختيارات التي ستظهر
  3. بعد الدخول لسطح المكتب نفتح الطرفية وندخل الأمر:
    sudo GRUB
    
  4. في نافذة الترمنال التي ستظهر أدخل الأمر
    find /boot/GRUB/stage1
    
  5. ستظهر لك نتيجة على شكل (hd0, 7).  حيث 0 و7 متغيرين على حسب مكان وجود GRUB في قرصك الصلب
  6. أدخل الأمر 
    root (hd0, 7) 
    

    مع تغيير 0 و7 بالأرقام التي ظهرت لك في الأمر السابق
  7. أدخل الأمر
    setup (hd0) 
    

    مع تغيير 0 بالرقم المناسب، أي الذي ظهر لك كما في الأمر السابق
  8. أخيرا أدخل الأمر 
    quit
    

    للخروج.
  9. أعد تشغيل الجهاز وستجد لائحة GRUB عادت إن شاء الله.

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

 

استرجاع GRUB  من ويندوز

 

أول الأمر سنحتاج لملفات GRUB4dos، نحمله من http://download.gna.org/GRUB4dos/

بعد تحميل الملف الأحدث، المتواجد أسفل اللائحة، نقوم بفك الظغط عنه و نقوم بالعمليات التالية حسب نسخة ويندوز :

 

  1. على ويندوز Xp:
    ننسخ الملف grldr من ملف GRUB4dos و ننسخه في جزء القرص الصلب، البارتشن، المثبت فيه ويندوز، عموما C:
    بعد ذلك نقوم بتحرير ملف boot.ini المتواجد ب C: و الذي يكون مخفي افتراضيا. إذن بعد تفعيل إظهار الملفات المخفية نفتح الملف بالمذكرة و نضيف في اخره السطر التالي:
    c:/grldr="GRUB4dos"
    


  2. على ويندوز فيستا أو 7:
    ننسخ  الملفين grldr و grldr.mbr من ملف GRUB4dos إلى C:
    في C: ننشىء ملف جديد boot.ini يكون محتواه كالتالي:
    [boot loader]
    timeout=0
    default=c:\grldr.mbr
    [operating systems]
    C:\grldr.mbr="GRUB4Dos"
    

الآن،سواء على Xp، فيستا أو ويندوز 7 نتابع بإنشاء ملف menu.lst في C: يكون محتواه:


timeout 0
default 0
title GRUB2
find --set-root /boot/GRUB/core.img
kernel /boot/GRUB/core.img
boot

بعدها يكفي إعادة تشغيل الجهاز، حيث ستظهر لنا بعد الإقلاع نافذة فيها خيارين:

  1. ويندوز : الدخول بصفة عادية لويندوز
  2. GRUB4dos : للدخول لقائمة GRUB و بالتالي إمكانية اختيار الدخول لأوبنتو أو ويندوز.

بعد الدخول لأوبنتو يجب تثبيت GRUB  لتجنب المرور دائما ب GRUB4dos

sudo GRUB-install /dev/sda

في حال تمت العملية بنجاح وتم استرجاع GRUB فيمكن حذف الملفات التي نسخنا وأنشأنا في C:

 

معلومة الدرس موجه بالخصوص لحل مشكل حذف GRUB لهذا أدرجت إمكانية التشخيص كمعلومة فقط ويمكن أن أعود إليها بالتفصيل في تحديث جديد للدرس إن شاء الله.

 

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair-ubuntu