1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

روند بوت شدن لينوكس

شروع موضوع توسط AleX ‏19/4/12 در انجمن سخت افزار

  1. کاربر حرفه ای

    تاریخ عضویت:
    ‏7/12/10
    ارسال ها:
    1,958
    تشکر شده:
    2,251
    امتیاز دستاورد:
    113
    حرفه:
    دانشجو
    توالی بوت شدن لینوکس
    احتمالا به ياد داريد كه در هنگام نصب سیستم‌عامل لینوکس ، روند نصب فهرستي از پارتيشن‌های شما را با اندازه هر كدام نمايش داد كه سيستم‌فايل شما بايد در آن‌ها قرار گيرد.هنگامی که برای پارتیشن ها فضای دیسک تعریف می کنید، نخستین سکتور یا واحد داده ها، همیشه برای کدهای قابل برنامه‌ریزی رزرو مي‌شود كه در هنگام بوت سيستم مورد استفاده قرار مي‌گيرند. اولين سكتور هارددیسک نیز برای همین منظور استفاده می شود و مستر بوت رکورد (MBR) نام دارد. هنگامی که راه‌اندازی سیستم از طریق هارددیسک صورت می‌گیرد، بایوس کامپیوتر، کد راه‌اندازی سیستم را از MBR بارگذاری و اجرا می‌کند. سپس، MBR باید بداند کدام یک از پارتیشن‌های دیسک، کد بوت لودر (بارگذار راه‌اندازی سیستم) مخصوص سیستم عامل خود را در قسمت راه‌اندازی دارند و سپس براي اجرا كردن یکی از آن‌ها تلاش مي‌كند.

    لینوکس فدورا با بوت لودر GRUB عرضه شده است كه نسبتا پيشرفته است و به همين دليل نمی‌تواند به طور کامل در 512 بایت MBR جا بگيرد. بوت لودر GRUB MBR تنها به جست‌وجوي يك پارتيشن بوت خاص پرداخته و بوت لودر مرحله دوم را اجرا مي‌كند. این بوت لودر ثانويه سپس اطلاعات موجود در فایل پیکربندی /boot/grub/grub.conf را می‌خواند. این فایل، فهرستی از همه سیستم عامل‌های موجود و پارامترهای بوت شدن آن‌ها را نمایش می‌دهد. بعد از اتمام این مرحله، مرحله دوم بوت لودر صفحه Splash آشناي فدورا را نمایش مي‌دهد كه همه کرنل‌های پيكربندي شده سیستم عامل را براي انتخاب در اختيار شما مي‌گذارد.نکته: در بعضی از سیستم‌هاي عامل مانند دبیان يا اوبونتو، ممکن است فایل /boot/grub/grub.conf با نام /boot/grub/menu.lst مشخص شده باشد. كد زير، فایل grub.conf را نشان می‌دهد که در هر دو سیستم عامل لینوکس فدورا و ویندوز 2000 قابل راه اندازی است.

    [​IMG]​


    هنگامی که لینوکس می خواهد از کرنل خود بوت شود، ابتدا برنامه/sbin/init را اجرا می‌کند كه چند بررسي روي سيستم مانند اطمينان از سلامت سيستم‌هاي فايل را انجام داده و سپس برنامه‌هاي حياتي مورد نياز براي عملكرد صحيح سيستم عامل را اجرا مي‌كند. سپس، برای آگاهی از وضعیت کلی لینوکس یا مراحل مختلف اجرای آن، فایل /etc/inittab را بررسی می کند.
    در جدول زير می توانید فهرستی از سطوح اجرایی معتبر را مشاهده کنید.

    حالت دايركتوري توضيح سطح اجرا
    0 etc/rc.d/rc0.d/ مكث (HALT)
    1 etc/rc.d/rc1.d/ حالت تك كاربره
    2 etc/rc.d/rc2.d/ استفاده نشده (قابل تعريف توسط كاربر)
    3 etc/rc.d/rc3.d/ حالت چند كاربره كامل (بدون اينترفيس GUI)
    4 etc/rc.d/rc4.d/ استفاده نشده (قابل تعريف توسط كاربر)
    5 etc/rc.d/rc5.d/ حالت چند كاربره كامل (با اينترفيس GUI)
    6 etc/rc.d/rc6.d/ بوت مجدد


    با توجه به مرحله اجرایی انتخاب شده، فرآيند Init سپس اسکریپت‌های راه‌اندازی را اجرا مي‌كند كه در دايركتوري‌هاي فرعي دایرکتوری etc/rc.d/ قرار دارند. اسکریپت‌هایی که برای سطوح اجرایی صفر تا 6 استفاده می‌شوند، به ترتیب در زیرشاخه‌های etc/rc.d/rc0.d/ تا etc/rc.d/rc6.d/ قرار دارند.در زير، يك فهرست دايركتوري از اسكريپت‌هاي موجود در دايركتوري etc/rc.d/rc3.d/ نمایش داده شده است.


    [​IMG]​

    همان‌طور که می‌بینید، نام تعدادی از فایل های موجود در این دایرکتوری با حرف S شروع می‌شود. وجود این حرف نشان مي‌دهد که اسکریپت‌ها باید هنگام راه‌اندازي اجرا شوند. برخی از نام ها نیز با حرف K آغاز می‌شوند که نشان می‌دهد اسکریپت باید هنگام خاموش شدن سیستم اجرا شود. هر اسکریپتی که در این فهرست نیست، اجرا نخواهد شد.بیشتر بسته‌های لینوکس، اسکریپت‌های راه‌اندازی خود را در دایرکتوری etc/init.d/ ذخيره كرده و لینک‌های سیمبولیک (اشاره‌گرها) به این اسکریپت‌ها را در زیرشاخه مناسبی از etc/rc.d/ قرار می‌دهند. این کار باعث سهولت مدیریت فایل‌ها می شود. توجه داشته باشید، حذف یک لینک باعث حذف فایلی که ممکن است بعدا مورد استفاده قرار گیرد، نمی‌شود.عددی که بعد از حروف K یا S قرار دارد، نشان دهنده مکانی است که اسکریپت باید از آن‌جا به ترتیب بالارونده، اجرا شود. در مثال ما،kudzu با شماره 5 باید پیش از wlan با شماره 9 اجرا شود. خوشبختانه، برای آگاهی از این که همه چیز خوب پیش می رود، نیاز نیست يك متخصص لینک‌های سمبولیک یا اسکریپتينگ باشيد زیرا فدورا يك يوتيليتي جالب به نام chkconfig را براي اين منظور در اختيارتان مي‌گذارد. از سوي ديگر،دبيان/اوبونتو نيز همين كار را با فرمان update-rc.d براي شما انجام مي‌دهند.

    مشخص کردن سطح اجرایی پیش فرض بوتسطح اجرایی پیش فرض بوت با متغیر initdefault در فایل /etc/inittab تنظيم مي‌شود. هنگامی که این سطح روی 3 تنظیم می شود، سیستم با يك اينترفيس متني روي کنسول VGA بوت مي‌شود. وقتی آن را روی 5 تنظیم می‌کنید، می‌توانید به GUI دسترسی داشته باشید.
    در اينجا نمونه‌اي از فايل مذكور را مشاهده مي‌كنيد:

    [​IMG]