4.5 إعداد grub | كتاب لينكس الشامل | >> |
يمتاز grub بكل مزايا lilo ويتجاوز سيئاته
وهو على عكس lilo فهو ليس مخصص لإقلاع لينكس بل للكثير من نظمة يونكس الأخرى
من هنا جاء اسمه برامج الإقلاع الفاخر الموحد GRand Unified Bootloader.
تخزن إعداداته في ملف
/boot/grub/grub.conf
أو /boot/grub/menu.lst
أهم المزايا هي أنك وعلى عكس lilo لست بحاجة لإعلام grub
بأن الملف تغيير
ولأن grub يمكنه ضم وقراءة القرص والوصول للملفات
التي تكون على نظام fat و ext2 و ext3 وغيرها
وأيضا يمكن له قراءة وإقلاع أنظمة غير موجودة ضمن القائمة
من خلال محث شبيه ب bash وبه نظام مساعدة
كل هذا قبل الإقلاع وقبل تحميل أي نواة نظام
يفيد هذا المحث في إقلاع النظام عند تغيره من "master" إلى "slave"
أو عند تجريب أنوية جديدة. عند إقلاع grub تظهر قائمة معدة مسبقاً في
ملف الإعداد. يمكنك أن تختار أحد الخيارت أو تضغط "e"
(إذا كان مسموحاً) لتعدل على الخيار قبل الإقلاع منه
ثم إدخال [ENTER]
أو
اضغط "c" للدخول لسطر أوامر grub
(إذا كان مسموحاً لك أيضاً)
أما إذا كان هناك حماية فعليك الضغط على p ثم إدخال كلمة السر
ليسمح لك بتعديل الخيرات ودخول سطر الأوامر.
إذا فشل grub في العثور على ملف الإعدادات فإن سطر أوامر grub يعمل
وهناك يمكنك كما في bash ضغط [TAB]
مرة أو اثنتين أو كتابة help
ثم اسم الأمر للحصول على مساعدة.
وفي grub يوجد طريقة لتسمية الأجهزة تستخدم
لأنه مصمم لأكثر من نظام حيث تكون أسماء الأجهزة بين قوسين
نسمي الصلبة hd و المرنة fd
ونبدأ العد من الصفر و إذا أردنا قسماً محدداً نذكر رقمه بعد الفاصلة
والعد أيضاً من صفر أي أن /dev/hda1
تصبح (hd0,0)
وأول قسم ثانوي /dev/hda5
يصبح (hd0,4)
والقرص المرن الأول /dev/fd0
يصبح (fd0)
خطوات الإقلاع تقسم إلى طريقتين الأولى للأنظمة أحادية الإقلاع مثل
دوس وويندوز أو تلك التي لا يدعمها grub وهنا كل ما عليك
هو استدعاء برنامج إقلاع آخر عادة ما يكون الموجود على
القطاع الأول من قسم القرص للنظام المراد تشغيله
ذلك بالأمر chainloader
مثلاً chainloader (hd0,0)+1
لإقلاع النظام الموجود على أول قسم من أول قرص صلب وذلك بتحميل القطاع الأول
ورقم واحد بعد إشارة + يعني عدد القطاعات بعد القطاع رقم صفر (أي أنه ليس استثناء للقاعدة في grub لتي تتقول بأن الترقيم يبدأ من صفر)
أو مثلاً chainloader (fd0)+1
للإقلاع من القرص المرن (لاحظ لا يوجد أقسام)
بعد إصدار هذا الأمر لا يقلع النظام!! وإنما يجمع معلومات وعند الإنتهاء
من تحديد كل شيء أصدر الأمر boot
الذي يقوم بالإقلاع الفعلي.
ويستطيع أمر chainloader
تحميل نظام ليس فقط من خلال
رقم القطاع بل أيضاً إذا كا مخزناً في ملف لنفرض أنك تحتفظ
ببرامج إقلاع دوس في ملف bootsect.dos
على القسم الأول
كل ما عليك هو chainloader (hd0,0)/bootsect.dos
ثم boot
.
و يمكن لgrub أن يستدعي برامج إقلاع أي نظام بهذه الطريقة حتى يمكن أن
يستدعي lilo أو نسخة أخرى من grub.
والطريقة الثانية للأنظمة متعددة الإقلاع
مثل لينكس وباقي أنواع اليونكس
وذلك بتحميل النواة بأمر kernel ثم مكان وجود النواة فإذا كانت
موجودة على القسم الثانوي الأول /dev/hda5
أو كما يقولون في grub
الجهاز (hd0,4)
في ملف /boot/vmlinuz
فإن الأمر هو
kernel (hd0,4)/boot/vmlinuz
متبوعة بالخيارات التي تريد تمريرها للنواة مثل
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5 ro
ثم boot
هذا ليس كل شيء فيمكنك أن توفر كتابة اسم الجهاز قبل كل ملف أو رقم وعدد القطاعات
وذلك بكتابة root
ثم اسم الجهاز لأنه يقوم بضم الجهاز مثلاً
root (hd0,4) kernel /boot/vmlinuz root=/dev/hda5 ro boot
rootnoverify (hd0,0) chainloader +1 boot
makeactive
ولا داع لذكر الجهاز إذا جائت بعد root أو rootnoverify فتصبح الأوامر
rootnoverify (hd0,0) makeactive chainloader +1 boot
هذا مثال على ملف إعداد grub
# menu.1st: Sample boot menu configuration file for grub # by Moayyad al-Sadi <alsadi[at]gmail.com> # default item is number 0 item (1st one) default=0 # if can't then try the 2nd one fallback 1 # boot if nothing selected in 7sec timeout=7 # do not allow grub console and editing # unless password is given password --md5 $1$ab0cdf.152467795 # for grapical mode # a 640x480x16 compressed xpm image splashimage=(hd0,4)/boot/grub/logo.xpm.gz background 000080 foreground ffffff shade 1 # set color to blue not needed in graphics # color white/blue blink-yellow/magenta title Linux root (hd0,4) kernel (hd0,4)/boot/vmlinuz ro root=/dev/hda5 hdd=ide-scsi # you can give long titles title Linux in text mode root (hd0,4) kernel (hd0,4)/boot/vmlinuz 2 ro root=/dev/hda5 hdd=ide-scsi title Windowz (Bug mode) # don't boot without password lock rootnoverify (hd0,0) chainloader +1 makeactive title floppy # don't boot without password lock chainloader (fd0)+1 title Change console colors color light-green/brown blink-red/blue
يمكنك أن تمنع الدخول على الخيرات الحساسة أو
تلك المحددة بعلامة lock وذلك باستعمال الأمر password --md5
ثم كلمة السر المشفرة التي يمكنك نسخها من ملف /etc/passwd
أو بأمر md5crypt
داخل grub أو أمر grub-md5-crypt
من سطر الأوامر
الصورة splashimage هي بحجم 640x480
وتحتوي 16 لوناً
هذا في ريدهات التي تستعمل grub 0.92 ولكني أظن أنها تختلف من توزيعة لأخرى
لأنها لم تنجح في ماندريك 9.0 التي تأتي بالإصدار ذاتهه من grub !!
لتركيب grub بحيث يكون هو برنامج الإقلاع اكتب grub لتشغّل المحث ثم اكتب فيه (ما هو بخط غامق)
grub> root (hd0,4) grub> setup (hd0)
(hd0,4)
وأن يقوم بتركيب نفسه على سجل اللإقلاع الأساسي MBR الخاص بالقرص الأول
/dev/hda
وهذه الخطوة نقوم بها لمرة واحدة
ضع قرصاً مرناً لا تريد البيانات الموجودة عليه لأنها ستفقد،ثم ومن سطر الأوامر اكتب ما يلي
bash# cd /boot/grub bash# dd if=stage1 of=/dev/fd0 bs=512 count=1 bash# dd if=stage2 of=/dev/fd0 bs=512 seek=1
<< السابق | كتاب لينكس الشامل | التالي >> |