بوتلودر (Bootloader) چیست و چگونه کار میکند؟
به نقل از آیتی رسان
بوتلودر (Bootloader) برای سیستمعامل بسیار ضروری است. البته در دنیای کامپیوتر، چندان توجهی به این واژه نمیشود. این قضیه نیز بدین دلیل است که بوت لودر در پسزمینه بوده و به فعال کردن سیستمعامل کمک میکند. اکثر بردهای پردازنده موجود در دستگاههای الکترونیکی، دارای برنامههایی هستند که از پیش بر روی آنها بارگذاری شدهاند. به این برنامهها، بوتلودر میگویند.
در این مطلب قصد داریم به چیستی Bootloader و همچنین نحوه کارکرد آن بپردازیم. اگر به این موضوع علاقهمند هستید، آنگاه بهتر است که این مطلب را از دست ندهید.
بوت لودر چیست؟
در هنگام روشن بودن بوت لودر، کامپیوتر یک حالت پاکمانند دارد. این موضوع بدین معنا است که برنامهای در حافظه رم کامپیوتر قرار نداشته و همچنین نمیتوان به قطعات آن نیز دسترسی پیدا کرد. بوتلودر کمک میکند که سیستمعامل و یا محیط اجرای اپلیکیشنها بارگذاری شده تا بدین ترتیب بتوان برنامهها را به رم اضافه کرد و همچنین دسترسی به قطعات سختافزاری نیز میسر گردد. بوتلودر جهت اجرا فرایند استارتاپ، مقداردهی اولیه سختافزارها و همچنین تحویل کنترل به هسته سیستمعامل (kernel) که در نهایت به مقدار دهی اولیه سیستمعامل میانجامد، ضروری است.
BIOS
بخشهای اصلی یک بوتلودر شامل سیستم پایهای ورودی/خروجی (BIOS) و میانافزار قرار داده شده در حافظه Read-Only یا همان ROM کامپیوتر شما میشوند. در هنگام روش کردن رایانه، BIOS پیش از سایر برنامهها، کار خود را آغاز میکند. خود BIOS نیز از بخشهای زیر تشکیل میشود:
- POST (خودآزمایی هنگام روشن شدن)
- Boot Sector Loader
- قطعکنندههای BIOS
- منوی Setup
با استفاده از منوی Setup میتوانید پارامترهای بوتلودر را تغییر دهید. نسخههای جدیدتر BIOS، پارامترهای متفاوتی را تنظیم میکنند. این قضیه شامل ترتیب بوت میشود که در این فرایند، دستگاههایی که BIOS پیش از بوت کردن آنها را بررسی میکند، مشخص میشوند. Boot Sector Loader، اولین بخش ۵۱۲ بایتی را از دیسک بوت به داخل رم بارگذاری میکند. این سکتور برای اولین بلوک حافظه موجود و یا بخشی در حافظه که باید جهت ثبت اطلاعات رزرو شود، موردنیاز است.
قطعکنندههای BIOS نیز درایورهای دستگاههایی هستند که توسط بوتلودرها مورد استفاده قرار گرفته تا بدین ترتیب بتوان به نمایشگر، صفحهکلید و همچنین دیسکها، دسترسی پیدا کرد. تمامی سیستمعاملها از قطعکننده BIOS استفاده نمیکنند. علاوه بر BIOS، افزونههای ROM نیز وجود دارند. شاید BIOS اصلی بخواهد که افزونههای ROM را فعال کند. بوت لودر معمولا از ۳ برنامه زیر تشکیل شده است:
- یک برنامه بوت سکتور که مستقیما در زمان بوت، توسط BIOS بارگذاری میشود.
- یک برنامه مرحله دومی که توسط برنامه بوت سکتور بارگذاری شده تا فرایند بوت کردن را کامل کند.
یک نصبکننده بوتلودر جهت نصب بوتلودر و برنامه مرحله دوم در دیسک بوت.
UEFI BIOS
نیازهای در حال تکامل کاربران رایانهها باعث ایجاد یک جایگزین مدرن برای BIOS شد. UEFI (رابط میانافزار انعطافپذیر یکپارچه) یک سیستمعامل کوچک بوده که پیش از اجرا کردن روتینهای عملیاتی اضافی، بوت لودر را در حافظه بارگذاری میکند.
در حالی که UEFI تاحدودی با BIOS مشابه است، چند تفاوت کلیدی باعث شدهاند که بسیاری فکر کنند که UEFI در عوض یک جایگرین برای BIOS سنتی، یک افزونه است. یکی از تفاوتهای اصلی میان BIOS و UEFI، به نحوه فراهم آوردن رابط عملیاتی توسط UEFI برای کامپیوترها و همچنین استفاده این رابط از مکانسیمها و عملکردهای جدید بازمیگردد. علاوه بر این، در حالی که UEFI مشخص نمیکند که میانافزار چگونه باید بهصورت کامل برنامهریزی شود، اما رابط میان میانافزار و سیستمعامل را تحت تأثیر قرار میدهد.
برنامه UEFI بهصورت دائمی در یک تراشه حافظه موجود بر روی مادربورد، ذخیره میشود. این قضیه بدین معنا است که اطلاعات UEFI حتی در هنگام عدم وجود برق نیز همچنان باقی میمانند. با استفاده از یک لایه عملیاتی منحصربهفرد، ارتباطات بین میانافزار و سیستمعامل، برقرار میشوند. حالت UEFI میتواند پیش از بالا آمدن سیستمعامل، مقداردهی اولیه شود. برخی از مزیتهای کلیدی UEFI به شرح زیر هستند:
- جهت قابلیتهای شبکه به یک سیستم عملیاتی فعال، نیاز ندارد.
- سازگاری بهتری با موس کامپیوتر داشته و همچنین رابط کاربری گرافیکی بهتری نیز دارد.
- با استفاده از قابلیت Secure Boot، امنیت را بهبود میبخشد.
- ساختاری ماژولار و قابل انعطاف داشته که میتواند به سازگار شدن با محیطهای سختافزاری مخصوص و پروفایلهای موردنیاز، کمک کند.
- از ویژگی مدیریت بوت، برخوردار است. با استفاده از این قابلیت میتوان به مدیریت بوتلودرهای مختلف برای سیستمعاملهای گوناگون پرداخت.
- یک ابزار مبتنی بر دستورات خطی دارد که از طریق آن میتوان به عیبیابی و رفع مشکل پرداخت.
هدف از تعبیه کردن Secure Boot، بهبود امنیت است. بخشهای میانافزار UEFI، بوت لودر و هسته سیستمعامل باید پیش از آغاز به کار، مورد تأیید قرار بگیرند. اجزاها از طریق امضاهای دیجیتال رمزنگاری شده، تأیید میشوند. این امضاها نیز در پایگاه اطلاعاتی میانافزار UEFI قرار دارند. اگر در فرایند امنیتی مشکلی به وجود آید، آنگاه این احتمال وجود دارد که فرایند بوت شدن سیستم نیز کنسل شود.
در محیطهای حرفهای، Secure Boot معمولا به همراه یک قطعه سختافزاری مورد استفاده قرار میگیرد. ماژول پلتفرم مطمئن (TPM) یکی از اجزاهای کلیدی Secure Boot بوده که قابلیتهای امنیتی را برای کامپیوترها فراهم میآورد. در هنگام مقایسه با روش سنتی بوت سیستم BIOS، میتوان مزیتهای زیر را برای UEFI و GPT در نظر گرفت:
- این امکان را فراهم میآورد که چندین سیستمعامل به همراه مدیرهای بوت خود، بهصورت همزمان نصب شوند.
- فرایند بوت در قیاس با سیستمهای قدیمیتر مجهز به BIOS، سریعتر انجام میشود.
- از اپلیکیشنهای قبل از بوت، پشتیبانی میکند.
این روزها در رابطه با تنظیمات مرتبط با بوت، از حافظههای NVRAM (حافظه دسترسی تصادفی غیر-فرار) استفاده میشود. این تنظیمات پس از خاموش شدن کامپیوتر، ذخیره میشوند. همچنین مقدار کمی از باتری مادربورد نیز مورد استفاده قرار میگیرد.
بوت لودر چگونه کار میکند؟
پس از روشن شدن رایانه، اطلاعات مرتبط با سختافزار نصب شده، بر روی نمایشگر نشان داده میشوند. بوتلودر، سیستمعامل خود را در داخل حافظه رم بارگذاری میکند. سیستم پایهای ورودی/خروجی (BIOS) نیز پیش از تحویل دادن کنترل به Master Boot Record یا همان MBR، تستهایی را انجام میدهد. بوتلودر در Master Boot Record قرار دارد.
بوتلودرهای زیادی پیکربندی شده تا گزینههای بوت مختلفی را به کاربران ارائه دهند. این گزینهها شامل سیستمعاملهای گوناگون، نسخههای مختلف یک سیستمعامل، گزینههای بارگذاری سیستمعامل و همچنین برنامههایی شده که بدون نیاز به سیستمعامل، اجرا میشوند.
در مواردی خاص، شاید ۲ سیستمعامل بر روی یک دستگاه، نصب شده باشند. بوتلودرها میتوانند در چنین دستگاههایی مورد استفاده قرار گرفته تا بدین ترتیب بتوان سیستمعامل درستی را که کاربر بهصورت خودکار ترجیح میدهد، راهاندازی کرد. همچنین با استفاده از بوت لودر میتوان جهت ریکاوری، سیستمعامل را به حالت Safe Mode برد.
با استفاده از بوتلودر میتوانید بدون نیاز به راهاندازی سیستمعامل، یک برنامه خاص را بوت کنید. چنین قابلیتی در رابطه با دستگاههایی همانند کنسولهای بازی، مفید است. پس از قرار دادن دیسک بازی در کنسول و سپس روشن کردن آن، آنگاه کاربر به جای صفحه خوشامدگویی، مستقیما وارد بازی میشود.
سخن پایانی
بوتلودرها جهت نگهداری و حفط امنیت و معماری نرمافزار، بسیار مهم هستند. استثناها و تداخلها میتوانند بهطرز متفاوتی توسط بوتلودرها و اپلیکیشنها، مدیریت شوند. روشی که با استفاده از آن، نرمافزار و سختافزار مستقیما به یکدیگر لینک میشوند، بر نحوه فعالیت استثناها و تداخلها و همچنین تأثیر آنها بر عملکرد بوتلودر، تأثیر میگذارد.