ثبت نام

به انجمن خوش آمدید

لطفاً برای دیدن تاپیک ها و محتوای سایت و شرکت در بحث ها در سایت ثبت نام کنید.

نمایش نتایج: از شماره 1 تا 1 , از مجموع 1
  1. #1
    كاربر عضو Array
    تاریخ عضویت
    Jun 2016
    نوشته ها
    54
    Thanks
    0
    Thanked 12 Times in 11 Posts

    پیش فرض MBR یا Master Boot Record چیست و چه کاربردی دارد؟

    آموزش رایگان
    MBR یا Master Boot Record چیست و چه کاربردی دارد؟



    سلام به همه شما دوستان و همراهان همیشگی هیوا
    در این آموزش و آموزش های بعدی می خواهیم به دو موضوع GPT و MBR از دنیای دیسک ها بپردازیم و با مفهوم، کاربرد و تفاوت این دو بیشتر آشنا شویم. در این آموزش به طور خاص به MBR یا Master Boot Record می پردازیم و به طور مفصل در مورد کارکرد آن بحث می کنیم. در این آموزش به پرسش های زیر پاسخ خواهیم داد که:


    • اصلا GPT و MBR چی هستند؟
    • چه زمانی با آن ها سر و کار خواهیم داشت؟
    • به چه دردی می خورند؟
    • MBR چگونه کار می کند؟
    • چه امکاناتی را برای ما فراهم می کند؟


    پیش از این که سیستم عاملی بر روی دیسک نصب کنیم باید دیسک را پارتیشن بندی کنیم. در هنگام پارتیشن بندی دیسک، تعیین می کنیم سایز پارتیشن چقدر باشد، با چه فایل سیستمی فرمت شود و این که بر روی کدام پارتیشن سیستم عامل نصب شود. اگر سیستم عامل را عوض کنیم باز هم آن پارتیشن ها در جای خود باقی هستند و سایز آن ها تغییری نمی کند. پس اطلاعات مربوط به پارتیشن ها و اندازه و سایز آن ها و فایل سیستم آن ها، مستقل از سیستم عامل است و با پاک شدن یا جایگزینی سیستم عامل، همچنان حفظ می شوند. پس این اطلاعات باید در جای خاصی ذخیره شود.

    GPT و MBR هر دو استاندارد هایی برای مدیریت پارتیشن ها و Volume ها بر روی دیسک هستند. قبل از این که پارتیشنی بر روی دیسک ایجاد کنیم، باید تعیین کنیم که با کدام روش می خواهیم پارتیشن ها و Volume های ما مدیریت شود؟ MBR یا GPT؟

    انتخاب GPT یا MBR برای یک دیسک مثل انتخاب [تنها کاربران عضو میتوانند لینک هارا مشاده کنند. ] است برای پارتیشن یا Volume !
    GPT یا MBR بودن فقط ویژه ویندوز نیست، بلکه این مساله مستقل از نوع سیستم عامل است و در سایر سیستم عامل ها نیز باید نوع GPT یا MBR بودن دیسک را مشخص کنیم.

    چه زمانی باید برای دیسک، MBR یا GPT بودن را انتخاب کنیم؟
    هنگامی که برای اولین بار یک دیسک خام را به کامپیوتر متصل می کنید، سیستم عامل از شما می پرسد که از چه Partition Style ای می خواهید استفاده کنید و شما با انتخاب MBR یا GPT، آن را تعیین می کنید.

    پس از تعیین MBR یا GPT، اگر بخواهید نوع آن را تغییر دهید باید نکات خاصی را مد نظر قرار دهید و فرایند تبدیل MBR به GPT و برعکس شرایط خاصی دارد که در آینده به آن ها خواهیم پرداخت.

    MBR یا Master Boot Record
    MBR مهمترین بخش بر روی دیسک است. MBR دربردارنده کدهای اجرایی است که شامل Master Boot Code، Disk Signature و Partition Table می باشد. در انتهای MBR یا Master Boot Record، 2 بایت به عنوان Signature Word وجود دارد که عدد آن 0x55AA است.

    Disk Signature
    Disk Signature عددی یکتاست که در آدرس منطقی 0x01b8 قرار دارد و کار آن شناساندن دیسک به سیستم عامل است.

    Master Boot Code
    Master Boot Code که بخشی از MBR است، کارهای زیر را انجام می دهد:

    • اسکن کردن Partition table برای یافتن پارتیشن Active
    • یافتن اولین سکتور از پارتیشن Active
    • بارگذاری یک کپی از Boot Sector در RAM
    • انتقال کنترل سیستم به کدهای اجرایی Boot Sector


    اگر به هر دلیلی Master Boot Code نتواند فرآیند های بالا را انجام دهد، در این صورت سیستم، یک از پیام های زیر را نشان می دهد:
    • Invalid partition table
    • Error loading operation system
    • Missing operation system

    بر روی فلاپی ها MBR وجود ندارد. اولین سکتور در آن ها Boot Sector است. همچنین در بسیاری از هارد دیسک های که دربردارنده MBR هستند، تنها زمانی از Master Boot Code استفاده می شود که دیسک دارای پارتیشن Active از نوع Primary باشد.

    Partition Table
    جدول پارتیشن یا Partition Table یک ساختمان داده 64 بایتی است که به کمک آن می توان موقعیت و نوع پارتیشن ها را بسته به سیستم عامل، بر روی دیسک شناسایی کرد.
    هر بخش از Partition Table، 16 بایت است؛ پس حداکثر ظرفیت این جدول، 4 بخش است.
    هر یک از بخش ها از Offset از قبل تنظیم شده نسبت به اولین سکتور، قابل دسترسی هستند. این آدرس ها به شرح زیر است.

    Partition 1 \ 0x01B = (446)
    Partition 2 \ 0x01C = (462)
    Partition 3 \ 0x01D = (478)
    Partition 4 \ 0x01E = (494)
    نکته:
    تنها در دیسک های Basic از Partition Table استفاده می شود. دیسک های Dynamic با استفاده از Database ای که در انتهای هر دیسک نگهداری می شود پیکربندی دیسک را شناسایی می کند. در آموزش های آینده به دیسک های Basic و Dynamic و تفاوت این دو با هم خواهیم پرداخت.

    مثال: در زیر بخشی از MBR را می بینید که بیان گر Partition Table کامپیوتری است که دارای 3 پارتیشن است.
    هنگامی که تعداد پارتیشن ها کمتر از 4 عدد باشد، هر 16 بایت مربوط به پارتیشینی که وجود ندارد، با عدد 0 پر می شود.

    000001B0: 80 01 ..
    000001C0: 01 00 07 FE BF 09 3F 00 - 00 00 4B F5 7F 00 00 00 ......?...K....
    000001D0: 81 0A 07 FE FF FF 8A F5 - 7F 00 3D 26 9C 00 00 00 .........=&....
    000001E0: C1 FF 05 FE FF FF C7 1B - 1C 01 D6 96 92 00 00 00 ................
    000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 ..............

    جدول زیر اعدادی را که در Partition Table مثال بالا وجود دارد توصیف می کند. در این جدول پارتیشن اول را برای نمونه انتخاب کردیم و اعداد و معنی آن ها را بررسی می کنیم:

    عنوان فیلد و تعریف آن مقدار عدد اندازه عدد Byte Offset (آدرس منطقی بایت)
    Boot Indicator.
    شناساگر پارتیشن Active.
    اگر 00 باشد یعنی پارتیشن Active نیست.
    اگر 80 باشد یعنی پارتیشن Active است.
    0x80 Byte 0x01BE
    Starting Head 0x01 Byte 0x01BF
    Starting Sector
    از بیت 0 تا 5. بیت های 6 و 7 در Starting Cylinder استفاده می شود.
    0x01* 6 bit 0x01C0
    Starting Cylinder
    بایت دوم و دو بیت آخر از بایت اول، این فیلد را می سازند. بیشترین مقداری که در فیلد Starting Cylinder جای می گیرد 1023 است.
    0x00* 10 bit 0x01C1
    System ID
    مقادیر این فیلد، نوع Volume را تعیین می کند. در جدول بعدی این مقادیر آورده شده اند.
    0x07 Byte 0x01C2
    Ending Head 0xFE Byte 0x01C3
    Ending Sector
    از این بایت تنها 6 بیت اول استفاده می شود.
    0xBF* 6 bit 0x01C4
    Ending Cylinder
    بایت ششم و دو بیت آخر از بایت پنجم، این فیلد را می سازند. بیشترین مقداری که در فیلد Ending Cylinder جای می گیرد 1023 است.
    0x09* 10 bit 0x01C5
    Relative Sectors
    فاصله شروع دیسک تا شروع Volume .
    شمارش بر اساس تعداد سکتور.
    0x3F000000 DWORD 0x01C6
    Total Sectors
    تعداد کل سکتورهایی که در Volume قرار دارد در این فیلد 32 بیتی قرار می گیرد.
    0x4BF57F00 DWORD 0x01CA


    یادآوری:

    BYTE = 8 bit
    WORD = 16 bit
    DWORD = 32 bit
    نکته:


    در جدول بالا علامت ستاره “*” برای توجه به این نکته است که مقدار فیلد، 6 بیتی یا 10 بیتی است.


    اعداد بزرگتر از یک بایت به روش Little endian ذخیره می شوند. یعنی کم ارزش ترین بایت زودتر نوشته می شود. برای مثال در جدول بالا در فیلد مربوط به Relative Sectors که یک عدد DWORD است عدد 0x3F000000 نوشته شده است. این عدد به روش Little endian نوشته شده. یعنی کم ارزش ترین بایت در سمت چپ هستند. اگر بخواهیم آن را به روش نرمال بنویسیم، به صورت 0x0000003F نوشته می شود و معادل دسیمال آن، 63 است.


    فیلد System ID
    جدول راهنما برای مقادیر System ID

    همانطور که در جدول بالا دیدید، System ID بخشی از Partition Table است. اطلاعاتی که از این فیلد به دست می آید:
    • Volume با چه File System ای فرمت شده است؟ (FAT، FAT32، NTFS و...)
    • آیا پارتیشن Extended بر روی دیسک ایجاد شده یا نه؟

    ویندوز 2000 از System ID برای تعیین اینکه چه File System Device Driver ای را در هنگام بالا آمدن ویندوز بارگزاری کند، استفاده می کند. (File System Device Driver با Device Driver متفاوت است.)


    منبع: سایت هیوا شبکه

  2. The Following User Says Thank You to twinkle For This Useful Post:

    website1.ir (01-07-2020)

 

 

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

     

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
Back to Top