سکتور بوت
سکتور بوت یا تکهی دادههای راهاندازی (به انگلیسی: Boot sector) بخشی از یک دستگاه نگهداری داده های پایدار (مانند دیسک سخت ، فلاپی ، دیسک نوری ، و غیره) است که شامل کد دستگاه است که باید در حافظه دسترسی تصادفی (RAM) بارگذاری شود و سپس توسط سیستم عامل داخلی کامپیوتر اجرا شود. (به عنوان مثال BIOS ، Das U-Boot و غیره).
همواره، بخش آغازین از دیسک جدایِ از اندازه بخش (512 یا 4096 بایت) و طعم پارتیشن بندی (MBR یا GPT) بخش بوت است.
هدف از تعریف یک بخش خاص به عنوان بخش راه انداز ، قابلیت همکاری بین شرکتهای مختلف و سیستم عاملهای مختلف است.
هدف از بارگذاری زنجیره ای ابتدا یک سیستم عامل (به عنوان مثال BIOS) ، سپس برخی از کدهای موجود در بخش بوت ، و سپس ، به عنوان مثال ، یک سیستم عامل ، انعطاف پذیری حداکثر است.
یک قطاع بوت یا بوت بلاک قسمتی از دیسک سخت، فلاپی دیسک، دیسک نوری یا دیگر وسایل ذخیرهسازی داده است که شامل کد ماشین است که توسط یک سیستم سازنده سختافزار یک سیستم کامپیوتر درون RAM لود شود. هدف قطاع بوت این است که اجازه دهد تا پردازش کامپیوتر بوت شود تا یک برنامهای لود شود (معمولاً در یک سیستم عامل لازم نیست) که روی همان وسایل ذخیرهسازی، ذخیره شده است. موقعیت و سایز قطاع بوت (شاید مربوط به قطاع دیسک مغناطیسی) توسط طراحی بسترهای نرمافزار ی محاسبه مشخص میشود. روی یک ماشین سازگار IBM PC , بایوس یک وسیلهٔ ی بوت را انتخاب میکند. سپس اولین قطاع را از وسیلهٔ ذخیرهسازی کپی میکند (کدام روش یک MBR یک VBR یا هر کد اجرایی دیگر درون حافظهٔ فیزیکی آدرس حافظه 0x7c00. روی سیستمهای دیگر پردازش ممکن است کاملاً متفاوت باشد. هنگامی کلید پاور کامپیوتر را برای روشن کردن آن میفشارید اولین و اصلی ترین چیزی که اتفاق می افتد BIOS سیستم به دنبال سرنخی برای بدست آوردن چیز های مورد نیاز برای بوت کردن سیستم عامل میگردد.اولین محلی که بایوس به دنبال آن میگردد اولین sector از هر دستگاه ذخیره سازی متصل به کامپیوتر است.زمانیکه میگویند شما یک هارد دیسک دارید به این معنی است که شما یک هارد دیسک با یک boot sector دارید.در آن بخش خاص از هارد دیسک شما یکی از دو چیز زیر را دارید:Master Boot Record یا MBR و Volume Boot Record یا VBR.(راجع به VBR بزودی یک مقاله مفصل خواهیم داشت).MBR اولین سکتور از یک هارد دیسک فرمت شده است.از آنجا که بایوس به اولین سکتور از هارد درایو نگاه میکند میداند که باید MBR را درون حافظه Ram بارگذاری کند.هنگامی که داده های MBR در حافظه رم بارگزاری شد Active Partition را میتوان در رم پیدا کرد از این پس کامپیوتر میداند که سیستم عامل در کجا قرار گرفته است.اگر هارد درایو شامل چند پارتیشن باشد VBR اولین سکتور از هر پارتیشن میباشد.VBR همچنین اولین سکتور از هر دستگاه ذخیره سازی است که پارتیشن بندی نشده است.
IBM PC و رایانه های سازگار
در دستگاه سازگار با IBM PC ، BIOS یک دستگاه بوت را انتخاب می کند ، سپس اولین بخش را از دستگاه (که ممکن است یک MBR ، VBR یا هر کد قابل اجرا باشد) در حافظه فیزیکی در آدرس حافظه 0x7C00 کپی می کند. در سیستم های دیگر ، فرایند ممکن است کاملاً متفاوت باشد.
رابط فایر نرم افزار توسعه یافته یکپارچه (UEFI)
مشخصات یکپارچه توسعه یافته سیستم عامل (UEFI) روشی جدید برای بوت شدن سیستم عامل را مشخص می کند. علاوه بر این ، مشخصات UEFI همچنین حاوی "boot safe" است که اساساً می خواهد کد را امضا کند.
صدمه به بخش چکمه
در صورت آسیب دیدگی بخش بوت ، دیسک سخت دیگر قابل استفاده نخواهد بود. مگر اینکه در هنگام استفاده از BIOS سفارشی ، که بخش غیر آسیب دیده را به عنوان بخش بوت تعریف می کند. با این حال ، از آنجا که بخش اول علاوه بر این ، حاوی داده هایی درباره پارتیشن بندی دیسک سخت است ، هارد دیسک کاملاً غیرقابل استفاده خواهد شد. مگر اینکه در رابطه با نرم افزارهای سفارشی استفاده شود.
جداول پارتیشن
دیسک را می توان در چند بخش تقسیم کرد و انتظار می رود که روی سیستم های معمولی باشد. دو روش در مورد نحوه ذخیره اطلاعات مربوط به پارتیشن بندی وجود دارد:
- یک (Master Boot Record (MBR اولین بخش از یک دستگاه ذخیره سازی داده است که تقسیم شده است. بخش MBR ممکن است دارای کد برای یافتن پارتیشن فعال و استناد به Volume Boot Record آن باشد.
- یک (Volume Boot Record (VBR اولین بخش از یک دستگاه ذخیره سازی داده است که تقسیم نشده است ، یا اولین بخش یک پارتیشن منفرد در یک دستگاه ذخیره سازی داده ای که تقسیم شده است. این ممکن است دارای کد برای بارگذاری یک سیستم عامل (یا برنامه دیگری مستقل) باشد که در آن دستگاه یا در آن پارتیشن نصب شده است.
حضور یک بوت لودر سازگار با IBM PC برای پردازنده های x86 در بخش بوت توسط کنوانسیون توسط یک توالی دو بایت 0x55 0xAA (به نام امضای بخش boot) در انتهای بخش بوت نشان داده شده است (جبران 0x1FE و 0x1FF) . این امضا حاکی از وجود حداقل یک لودر boot boum است که از اجرای آن بی خطر است ، حتی اگر واقعاً قادر به بارگیری یک سیستم عامل نباشد. این سیستم یا سیستم عامل خاصی (یا حتی حضور) پرونده ای را نشان نمی دهد ، اگرچه برخی نسخه های قدیمی DOS 3 در فرایند خود به آن متکی بودند تا بتوانند رسانه ای با فرمت FAT را کشف کنند (نسخه های جدیدتر). کد بوت برای سایر سیستم عامل ها یا CPU ها نباید از این امضا استفاده کنند ، زیرا این امر ممکن است منجر به خرابی شود که BIOS اجرای آن را به بخش بوت منتقل کند با فرض اینکه حاوی کد قابل اجرا است. با این وجود ، برخی رسانه ها برای سیستم عامل های دیگر به اشتباه حاوی امضای هستند ، به هر حال ، این چک 100٪ قابل اطمینان نیست.
امكانات بسياري از BIOS هاي سيستم از زمان (حداقل) PC / AT IBM (اما نه توسط IBM PC اصلي و برخي از دستگاه هاي ديگر) مورد بررسي قرار گرفته است. حتی بیشتر از این ، قبل از انتقال کنترل به بخش بوت ، توسط اکثر لودرهای بوت MBR نیز بررسی می شود. برخی از بایوس (مانند IBM PC / AT) چک را فقط برای درایوهای ثابت دیسک / قابل جابجایی انجام می دهند ، در حالی که برای فلاپی ها و ابر فلاپی ها کافی است که با یک بایت بزرگتر یا مساوی با 06h و نه کلمه اول شروع کنید تا یکسان نباشد. قبل از اینکه بخش بوت به عنوان معتبر پذیرفته شود ، از آزمایش صریح 0x55 ، 0xAA در فلاپی ها خودداری کنید. از آنجا که بخش های قدیمی بوت (به عنوان مثال ، رسانه های بسیار قدیمی CP / M-86 و DOS) بعضی اوقات این امضا را با وجود این که می توانند با موفقیت بوت شوند ، دارای ویژگی خاصی نیستند ، اما بررسی در برخی از محیط ها غیرفعال است. اگر کد BIOS یا MBR یک بخش بوت معتبر را تشخیص ندهد و بنابراین نتواند اجرای آن را به کد بخش boot منتقل کند ، دستگاه بوت بعدی را در ردیف امتحان می کند. در صورت عدم موفقیت ، به طور معمول یک پیام خطا نمایش داده می شود و از ساعت 18 استفاده می کند. این یا نرم افزار اقامتگاه اختیاری را در ROM (ROM BASIC) راه اندازی می کند ، سیستم را از طریق INT 19h پس از تأیید کاربر راه اندازی مجدد می کند و یا باعث می شود سیستم تا زمان برقراری بعدی روند راه اندازی را متوقف کند.
سیستم هایی که از طرح فوق الذکر پیروی نمی کنند عبارتند از:
- CD-ROM ها معمولاً ساختار خاص خود را در بخش های بوت دارند. برای سیستم های سازگار با کامپیوتر IBM ، این به مشخصات El Torito بستگی دارد.
- نرم افزار C128 یا C64 روی دیسک های DOS Commodore که در آن داده های مربوط به آهنگ 1 ، Sector 0 با یک شماره جادویی مربوط به رشته "CBM" آغاز شد.
- رایانه های IBM Mainframe مقدار کمی از کد بوت را در ردیف اول و دوم سیلندر اول دیسک قرار می دهند و دایرکتوری root با نام Volume Table of Contents نیز در محل ثابت ردیف سوم از اولین قرار دارد. سیلندر دیسک.
- سایر سیستم های رایانه ای (سازگار با IBM) ممکن است دارای فرمت های مختلف بخش بوت در دستگاه های دیسک خود باشند.
عمل
اطلاعات بیشتر: Booting
در دستگاه های سازگار با کامپیوتر IBM ، BIOS از تمایز بین VBR ها و MBR ها و پارتیشن بندی نادان است. این سیستم عامل به سادگی بخش اول دستگاه ذخیره سازی را بارگیری و اجرا می کند. اگر دستگاه فلاپی یا فلش درایو USB باشد ، VBR خواهد بود. اگر دستگاه دیسک سخت باشد ، این یک MBR خواهد بود. این کد در MBR است که به طور کلی پارتیشن بندی دیسک را درک می کند ، و به نوبه خود ، مسئولیت بارگذاری و اجرای VBR هر بخش اصلی را دارد که بوت شود (پارتیشن فعال). سپس VBR یک بوت لودر مرحله دوم را از یک مکان دیگر روی دیسک بارگیری می کند.
علاوه بر این ، هر آنچه که در بخش اول یک فلاپی دیسک ، دستگاه USB ، دیسک سخت یا هر وسیله ذخیره سازی دیگر قابل ذخیره سازی ذخیره می شود ، لازم نیست در صورت وجود هر بار فوراً کد راه انداز راه انداز برای سیستم عامل را بارگیری کند. BIOS صرفاً کنترل هر آنچه در آنجا وجود دارد را کنترل می کند ، مادامی که این بخش در دو بایت گذشته صلاحیت بسیار ساده داشتن امضای ضبط بوت 0x55 ، 0xAA را داشته باشد. به همین دلیل است که می توان به راحتی جایگزین کردن کد معمول راه انداز موجود در MBR با لودرهای پیچیده تر ، حتی مدیران بزرگ راه انداز چند کاره (برنامه های ذخیره شده در جای دیگر در دستگاه است که بدون سیستم عامل قابل اجرا است) ، امکان انتخاب تعدادی از کاربران را فراهم می کند. در اتفاق بعدی با این نوع آزادی ، سوء استفاده اغلب در قالب ویروس های بخش بوت رخ می دهد.
ویروس های Boot Sector
از آنجا که کد در بخش بوت به صورت خودکار اجرا می شود ، بخش های بوت از نظر تاریخی یک وکتور حمله رایج برای ویروس های رایانه ای بوده اند.
برای مقابله با این رفتار ، سیستم بایوس معمولاً گزینه ای را برای جلوگیری از نوشتن نرم افزار به بخش اول هارد دیسک های متصل شامل می کند. از این طریق می توان از Master Boot Record که حاوی جدول پارتیشن است ، از رونویسی به طور تصادفی محافظت نکرد ، اما نه Volume Boot Records در پارتیشن های قابل بوت. بسته به BIOS ، تلاش برای نوشتن به بخش حفاظت شده ممکن است با یا بدون تعامل کاربر مسدود شود. با این حال ، بیشتر BIOS ها یک پیام بازشو را نشان می دهند که به کاربر فرصتی برای رد کردن تنظیمات می دهد. گزینه BIOS به طور پیش فرض غیرفعال است زیرا ممکن است پیام در حالت گرافیکی به درستی نمایش داده نشود و مسدود کردن دسترسی به MBR ممکن است باعث ایجاد مشکل در برنامه های راه اندازی سیستم عامل یا دسترسی به دیسک ، رمزگذاری یا پارتیشن بندی مانند FDISK شود ، که ممکن است برای آن نوشته نشده باشد از این امکان آگاه باشید ، و باعث شود آنها به طور غیرحضوری سقط شوند و احتمالاً پارتیشن بندی دیسک را در حالت متناقضی رها می کنند.
به عنوان نمونه ، نرم افزارهای مخرب NotPetya سعی در بدست آوردن امتیازات اداری بر روی یک سیستم عامل دارد و سپس سعی می کند بخش بوت رایانه را بازنویسی کند. CIA همچنین بدافزاری را ایجاد کرده است که سعی در تغییر بخش بوت به منظور بارگیری درایورهای اضافی دارد که توسط سایر بدافزارها مورد استفاده قرار می گیرند.