ليلو

من أرابيكا، الموسوعة الحرة
(بالتحويل من LILO (boot loader))
اذهب إلى التنقل اذهب إلى البحث
ليلو (بالإنجليزية LILO)
نموذج اظهار قائمة ليلو
معلومات عامة
المطورون
ورنر المسبرجر (1992–1998), جون كوفمان (1999–2007), جوشيم ويدورن (من 2010)
معلومات تقنية
حالة التطوير
محفوظ و يتم التطوير عليه
الإصدار الأخير
23.2
الرخصة

ليلو (بالإنجليزية: LILO)‏ هو برمجية إقلاع أو ما يعرف أيضاً بمدير إقلاع مخصصة لانظمة التشغيل التي تعتمد على نواة لينكس، الاسم ليلو (بالإنجليزية: LILO)‏ يمثل أول حرفين للمصطلح (LInux LOader) والتي تعني حرفيا «محمل لينكس» حيث يتم تحميل نظام التشغيل على الذاكرة الرئيسية للجهاز.[1][2][3]

نظرة عامة

اعتبر ليلو مدير الإقلاع الافتراضي الأول في معظم توزيعات لينكس وذلك في السنوات التي لحقت شهرة البرمجية لودلين (بالإنجليزية: Loadlin)‏ ، واليوم فإن معظم التوزيعات اللينكسية تقوم باستخدام (جنو جرب) لإقلاع نظام التشغيل.

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

أما بالنسبة لقطع البيوس الحديثة فإن ليلو يستطيع استخدام ما مقداره (32 بت) من ما يسمى ب «عنونة القطاعات المنطقية» (بالإنجليزية: logical block addressing)‏ للولوج إلى جميع الأقراص الصلبة المخزنة في البيوس والتي تسمح البيوس بالولوج إليها.

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

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

