---
title: Linux Booting Process
localeTitle: عملية تمهيد لينكس
---
# عملية تمهيد لينكس - عملية وصفية خطوة 6

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

![خطوات](https://raw.githubusercontent.com/Ayushverma8/tech-interview-handbook/master/LinuxBootingProcess.jpg)

### 1\. BIOS

*   يرمز BIOS إلى نظام الإدخال / الإخراج الأساسي
*   ينفذ بعض اختبارات تكامل النظام على القرص الصلب
*   عمليات البحث والتحميل وتنفيذ برنامج محمل التمهيد ، ومعظمه في سجل التمهيد الرئيسي (MBR)
*   يبحث عن محمل الإقلاع في القرص المرن أو القرص المضغوط أو القرص الثابت. يمكننا الضغط على مفتاح (عادة F12 من F2 ، ولكن ذلك يعتمد على النظام الخاص بك) أثناء بدء BIOS لتغيير تسلسل التمهيد.
*   بمجرد اكتشاف برنامج محمل التمهيد وتحميله في الذاكرة ، فإن نظام BIOS يعطي التحكم فيه.
*   لذلك ، في شروط بسيطة وتحميل BIOS وينفذ لودر التمهيد MBR

### 2\. MBR

*   MBR لتقف على سجل التمهيد الرئيسي.
*   وهي تقع في القطاع الأول من القرص القابل للتمهيد. عادةً / dev / hda أو / dev / sda. لماذا sda و hda؟ الرجوع هنا لمزيد من.
*   MBR أقل من 512 بايت في الحجم. هذا له ثلاثة مكونات 1) معلومات محمل التمهيد الأساسي في 446 بايت الأولى 2) معلومات جدول القسم في 64 بايت التالي 3) التحقق من صحة mbr في 2 بايت الأخيرة.
*   يحتوي على معلومات حول GRUB (أو LILO في الأنظمة القديمة).
*   لذلك ، في شروط بسيطة يقوم MBR بتحميل محمل التمهيد GRUB وتنفيذه.

### 3\. اليرقة

*   وهي تقع في القطاع الأول من القرص القابل للتمهيد. عادةً / dev / hda أو / dev / sda. لماذا sda و hda؟ الرجوع هنا لمزيد من.
*   إذا كان لديك العديد من صور kernel المثبتة على النظام الخاص بك ، يمكنك اختيار أي منها سيتم تنفيذه ، افتراضياً يتم تثبيت الجزء الرئيسي فقط.
*   GRUB يعرض شاشة البداية ، ينتظر لبضع ثوان ، إذا لم تقم بإدخال أي شيء ، فإنه يقوم بتحميل صورة النواة الافتراضية كما هو محدد في ملف تكوين grub.
*   GRUB لديه معرفة بنظام الملفات (لا يفهم لودر لينوكس الأقدم LILO نظام الملفات).
*   ملف تكوين Grub هو /boot/grub/grub.conf (/etc/grub.conf هو رابط لهذا). فيما يلي عينة من grub.conf من CentOS.

 `#boot=/dev/sda 
 default=0 
 timeout=5 
 splashimage=(hd0,0)/boot/grub/splash.xpm.gz 
 hiddenmenu 
 title CentOS (2.6.18-194.el5PAE) 
          root (hd0,0) 
          kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ 
          initrd /boot/initrd-2.6.18-194.el5PAE.img 
` 

### 4\. النواة

*   يحمّل نظام الملفات الجذر كما هو محدد في "root =" في grub.conf
*   تقوم Kernel بتنفيذ / sbin / init program
*   هذا هو البرنامج الأول الذي سيتم تنفيذه بواسطة Linux Kernel ، يحتوي على معرف العملية (PID) لـ 1. قم بإجراء 'ps -ef | grep init 'وتحقق من pid. يمكنك أيضا استخدام netstat
*   initrd لتقف على قرص RAM الأولي.
*   يتم استخدام initrd بواسطة kernel كنظام ملفات جذر مؤقت حتى يتم تمهيد kernel ويتم تثبيت نظام الملفات الجذر الحقيقي. كما أنه يحتوي على برامج التشغيل الضرورية التي تم تجميعها بالداخل ، والتي تساعد على الوصول إلى أقسام محرك الأقراص الثابتة والأجهزة الأخرى.

### 5\. التهيئة

*   يتطلع إلى الملف / etc / inittab لتحديد مستوى تشغيل Linux.
    
*   فيما يلي مستويات التشغيل المتوفرة
    
*   0 - توقف
    
*   1 - وضع المستخدم المفرد
    
*   2 - متعدد المستخدمين ، دون NFS
    
*   3 - وضع متعدد المستخدمين الكامل
    
*   4 - غير مستخدمة
    
*   5 - X11
    
*   6 - إعادة التشغيل
    
*   يحدد Initle initlevel الافتراضي من / etc / inittab ويستخدم ذلك لتحميل كل البرامج المناسبة.
    
*   تنفيذ "grep initdefault / etc / inittab" على نظامك لتحديد مستوى التشغيل الافتراضي
    
*   إذا كنت ترغب في الدخول في مشكلة ، يمكنك تعيين مستوى التشغيل الافتراضي إلى 0 أو 6. بما أنك تعرف ما يعنيه 0 و 6 ، ربما لا تفعل ذلك.
    
*   عادة ما تقوم بتعيين مستوى التشغيل الافتراضي إلى 3 أو 5.
    

### 6\. برامج مستوى التشغيل

*   عندما يتم تمهيد نظام Linux ، قد ترى خدمات مختلفة للبدء. على سبيل المثال ، قد يقول "بدء الإرسال ... حسنا". تلك هي برامج مستوى التشغيل ، والتي يتم تنفيذها من دليل مستوى التشغيل كما هو محدد بواسطة مستوى التشغيل الخاص بك.
*   اعتمادًا على إعداد مستوى الإعداد الافتراضي الخاص بك ، سيقوم النظام بتنفيذ البرامج من أحد الدلائل التالية.
*   تشغيل المستوى 0 - /etc/rc.d/rc0.d/
*   تشغيل المستوى 1 - /etc/rc.d/rc1.d/
*   تشغيل المستوى 2 - /etc/rc.d/rc2.d/
*   تشغيل المستوى 3 - /etc/rc.d/rc3.d/
*   تشغيل المستوى 4 - /etc/rc.d/rc4.d/
*   تشغيل المستوى 5 - /etc/rc.d/rc5.d/
*   تشغيل المستوى 6 - /etc/rc.d/rc6.d/
*   تحت الدلائل /etc/rc.d/rc\*.d/ ، سترى البرامج التي تبدأ بـ S و K.
*   تبدأ البرامج التي تبدأ بـ S أثناء بدء التشغيل. S لبدء التشغيل.
*   تبدأ البرامج التي تبدأ بـ K أثناء إيقاف التشغيل. ك لقتل.
*   توجد أرقام بجوار S و K في أسماء البرامج. تلك هي رقم التسلسل الذي ينبغي أن تبدأ فيه البرامج أو تقتل.