در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

6 مرحله بوت (Boot) شدن کامل لینوکس (GRUB) به زبان ساده قسمت 1

تا به حال چندین مطلب در خصوص اینکه Boot Loader چیست و معرفی GRUB و LILO و تفاوت های آنها و همچنین روش کار GRUB در لینوکس مطالبی را در انجمن تخصصی فناوری اطلاعات ایران قرار داده ایم اما بد نیست در این میان در نهایت به این موضوع برسیم که سیستم عامل لینوکس در نهایت چگونه Boot می شود و فرآیند Startup این سیستم عامل از بدو روشن کردن سیستم تا استفاده از خط فرمان داخلی آن چگونه انجام می شود. البته با یک جستجوی ساده ممکن است مطالب زیادی در خصوص معرفی روش Startup و Boot لینوکس در اینترنت پیدا کنید.

دانستن اینکه یک سیستم چگونه Boot می شود هم می تواند به درک شما در برقراری ارتباط بین سخت افزار و نرم افزار و همچنین رفع مشکلات ناشی از Boot نشدن سیستم عامل بسیار کمک کند . امروز قصد داریم در انجمن تخصصی فناوری اطلاعات ایران با جزئیات بیشتری این فرآیند را قسمت به قسمت به شما معرفی کنیم. فرآیند کلی Boot سیستم عامل لینوکس شامل شش مرحله اصلی است که همانطور که در تصویر زیر نیز مشاهده می کنید این مراحل به BIOS ، MBR ، GRUB به عنوان Boot Loader پیشفرض ، Kernel ، Init و Runlevel تقسیم بندی می شود که در ادامه هر کدام از این مراحل را با ذکر جزئیات با هم مرور می کنیم.

فرآیند Boot سیستم عامل لینوکس چگونه انجام می شود

مرحله اول بوت سیستم عامل لینوکس - System Startup یا BIOS

اولین فاز فرآیند Boot شدن سیستم فرآیند Startup سیستم است. زمانیکه شما دکمه Power سیستم را می زنید یا اینکه سیستم را Restart می کنید ، قدرت برق به SMPS یا Switched Mode Power Supply می رسد که در این قسمت برق تبدیل به AC یا DC می شود. برق DC به تمامی تجهیزات سیستم اعم از Motherboard ، هارد دیسک ها ، CD-ROM ، ماوس و کیبورد و ... داده می شود و آنها روشن می شوند.

هوشمند ترین قطعه کامپیوتر شما قطعا پردازنده یا همان CPU شما است ، به محض اینکه برق به این دستگاه برسد این دستگاه شروع به انجام عملیات هایی می کند که در حافظه یا ROM سیستم وجود دارد. اولین دستوری که این مرحله از طرف CPU صادر می شود این است که کنترل سیستم به دست BIOS سیستم داده شود ، BIOS مخفف کلمات Basic Input//Output System است. دستور CPU به BIOS این است که عملیات POST یا Power On Self-Test را انجام دهد. در این عملیات تجهیزات ضروری سیستم برای فرآیند Boot کاملا آزمایش می شوند. بعد از اینکه کنترل به دست BIOS سیستم افتاد دو چیز اتفاق می افتد :

  1. فرآیند آزمایش POST یا Power On Self-Test
  2. انتخاب اولین دستگاه قابل Boot در سیستم

6 مرحله بوت (Boot) شدن کامل لینوکس (GRUB) به زبان ساده قسمت 1

عملیات POST یا Power On Self-Test در سیستم چیست ؟

عملیات POST یا Power On Self-Test یک سری فرآیند پردازشی است که در دسترس بودن سخت افزارهای سیستم را بررسی می کند. BIOS لیستی از سخت افزارهایی که در آخرین Boot موفق سیستم فعال بوده اند را همیشه در خود دارد ، برای اینکه بررسی شود که یک سخت افزار برای انجام فرآیند Boot سیستم در دسترس است یا خیر برای هر کدام از این سخت افزارها که در لیست قرار دارند یک پالس الکتریکی فرستاده می شود .