يضاف إلى السابق ذكره انه يمكن تخزين ليلو في واحد من الأماكن التالية:

  1. سجل الإقلاع الرئيسي أو ما يعرف بال (MBR (Master Boot Record
  2. قطاع الإقلاع وهو قطاعٌ على القرص الصلب مخصص لعملية الإقلاع (و في هذه الحالة يجب تخزين برمجية دلالية لتؤشر إلى قطاع الإقلاع في سجل الإقلاع الرئيسي)

ملفات ليلو

الملف lilo.conf

يتواجد هذا الملف في المسار etc/lilo.conf/ ويحوي نوعين رئيسيين من القطاعات:

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

ويمكن أيضا الرجوع إلى صفحات التوثيق للمزيد من المعلومات. التالي هو مثال للملف التعريفي lilo.conf:

large-memory
lba32
boot=/dev/hda
install=menu
map=/boot/map
prompt

default=Linux
image=/boot/vmlinuz-2.6.26
label="Linux"
root=/dev/hda1
append=""
read-only
optional

other=/dev/hda3
label="FreeBSD"

ملاحظة: بعد التنصيب السليم لليلو ستظهر قائمة لانظمة التشغيل لينكس وفري بي ‌إس ‌دي

المسار /boot/

يقوم ليلو بتخزين عدد من الملفات في هذا المسار.

قطاع الإقلاع - Master Boot Record

يستطيع ليلو أيضا الكتابة على قطاع الإقلاع:

sbin/lilo -M/

المخرجات

عندما يقوم ليلو بتحميل نفسه سوف يظهر الكلمة “LILO” وكل حرف تتم طباعته قبل أو بعد نشاط أو سلوك معين، وان فشل ليلو في أي مرحلة من مراحل عملية الإقلاع فإن مقدار ما يتم طباعته من الاحرف من كلمة “LILO” يدلل على المشكلة، التالي هو توضيح للفكرة السابقة الذكر:

  • في حال عدم طباعة أي حرف على الشاشة فذلك يعني انه لم يتم تحميل أي جزء من ليلو.
  • في حال طباعة الحرف (L) فذلك يعني ان المرحلة الأولى من عملية الإقلاع قد تمت بنجاح ولكن المرحلة الثانية فشلت وعادة ما يعني ذلك حدوث خطأ في الأجزاء الصلبة للنظام أو وجود خطأ في المعلمات المخصصة للقرص الصلب في البيوس ولكن ليس بالضرورة ان يكون هذا السبب.
  • في حال طباعة الأحرف (LI) فذلك يعني ان المرحلة الأولى من عملية الإقلاع قد تمت بنجاح وقامت بتحميل - Load المرحلة الثانية من عملية الإقلاع ولكنها -أي المرحلة الأولى- فشلت في تنفيذ - Execute المرحلة الثانية وعادة ما يحدث ذلك لوجود معلمات خاطئة عن القرص الصلب في البيوس
  • في حال طباعة الأحرف (LIL) فذلك يعني ان المرحلة الثانية من عملية الإقلاع قد تم تحميلها - Loaded ولكنها لا تستطيع القيام بتحميل جدول التوصيف (descriptor table) من ملف الربط (map file) وعادة ما يعني ذلك حدوث خطأ في الأجزاء الصلبة للنظام أو وجود خطأ في المعلمات المخصصة للقرص الصلب في البيوس ولكن ليس بالضرورة ان يكون هذا السبب.
  • في حال طباعة الأحرف (?LIL) فذلك يعني ان المرحلة الثانية من عملية الإقلاع قد تم تحميلها - Loaded في عنوان ذاكرة رئيسي خاطئ وعادة ما يعني ذلك وجود معلمات خاطئة عن القرص الصلب في البيوس
  • في حال طباعة الأحرف (-LIL) ذلك يعني ان جدول التوصيف (descriptor table) غير سليم.
  • في حال طباعة الأحرف (LILO) فذلك يعني ان جميع أجزاء مدير الإقلاع تم تحميلها بنجاح.

رموز الأخطاء

من الامثلة على رموز الأخطاء التي قد يظهرها ليلو: (L 01 01 01, L 07 07 07 الخ...)، نسرد تاليا قائمة بأخطاء ليلو مربوطة برموزها الرقمية:

رمز الخطأ اسم الخطأ وصف الخطأ
0x00 خطأ داخلي (Internal Error) يتم اصدار هذا الخطأ عن طريق برمجية قراءة القطاع الموجودة كجزء من برمجية الإقلاع ليلو وهذا في حالة وجود تضارب داخلي وهذا بدوره يمكن أن يحدث نتيجة وجود تلف في بعض الملفات المتعلقة بليلو ولذلك ننصح باعادة بناء ملف الربط (map file)، ويمكن أيضا حدوث هذا الخطأ في حالة محاولة الولوج إلى قطاعات تتجاوز الترميز رقم 1024 وذلك عند القيام بانتقاء الخيار (LINEAR).
0x01 أمر غير مسموح بتنفيذه (Illegal Command) هذا الخطأ غير وارد الحدوث! (ولا حتى أي نوع من الأخطاء يجب أن يحدث!) ولكن ان حدث هذا الخطأ فهناك احتمالية ان يكون ذلك مؤشر على محاولة للولوج إلى قرص صلب غير مدعوم عن طريق البيوس والبتالي تأكد من ان البيوس تستطيع رؤية هذا القرص الصلب (و تأكد أيضا من تفاصيل البيوس لديك!).
0x02 علامة عنوانية غير موجودة (Address mark not found) عادة ما يعني هذا وجود مشكلة داخلية، ننصحك في هذه الحالة بإعادة محاولة الإقلاع عدة مرات.
0x03 قرص محمي من الكتابة (Write-protected disk) يحصل ذلك فقط في حالات الحاجة إلى الكتابة على القرص الصلب.
0x04 القطاع غير موجود (Sector not found) يشير هذا الخطأ عادة إلى عدم حصول تطابق هندسي في قطاعات القرص الصلب، ان كنت تقوم بالإقلاع من منصة (سكزي SCSI) أو من (مقبس الملحقات التقني المتقدم IDE Disk) فعليك التأكد من ان ليلو حصل على معلومات القطاعات الهندسية السليمة من نواة نظام التشغيل وتأكد أيضا من ان تعريف القطاع الهندسي في ليلو يطابق تعريف القرص الصلب، قد تساعدك إزالة الخيار (COMPACT) و/أو اضافة الخيارات (LBA32) و (LINEAR).
0x06 تغيير المسار النشط (Change line active) يعتبر هذا خطأ عابر أو عارض، كل ما تستطيع القيام به هو اعادة الإقلاع مرة أخرى لحل المشكلة.
0x07 تهيئة خاطئة (Invalid initialization) يشير هذا الخطأ إلى فشل البيوس في تهيئة المتحكم بالقرص الصلب، راجع معلمات البيوس لديك للتأكد من التهيئة السليمة للبيوس (كما يمكنك استخدام ما يعرف ب قرص الإنقاذ واعادة تشغيل ليلو).
0x08 تجاوز تنفيذ DMA (DMA overrun) هذا الخطأ يجب أن لا يحصل وان حصل قم باعادة تشغيل ليلو
0x09 محاولة تجاوز DMA حدود ال 64 كيلوبايت (DMA attempt across 64k boundary) هذا الخطأ لا يجب أن يحدث ولكنه قد يكون إشارة إلى عدم تطابق هندسي في قطاعات القرص الصلب، ننصحك ببحث الحلول الواردة في الخطأ المرموز له ب (0x04).
0x0C قرص غير مهيئ (Invalid media) لا يجب حصول هذا الخطأ، قم بالاعادة مرة أخرى.
0x10 خطأ CRC (CRC error) يوجد خطأ ما في القرص الصلب، حاول القيام بالإقلاع عدة مرات.
0x11 تصحيح ECC ناجح (ECC correction successful) حدوث خطأ في القراءة ولكن تم تصحيحه، لا يستطيع ليلو تمييز هذه الحالة ولذلك يقوم بإيقاف عملية الإقلاع والتحميل، قم بإعادة الإقلاع مرة أخرى.
0x20 خطأ في المتحكمات (Controller error) لا يوجد وصف لهذا الخطأ ولكن التعليق الوحيد الذي نملكه هو ان هذا الخطأ ما كان يجب حدوثه أساسا
0x40 خطأ في الولوج (Seek failure) عادة ما تكون هذه مشكلة في القرص الصلب، حاول اعادة الإقلاع من جديد.
0x80 انقضاء مهلة الانتظار للقرص (Disk timeout) هذا الخطأ عادة ما يعني ان القرص غير جاهز للإقلاع وذلك لعدة أسباب محتملة منها ان القرص غير صالح أو ان الرأس المدبب لعملية القراءة والكتابة غير سليمو ان كنت تقوم بمحاولة الإقلاع من قرص مرن فقد تكون نسيت اغلاق باب الجهاز وان لم تكن هذه الأسباب فعليك القيام باعادة الإقلاع مرة أخرى.
0x99 المرحلة الثانية من عملية الإقلاع غير سليمة (Invalid Second Stage) قم بالرجوع إلى الخطأ المرموز له ب (0x04) لمحاولة حل المشكلة.
0x9A ليلو لا يستطيع العثور على المرحلة الثانية للإقلاع (Can't Find Second Stage) تأكد من وجود أداة الإقلاع السليمة، على سبيل المثال (boot=/dev/hda1) بينما يجب أن تكون على سجل الإقلاع الرئيسي وتأكد أيضا من عدم وجود خطأ كتابي (boot=/dev/<<NO TYPO IN HERE>>).
0xBB خطأ في البيوس (BIOS error) الرجاء مراجعة الخطوات الواردة في الخطأ المرموز له ب (0x04).

انظر أيضًا

  1. لينكس
  2. مدير بدء التشغيل
  3. جنو جرب
  4. لودلين
  5. سيسلينكس
  6. أن.تي.أل.دي.أر (NTLDR)

وصلات خارجية

  • هذا المقال غير مرتبط بويكي بيانات

وصلات مفيدة

وصلات خارجية

المراجع

  1. ^ "معلومات عن ليلو على موقع packages.debian.org". packages.debian.org. مؤرشف من الأصل في 2019-12-14.
  2. ^ "معلومات عن ليلو على موقع packages.ubuntu.com". packages.ubuntu.com. مؤرشف من الأصل في 2015-12-31.
  3. ^ "معلومات عن ليلو على موقع sourceforge.net". sourceforge.net. مؤرشف من الأصل في 2019-08-09.