bootloader چیست ؟


boot loader چیست و فرآیند بوت چگونه است ؟

boot loader اولین برنامه ای است که در هنگان روشن شدن کامپیوتر پس از BIOS اجرا می شود. مسئولیت boot loader بارکردن و انتقال کنترل به کرنل سیستم عامل می باشد. پس از اینکه کرنل کنترل سیستم را به دست گرفت، سایر قسمتهای باقی مانده سیستم عامل را بارگذاری و اجرا می کند. boot loader بر روی Master Boot Record ذخیره می شود. حالا MBR چیست؟ MBR یک بوت سکتور 512 بایتی است که در ابتدای هارد دیسک قرار دارد. boot loader در واقع شامل یکسری درایورهای بسیار ساده برای شناختن فایل سیستم است. البته منظور در این مرحله تنها شناخت فایل سیستم منطقه ای است که در آن kernel image و initRD image ذخیره شده است. لینوکس ها در گذشته از ابزای به نام lilo برای boot loader استفاده می کردند. اما با ظهور Grub این ابزار جایگزین lilo شد. همکنون اکثر توزیع های لینوکس از Grub استفاده می کنند. GRUB مخفف کلمه های Grand Unified Bootloader است که می تواند سیستم عامل هایی مانند Linux ، Mach4 ، vSAT ، DOS و بسیاری دیگر از سیستم عامل ها را boot کند. LILO مخفف کلمات Linux Loader است و همانطور که از نامش هم پیداست Boot Loader ای است که ویژه سیستم عامل لینوکس طراحی و پیاده سازی شده است. LILO در واقع کدی است که BIOS در هنگام Startup سیستم در داخل حافظه کامپیوتر Load می کند. همانند GRUB بوت لودر LILO هم می تواند سیستم عامل ها را از یک منبع خارجی مثل فلاپی دیسک یا هارد دیسک اکسترنال boot کند. کاری که LILO در چنین حالتی انجام می دهد این است که Master Boot Record یا MBR را روی دستگاه خارجی نصب می کند و با این حالت براحتی در زمان بوت سیستم Kernel سیستم عامل را پیدا می کند و آن را داخل حافظه RAM سیستم Load می کند و سیستم عامل را بالا می آورد. حالا خیلی ساده فرآیند بوت شدن Grub را توضيح ميدهيم :

1- Grub اجرا می شود.

2- Grub فایل سیستم قسمت بوت را می شناسد.

3- grub تصویر کرنل را روی حافظه بارگذاری می کند.

4- grub یک Ram Disk بروی Ram ایجاد می کند. این کار بر اساس initRD image انجام می شود. initRD image تصویری از ماژولهای اصلی مورد نیاز برای ابتدای بوت شدن و یک ساختار دایرکتوری مختصر است.

5- در این مرحله ما یک لینوکس بسیار ساده در Ram بصورت فقط خواندنی داریم. از این پس شناخت درایورها آغاز می شود.

6- در این مرحله فایل سیستم اصلی یعنی root سیستم شناخته و به سیستم اضافه می شود.

7- حالا فرآیند بوت اصلی لینوکس با آغاز با کار فرآیند init آغاز می شود.

8- سرانجام init با بررسی و اتصال فایل سیستم و remount ساختار اصلی بصورت قابل خواندن و نوشتن سیستم را آماده استفاده می کند.

چند نکته در مورد پروسه init :

– معمولا init بصورت یک daemon (نرم افزاری که در پس زمینه اجرا می شود) اجرا می شود و شماره پروسه(PID) آن یک می باشد.

– کلیه تنظیمات پروسه init در فایل inittab در شاخه etc قرار دارد.

– پروسه init سایر پروسه ها را اجرا و کنترل می کند. bootloader میتواند GRUB1 یا GRUB2 یا LILO باشد که میتوانند برای دیسک های کمتر از 2TB مورد استفاده قرار گیرند.

/etc/lilo.conf /boot/grub/grub.cfg /boot/grub/menu.lst 
میلاد خوشدل

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

نظر خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

شش − دو =


تگ های html مجاز به استفاده می باشند: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ارسال یک پیام