اگر پالس الکتریکی به درستی پاسخ داده شود به معنی در دسترس بودن دستگاه مورد نظر و آماده بودن سخت افزار برای انجام فرآیند Boot است. اما اگر از سخت افزاری پالس دریافت نشود ، سخت افزار مورد نظر به عنوان سخت افزار معیوب یا مشکل دار در نظر گرفته می شود و فرض بر این گذاشته می شود که از سیستم جدا شده است.اینکار برای همه سخت افزارهای موجود در لیست BIOS انجام می شود و لیست جدید بر اساس آزمایش های جدید ایجاد می شود و در حافظه BIOS برای فرآیند Boot بعدی استفاده خواهد شد.

6 مرحله بوت (Boot) شدن کامل لینوکس (GRUB) به زبان ساده قسمت 1

انتخاب اولین دستگاه قابل Boot

زمانیکه عملیات های مربوط به POST کامل شدند ، BIOS لیست دستگاه هایی در دسترس هستند را خواهد داشت. در اینصورت BIOS به راحتی قادر خواهد بود اولین دستگاهی که در CMOS به عنوان Boot Device معرفی شده است را انتخاب کند. در این مرحله BIOS همیشه اولین دستگاه قابل Boot را انتخاب میکند و کنترل سیستم را مجددا به پردازنده یا CPU می سپارد. اگر فرض کنیم که اولین دستگاه قابل Boot بر روی سیستم پیدا نشود ، بصورت خودکار BIOS به دنبال دومین دستگاه و به همین ترتیب همه دستگاه های قابل Boot را آزمایش می کند تا به نتیجه مورد نظر برسد. اگر BIOS سیستم نتواند هیچ دستگاه قابل Boot ای بر روی سیستم پیدا کند به شما پیامی به شکل No boot device found به معنی عدم پیدا کردن دستگاه قابل Boot نمایش خواهد داد.

مرحله دوم Boot سیستم عامل لینوکس – MBR یا Master Boot Record

زمانیکه BIOS مجددا اختیار یا کنترل سیستم را در اختیار CPU قرار می دهد ، BIOS سعی می کند MBR یا Master Boot Record را از اولین دستگاه قابل Boot بخواند و Load کند ، ما در اینجا فرض را بر این گذاشته ایم که دستگاه Bootable ما هارد دیسک ما است. MBR یک قسمت کوچک از هارد دیسک ها است که فقط اندازه ای برابر 512 بایت دارد ، تاکید می کنم 512 بایت نه کیلو بایت ، این سکتور از هارد دیسک یا MBR در اولین نقطه شروع اطلاعات در هارد دیسک یا در انتهای هارد دیسک بر اساس نوع سازنده هارد دیسک قرار می گیرد. در واقع می توان به MBR یک Boot Loader اولیه گفت که وظیفه اصلی آن فراخوان کردن Boot Loader ثانوی سیستم است.

MBR پیش زمینه اجرا شدن GRUB را فراهم می کند و این امکان را می دهد که GRUB به داخل حافظه Load شود و باعث بالا آمدن Kernel شود. از 512 بایت فضایی که به MBR اختصاص یافته است در حدود 434 تا 446 بایت آن به Primary Boot Loader اختصاص یافته است ، 64 بایت آن به Partition Table و در نهایت 6 بایت آن برای اعتبارسنجی MBR یا MBR Validation و Timestamp آن اختصاص یافته است. خوب تا اینجای کار MBR به درستی Load شدن است اما MBR هیچگونه درکی از Kernel و نحوه Load کردن آن ندارد و نمی تواند مفهوم فایل سیستم را درک کند و در اینجاست که کار یک Boot Loader دیگر برای درایوهای فایل سیستم و Load کردن Kernel دیده می شود و این Secondary Boot Loader چیزی جز GRUB نیست. MBR معمولا در هارد دیسک های لینوکسی در مسیر devhda یا devsda قرار گرفته است و مهمترین وظیفه آن Load کردن و اجرای GRUB است.

