در خصوص اینکه Boot Loader چیست و همچنین Boot Loader پیشفرض لینوکس های امروزی یعنی GRUB بصورت مفصل قبلا صحبت کرده ایم و حتی در مقاله ای بصورت جداگانه تفاوت بین GRUB و LILO دو Boot Loader معروف لینوکس صحبت کردیم ، امروز می خواهیم در انجمن تخصصی فناوری اطلاعات ایران در خصوص مراحل کاری GRUB توضیح دهیم و اینکه چند مرحله و چگونه است که سیستم عامل توسط این Boot Loader شروع به کار می کند ، بصورت کلی اکثر Boot Loader ها دو یا بیشتر از دو مرحله کاری دارند که در GRUB هم به همین شکل است ، اولین مرحله از کار GRUB قرار دادن یا Load کردن خود GRUB داخل حافظه RAM است :
اولین گام این است که BIOS از داخل Master Boot Record یا MBR برنامه Boot Loader اصلی سیستم را به داخل حافظه RAM منتقل می کند. برنامه Boot Loader اصلی سیستم فضایی کمتر از 512 بایت در MBR به خود اختصاص داده است و این فضا اینقدر کم است که دستورات پیچیده مورد نیاز برای Load کردن یک سیستم عامل را در خود ندارد و به همین دلیل است که Boot Loader اصلی سیستم فعالیتی را انجام می دهد که توسط آن مرحله یک و نیم ( در اصطلاح فنی ) اجرا شود.
مرحله یک و نیم در واقع به این دلیل نامگذاری شده است که یک مرحله میانی است که بین مرحله اول و مرحله دوم قرار گرفته است و برخی از سخت افزارها برای درست اجرا کردن Boot Loader به این مرحله میانی نیاز دارند. در واقع اگر بخواهیم تخصصی تر صحبت کنیم ، مرحله یک و نیم زمانی اتفاق می افتد که پارتیشن boot// در فاصله ای بیشتر از سیلندر 1024 هارد درایو قرار گرفته باشد یا اینکه شما از حالت LBA استفاده می کنید. مرحله یک و نیم یا GRUB Stage 1.5 در 30 کیلوبایت اول هارد دیسک شما بلافاصله بعد از MBR و قبل از اولین پارتیشن قرار گرفته است ، این فضا به گونه ای بهینه سازی شده است که درایورهای فایل سیستم و ماژول های آنها را در خود نگه دارد ، بعد از فعال شدن مرحله یک و نیم سیستم آماده می شود که مرحله دوم را شروع کند و محل انجام شدن مرحله دوم در اینجا کاملا مشخص است ، معمولا در فایل سیستم مرحله دوم از boot//gub// شروع می شود.
در این مرحله در واقع Boot Loader ثانوی سیستم یا Secondary Boot Loader اجرا می شود که در اینجا GRUB تازه شروع به کار می کند ، Secondary Boot Loader در محلی از هارد دیسک شما در یکی از بوت سکتورهای اولین پارتیشن سیستم شما قرار گرفته است. در اینجا است که منوهای GRUB را شما مشاهده می کنید و محیط خط فرمانی آن را نیز می توانید ببینید ، البته در صورتیکه Boot Loader شما از نوع GRUB باشد ، اگر در این قسمت شما چندین سیستم عامل را بصورت Dual Boot در کنار هم داشته باشید امکان انتخاب کردن آنها را خواهید داشت. در این قسمت است که شما می توانید به Kernel سیستم عامل آرگومان یا دستور ارسال کنید.
در این مرحله بعد از اینکه در مرحله قبل سیستم عامل مورد نظر خود را انتخاب کردید ، GRUB تصمیم می گیرد که چه سیستم عاملی را Start و Load کند و سپس Kernel مورد نظر آن را به همراه initrd به داخل حافظه RAM منتقل می کند. در این قسمت است که کنترل کامل سیستم به دست سیستم عامل سپرده می شود و GRUB از کار خارج می شود.
سابقه سیستم عامل های توزیع لینوکس از یک Boot Loader به نام LILO هم استفاده می کردند که با معرفی شدن GRUB دیگر بسیار کم از LILO استفاده می شود و تقریبا می توان گفت GRUB بصورت کامل جایگزین LILO شده است. از امکانات مهمی که GRUB به ما ارائه می دهد قابلیت محافظت با استفاده از رمز عبور ، امکان ارسال پارامترهای Boot مختلف و همچنین انجام اینکار بدون هنگ کردن و ایجاد مشکل برای فایل تنظیمات GRUB و همچنین امکان همزمان Boot کردن سیستم عامل ویندوز در کنار سیستم عامل لینوکس را می توان نام برد. از طرفی GRUB همانطور که قبلا نیز اشاره کردیم قابلیتی به نام LBA یا Logical Block Addressing را پشتیبانی می کند که به شما این امکان را می دهد که فایل های boot سیستم را بسیار ساده تر پیدا کنید.
روش Boot ای که سیستم عامل RedHat Enterprise Linux استفاده می کنید به روش Direct Loading Method معروف است ، این به این دلیل است که Boot Loader بدون نیاز به مرحله میانی سیستم عامل و Kernel را Load می کند. در حالتی دیگر از Boot که به Chain Booting یا بوت کردن زنجیره ای معروف است ، MBR به اولین سکتور از پارتیشن اشاره می کند که شامل سیستم عامل نیز می شود . MBR با استفاده از فایل هایی که در این قسمت از GRUB وجود دارد و هم از حالت Direct و هم از حالت Chain پشتیبانی می کند ، اینکار باعث می شود که تقریبا هر نوع سیستم عاملی قابل Boot باشد. ITPRO باشید
نویسنده : محمد نصیری
منبع : انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود