رکورد راه انداز اصلی (MBR - Master Boot Record) قسمتی از حافظه است که وظیفه اجرای سیستم عامل به صورت غیر مستقیم را برعهده دارد. بایوس به صورت مستقیم این رکورد را اجرا میکند.
MBR چیست؟
رکورد راه انداز اصلی (Master Boot Record - به صورت اختصاری MBR) مهمترین برنامه برای راه اندازی سیستم عامل است که در قسمتی از حافظه ذخیره سازی داده پارتیشن بندی شده مثل هارد دیسک، SSD، فلش درایوها و ... قرار گرفته و وظیفه حفظ اطلاعات مربوط به پارتیشنها و بالا آوردن هسته سیستم عامل (به صورت غیر مستقیم) را بر عهده دارد. MBR در هنگام پارتیشن بندی حافظه ساخته شده و یک برنامه خوانده میشود چون دارای دستوراتی برای اجرا شدن است تا بتواند سیستم عامل را بوت کند.
کل کدهای MBR فقط ۵۱۲ بایت میباشد که به صورت قراردادی، در اولین سکتور از حافظه (که معمولاً سکتور شماره ۰ خوانده میشود) قرار میگیرد. با توجه به این که یک سکتور معمولاً دارای ۵۱۲ بایت حافظه ذخیره سازی است، با قرار گرفتن MBR به صورت کامل پر میشود.
وظیفه MBR چیست؟
MBR وظیفه دارد تا اطلاعات مربوط به پارتیشنهای صحیح را در خود نگه داشته و با تشخیص پارتیشن فعال و با استفاده از دستور موجود در اولین سکتور آن پارتیشن، هسته سیستم عامل را بر روی RAM قرار داده و اجرا کند. از آن جایی که ۵۱۲ بایت فضای بسیار کوچکی برای نوشتن یک برنامه است، MBR تنها این دو وظیفه را بر عهده دارد.
MBR چگونه سیستم عامل را بوت میکند؟
پس از پارتیشن بندی حافظه، MBR بر روی اولین سکتور حافظه قرار میگیرد؛ چون اولین سکتور مشخص ترین حالتی است که میتوان به آن دسترسی داشت. در هنگام روشن کردن کامپیوتر که BIOS کنترل سیستم را برعهده دارد، با توجه به تنظیماتی که قبلاً اعمال شده است، میفهمد که باید از کدام حافظه (درصورت وجود چندین حافظه مثل هارد دیسک یا DVDها و ...) عمل بوت کردن را آغاز کند. به این ترتیب طبق قرارداد، اولین سکتور حافظه (که همان MBR است) را میخواند و دستور موجود را اجرا میکند. در این هنگام کنترل سیستم از BIOS خارج شده و MBR این وظیفه را بر عهده دارد.
دستوری که در MBR قرار میگیرد، این است که با توجه به جدول پارتیشن موجود که آن هم در هنگان پارتیشن بندی تهیه شده است، پارتیشن فعال (همان پارتیشنی که سیستم عامل بر روی آن نصب است) را تشخیص داده سپس اولین سکتور آن پارتیشن که شامل PBR (مخفف Partition Boot Record - رکورد راه اندازی پارتیشن) است را خوانده سپس برنامه PBR که شامل دستوری برای اجرا کردن هسته سیستم عامل است را اجرا میکند. بنابراین MBR نیازی به دانستن این که سیستم عامل چیست یا هسته آن کجا قرار نگه داشته میشود، ندارد. در این لحظه کار MBR به اتمام رسیده و سیستم توسط PBR اداره میشود. خود PBR نیز حجم کمی داشته بنابراین تنها کاری که انجام میدهد اجرای هسته سیستم عامل خواهد بود.
پس از آن که سیستم عامل اجرا شد، کار PBR به اتمام رسیده و خود هسته سیستم عامل کنترل سیستم را بر عهده میگیرد. به این ترتیب سیستم عامل به صورت کامل راه اندازی میشود. در تصویر زیر میتوانید این فرایند را مشاهده کنید:
نحوه بوت سیستم عامل - برای بزرگنمایی بر روی تصویر کلیک کنید
چرا وجود MBR سالم ضروری است؟
همان طور که گفته شد، MBR مهمترین برنامه برای بوت سیستم عامل به حساب میآید و بدون وجود آن، سیستم عاملی نیز بوت نخواهد شد. دستور موجود در MBR معمولاً برای این فرایند ساخته میشود اما ممکن است توسط افراد دیگر یا ویروسها، تغییر داده شده و کدهای مخربی را اجرا کند. بنابراین وجود یک MBR کاملاً سالم برای بوت کردن بدون مشکل سیستم عامل ضروری است.
برای درک بهتر این مسئله، فرض کنید که شما یک کتاب آشپزی (حافظه) با چندین فصل (پارتیشن) که در هر فصل انواع دستور پخت ها (فایل ها) نوشته شده است. فرض کنید که قصد پختن غذایی (پارتیشن بوت رکورد) را دارید که در اول یکی از فصلهاست (پارتیشنی که سیستم عامل بر روی آن نصب شده) اما نمیتوانید به صورت مستقیم صفحه مربوط به آن دستور العمل را پیدا کنید. در این صورت شما نیاز به یک فهرست (مستر بوت رکورد) در ابتدای کتاب دارید که در آن فقط فصلها فهرست بندی شده اند. حال شما میتوانید با در دست داشتن صفحه اول فصل (اولین سکتور پارتیشن) به دستور پخت مورد نیاز دسترسی داشته باشید. حال اگر در این فهرست، بجای آن چه که باید باشد، مسیر یک دستور دیگر نوشته شده باشد، شما به دستوری منتقل خواهید شد که اصلاً مورد نظر شما نیست.
ساختار MBR
MBR از ۵۱۲ بایت تشکیل میشود که بر روی اولین سکتور حافظه نگه داشته میشود. این ۵۱۲ بایت شامل دستوری برای اجرای PBR و جدولی برای حفظ اطلاعات پارتیشنهاست. در جدول زیر ساختار یک MBR استاندارد به صورت خلاصه نوشته شده است:
توضیحات |
اندازه |
مکان بایتها |
کد خود راه انداز (شامل برچسب زمانی، کدهای اصلی، امضای دیسک) |
۴۴۶ بایت |
۰ تا ۴۴۵ |
جدول پارتیشنها (۱۶ بایت برای هر چهار پارتیشن) |
۶۴ بایت |
۴۴۶ تا ۵۰۹ |
نشان اتمام MBR |
۲ بایت |
۵۱۰ تا ۵۱۱ |
کد خود راه انداز (که Boot loader نیز شناخته میشود) همان برنامه و دستوری است که PBR را با توجه به جدول پارتیشنها اجرا میکند. دو بایت آخر (به صورت هگز ۵۵ و AA) نیز نشان دهنده اتمام MBR است.
از آن جایی که MBR فقط ۶۴ بایت برای جدول پارتیشنها اختصاص داده و اطلاعات هر پارتیشن نیز در ۱۶ بایت ذخیره میشود، بنابراین MBR میتواند فقط چهار پارتیشن را به عنوان پارتیشن صحیح شناسایی کند درحالی که بقیه پارتیشنها به صورت پارتیشن منطقی شناسایی میشوند. این یکی از مهمترین ضعفهای MBR است. بوت سکتور جدید با نام GPT درحال جایگزینی MBR است که میتواند تا ۱۲۸ پارتیشن را به عنوان پارتیشن صحیح شناسایی کند.
در تصویر زیر اجزای MBR بر روی اولین سکتور، بصورت کدهای هگز نشان داده شده است. تصویر پایه توسط برنامه Hard Disk Sentinel تهیه شده است:
دادههای موجود در سکتور اول حافظه (MBR)
همان طور که شاید متوجه شوید، خطاهای "Invalid partition table"، "Error loading operating system" و "Missing operating system" نیز در MBR نوشته شده و مربوط به خود MBR هستند که قبل از بوت سیستم عامل ممکن است ظاهر شوند.
:: بازدید از این مطلب : 217
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0