معرفی GRUB Bootloader

مرحله سوم Boot سیستم عامل لینوکس – GRUB یا Grand Unified Boot Loader

اگر با سیستم عامل لینوکس کمی کار کرده باشید یا آن را بصورت Dual Boot با ویندوز نصب کرده باشید حتما دیده اید که در مرحله ای از Boot سیستم از شما نوع سیستم عاملی که می خواهید آن را Boot کنید سئوال می شود. در واقع این همان GRUB ای است که در موردش صحبت کردیم. GRUB یک Boot Loader است با قابلیت Boot کردن چندین سیستم عامل بصورت همزمان که حتی می تواند ویندوز را نیز در کنار لینوکس Boot کند. اگر شما در صفحه انتخاب سیستم عامل هیچ گزینه را انتخاب نکنید

GRUB بصورت خودکار سیستم عامل پیشفرض را انتخاب و آن را Boot می کند. قبلا بصورت مفصل در خصوص مراحلی که در Boot شدن GRUB انجام می شود مقاله ای نوشته ایم که می توانید به آن مراجعه کنید ، تمامی تنظیمات مربوط به GRUB در فایل تنظیمات آن یا GRUB Configuration File در لینوکس وجود دارد که معمولا در مسیر etc//grub.conf// وجود دارد. GRUB محتوی فایل های Image مربوط به سیستم عامل ها و initrd است و وظیفه اصلی آن نیز اجرا و Load کردن همین Image ها است. در ادامه نمونه ای از فایل grub.conf موجود در سیستم عامل لینوکس RedHat را مشاهده می کنید :

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-194.26.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.26.1.el5 ro root=/dev/VolGroup00/root clocksource=acpi_pm divisor=10
        initrd /initrd-2.6.18-194.26.1.el5.img
title Red Hat Enterprise Linux Server (2.6.18-194.11.4.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.11.4.el5 ro root=/dev/VolGroup00/root clocksource=acpi_pm divisor=10
        initrd /initrd-2.6.18-194.11.4.el5.img
title Red Hat Enterprise Linux Server (2.6.18-194.11.3.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.11.3.el5 ro root=/dev/VolGroup00/root clocksource=acpi_pm divisor=10
        initrd /initrd-2.6.18-194.11.3.el5.img 

تا اینجای کار هنوز هیچ قسمتی از سیستم عامل لینوکس فعال نشده است ، در واقع همه فرآیندی که مربوط به سیستم عامل می شود در مرحله بعدی انجام می شود که GRUB کارهای خود را انجام می دهد و نوبت به Kernel سیستم عامل لینوکس می رسد که توسط GRUB در حافظه RAM سیستم Load شده است . در مطلب بعدی در خصوص ادامه مراحل که Load شدن Kernel و همچنین فرآیند Init است توضیحاتی را ارائه خواهیم کرد. ITPRO باشید

نویسنده : محمد نصیری

منبع : جزیره لینوکس وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#لینوکس_چگونه_boot_می_شود #لینوکس_چگونه_بوت_می_شود #post_چیست #mbr_چیست #master_boot_record_چیست #grub_چیست #معرفی_فرآیند_boot_در_سیستم_عامل_لینوکس #فرآیند_startup_لینوکس_چگونه_انجام_می_شود #grub_چگونه_کار_می_کند #power_on_self_test_چیست
عنوان
1 6 مرحله بوت (Boot) شدن کامل لینوکس (GRUB) به زبان ساده قسمت 1 رایگان
2 6 مرحله بوت (Boot) شدن کامل لینوکس (GRUB) به زبان ساده قسمت 2 رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....